前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javaservlet处理四种常用api请求get,put,post,delete

javaservlet处理四种常用api请求get,put,post,delete

作者头像
用户2038589
发布2018-09-06 15:30:28
2.2K0
发布2018-09-06 15:30:28
举报
文章被收录于专栏:青青天空树

  一般在网站搭建中servlet只需处理post,get请求便足已。本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理。

  在api中对于一个请求要做的通常是提取header参数,提取携带数据(post,put)。在这里已post为例来说明用法。

  下面是发起的post请求,用python(很简单)写的,该请求既有自定义header参数Bearer,也有携带数据bodys里的内容

代码语言:javascript
复制
import json
import requests

taken='YWMtoWBEBAFOEeei0SdHniRB6QAAAAAAAAAAAAAAAAAAjwAU4R56atn3HZQyagAgMAAAFanGEFTABPGgAqPOaU00kjW851AIpsKCuT8jAG1PqHyBpY6y5vOgk1zg'
headers = {'Accept': 'application/json','Content-Type':'application/json','Authorization':'Bearer '+taken}
bodys={'username':'test5','password':'123456'}
url='http://localhost:8080/xiaoyanAPI'
response=requests.post(url,data=json.dumps(bodys),headers=headers)
print response.text

  下面是处理post请求代码

代码语言:javascript
复制
 1 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 2         //打印某一个header
 3         System.out.println(request.getHeader("Authorization"));
 4         System.out.println();
 5         //获取header参数名,并打印出内容
 6         Enumeration<String> s=request.getHeaderNames();
 7         String str;
 8         while((str=s.nextElement())!=null)
 9             System.out.println(request.getHeader(str));
10         System.out.println();
11         //获取post携带数据流
12         String acceptjson;
13         try {
14             BufferedReader br = new BufferedReader(new InputStreamReader( (ServletInputStream) request.getInputStream(), "utf-8"));  
15                         StringBuffer sb = new StringBuffer("");  
16                         String temp;  
17                         while ((temp = br.readLine()) != null) {  
18                             sb.append(temp);  
19                         }  
20                         br.close();  
21                         acceptjson = sb.toString();  
22                         System.out.print(acceptjson);
23                     } catch (Exception e) {  
24                         e.printStackTrace();    
25                     }
26     }

  其他三种请求处理方式类似。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档