请求对象和响应对象
介绍
1、请求对象,代表客户端的请求,当客户端通过Http协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中;响应对象,代表对客户端的响应
2、HttpServletRequest、HttpServletResponse接口,来自Servlet规范,接口的实现类由Tomcat负责,由Servlet容器实现管理
数据格式
常用方法
request
1、获取请求行中的请求文件地址:String getRequestURL()
2、获取请求行中的请求方式:String getMethod()
3、获取请求类型:String getContentType()
【如果请求是GET,则返回null;如果是POST请求,默认为application/x-www-form-urlencoded(表单提交)、multipart/form-data(用于文件上传)、application/json(以json对象的格式传递)、text/xml】
4、获取当前协议包中的所有请求参数名称:Enumeration getParameterNames()
5、读取请求头或请求体中参数内容:
单个值:String getParamter();
多个关联值:String[] getParamterValues();
6、获取请求内容值,【使用该方法后,无法再调用request.getParameter()获取请求内容】:ServletInputStream getInputStream();
response
1、向客户端写入cookie:void addCookie(Cookie cookie)
2、设置相应的MIME类型:void setContextType(String type)
3、设置相应的字符编码类型:void setCharaterEncoding(String charset)
4、返回一个输出字符流:PrintWriter getWriter()
5、返回一个二进制输出字节流:ServletOutputStream getOutputStream()
6、实现重定向:void sendRedirect(String location)
作用
1、 请求转发:在服务器端实现,web资源收到客户端请求后,通知服务器去调用另一个web资源进行处理,该过程结束后浏览器的地址栏保持不变
2、 重定向:在客户端实现,web资源收到客户端请求后,通知客户端的浏览器去访问另一个web资源,该过程结束后浏览器的地址栏发生改变;生成了新的request对象和response对象【实现重定向的两种方法如下】
生命周期
创建:当Tomcat收到浏览器的请求时时,就会为这个请求协议包创建一对【请求对象】和【响应对象】,在Tomcat中调用被请求的Servlet中的服务方法(doGet、doPost)时,负责将本次的请求对象和响应对象作为参数传入到服务方法中;
销毁:在服务方法工作完毕后,Tomcat负责销毁。
有效期:request对象只在一次请求中有效,即从http请求到服务器处理结束;response对象只在JSP页面内有效
at负责销毁。
有效期:request对象只在一次请求中有效,即从http请求到服务器处理结束;response对象只在JSP页面内有效
具体创建过程参考:https://blog.csdn.net/liuyang_520/article/details/77018913
https://blog.csdn.net/aesop_wubo/article/details/7630440?tdsourcetag=s_pctim_aiomsg