Servlet06.HttpServletResponse
作者:互联网
Servlet06.HttpServletResponse
一、 doGet()和doPost()
Servlet处理请求可以重写的方法:
- service():get/post都会进入service()
- doGet():专门处理get请求
- doPost():专门处理post请求
总结:
第一种方式:只重写service()
第二种方式:重写doGet()/doPost()
二、 HttpServletResponse详解
2.1 HttpServletResponse生命周期
生:
一个请求进入tomcat时HttpServletResponse随着HttpServletRequest对象一起创建:
HttpServletResponse对象专门负责对客户端请求进行响应的:
实际开发中:有请求就一定要有响应。
活:
整个处理过程+响应过程(前端看到响应数据之前)
死:
响应完毕后:前端看到响应数据之后
一个请求也对应一个HttpServletResponse:
再次发请求,创建新的HttpServletResponse对象。
2.2 响应头
1.响应头常见属性
Connection: keep-alive
Content-Length: 54
Content-Type: text/html;charset=utf-8//请求和响应都有Content-Type
Date: Fri, 07 Jan 2022 02:01:31 GMT//响应时间
Keep-Alive: timeout=20//timeout:连接超时时间,单位是毫秒
2.如何修改响应头的值:
I. response.setContentType("content-type值"):
只能用于修改Content-Type:
Content-Type常用值:MIME:前后端进行数据交互的类型
大类型/小类型
text/html;charset=utf-8
video/avi
image/jpg
application/json;charset=utf-8
II.response.setHeader(key,新值)
2.3 响应体
响应体:后端给前端响应的数据
2.4 文件下载(后端传输图片到前端页面)
1.前端页面中的url需要包含文件名:
发送文件名给后端----->根据文件名----->确定要下载的文件
2.Servlet:
I.获取要下载的文件名:
如果文件名中带有中文:使用iso-8859-1编码得到一个乱码,并把乱码字符给到前端
II. 前端接收到下载的文件名后:
III. 确定从哪复制:从tomcat应用里的某个文件复制:sourceFile:
IV.确定复制到哪
V. 进行文件复制:
三、Servlet总结
1.Servlet是什么:
JavaEE开发的一个组件:
- 接收客户端请求:HttpServletRequest(对应HTTP协议的请求阶段)
本质上是tomcat接收请求-----tomcat反射创建Servlet对象-----反射调用Servlet对象的-----service()方法
- 对请求进行响应:HttpServletResponse(对应HTTP协议的响应阶段):
HTTP协议响应阶段:
响应头:key-value
响应体:响应数据
响应状态码:Status Code
常见的HTTP协议状态码:
200 OK(无错误)
404 未找到:一般原因为请求路径错误
500 服务器代码出错:Java代码错误
400 错误请求:请求参数有误 ajax
402/403:重定向状态码
2.Servlet核心API:
如何重写service():处理请求并响应
I.请求API:
Request.getParameter(“请求参数名”):String
Request.getParameterValues(“请求参数名”):String[]
Request.getParameterMap():Map<String,String[]>
案例:登录,注册,上传
II.响应API:
response.getWriter():PrintWriter
使用PrintWriter.print(“字符串“):向前端响应字符串
response.getOutputStream():OutputStream:
向前端响应二进制数据:文件下载
标签:请求,Servlet,前端,HttpServletResponse,响应,-----,Servlet06 来源: https://www.cnblogs.com/ztxcn/p/15777516.html