ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Servlet06.HttpServletResponse

2022-01-10 09:31:34  阅读:153  来源: 互联网

标签:请求 Servlet 前端 HttpServletResponse 响应 ----- Servlet06


Servlet06.HttpServletResponse

一、 doGet()和doPost()

Servlet处理请求可以重写的方法:

  1. service():get/post都会进入service()
  2. doGet():专门处理get请求
  3. 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开发的一个组件:

  1. 接收客户端请求:HttpServletRequest(对应HTTP协议的请求阶段)

            本质上是tomcat接收请求-----tomcat反射创建Servlet对象-----反射调用Servlet对象的-----service()方法

  1. 对请求进行响应: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有