javaservlet处理四种常用api请求get,put,post,delete
2024-08-26 07:07:00
一般在网站搭建中servlet只需处理post,get请求便足已。本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理。
在api中对于一个请求要做的通常是提取header参数,提取携带数据(post,put)。在这里已post为例来说明用法。
下面是发起的post请求,用python(很简单)写的,该请求既有自定义header参数Bearer,也有携带数据bodys里的内容
import json
import requests taken='YWMtoWBEBAFOEeei0SdHniRB6QAAAAAAAAAAAAAAAAAAjwAU4R56atn3HZQyagAgMAAAFanGEFTABPGgAqPOaU00kjW851AIpsKCuT8jAG1PqHyBpY6y5vOgk1zg'
headers = {'Accept': 'application/json','Content-Type':'application/json','Authorization':'Bearer '+taken}
bodys={'username':'test5','password':''}
url='http://localhost:8080/xiaoyanAPI'
response=requests.post(url,data=json.dumps(bodys),headers=headers)
print response.text
下面是处理post请求代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//打印某一个header
System.out.println(request.getHeader("Authorization"));
System.out.println();
//获取header参数名,并打印出内容
Enumeration<String> s=request.getHeaderNames();
String str;
while((str=s.nextElement())!=null)
System.out.println(request.getHeader(str));
System.out.println();
//获取post携带数据流
String acceptjson;
try {
BufferedReader br = new BufferedReader(new InputStreamReader( (ServletInputStream) request.getInputStream(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
br.close();
acceptjson = sb.toString();
System.out.print(acceptjson);
} catch (Exception e) {
e.printStackTrace();
}
}
其他三种请求处理方式类似。
最新文章
- PDA手持机 移动开单进销存系统 现场出打印凭据和扫码 新的亮点
- cordova添加platform
- jquery实现智能表单
- IIS 无法打开页面,只能重启的问题
- Diamond Armor - The most expensive Suit: 2.8 Mio Swiss Francs
- Asterisk 未来之路3.0_0001
- STL sort函数的用法
- Scala从入门到精通之四-映射和元组
- linux shell中单引号、双引号、反引号、反斜杠的区别
- WampServer &; XAMPP Configure with MariaDB and MySQL
- Java编程思想 学习笔记1
- 【leetcode】13-Roman2Integer
- ML: 聚类算法R包-网格聚类
- IIS中采用ISAPI-Rewrite防盗链
- kill 的常用信号
- [转载]文件系统缓存dirty_ratio与dirty_background_ra
- python学习笔记(5)--泡菜:永久存储
- 20165324 Java实验一
- javascript的八张思维导图
- SDK 开发 .a .framework .bundle (xcode引用) 依赖sdk工程