美文网首页
知识学习——Servlet请求与响应

知识学习——Servlet请求与响应

作者: XueFengPlay | 来源:发表于2017-12-04 14:43 被阅读0次

HttpServletResponse对象

继承于ServletResponse接口,专门用于封装HTTP响应消息。由于HTTP响应消息分为状态行、响应消息头、消息体三部分,所以HttpServletResponse接口定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。

1.发送状态码相关的方法

  • setStatus(int status) 设置HTTP响应消息的状态码,并生成响应状态行。
  • setError(int status) setError(int status,String mesage) 发送表示错误信息的状态码,message用于提示说明的文本信息

2.发送响应消息头相关的方法

这里写图片描述
这里写图片描述

3.发送响应消息体相关的方法

  • ServletOutputStream getOutputStream() 用于输出字节数组中的二进制数据
  • PrintWriter getWriter() 用于输出字符文本内容
//getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。  
String data="test"
//OutputStream w=new getOutputStream()
//w.writer(data.getBytes())
PrintWriter w=new getWriter();
w.writer(data);

4.解决中文输出乱码

response.setContentType("text/html;charset=utf-8");

5.网页重定向

response.sendRedirect("../test.jsp");

客户发送一个请求到服务器,服务器匹配servlet,servlet处理完之后调用了response的sendRedirect()方法,当这个servlet处理完之后,看到response.senRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端必须要再发送一个请求,去访问test.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求test.jsp,这里两个请求互不干扰,相互独立。所以,在sendRedirect()里面是两个请求,两个响应。

HttpServletRequest对象

继承于ServletRequest接口,专门用于封装HTTP请求消息。由于HTTP请求消息分为请求行、请求消息头、请求消息体三部分,所以HttpServletResquest接口定义了获取请求行、请求消息头、请求消息体的方法。

1.相关方法

这里写图片描述
这里写图片描述
这里写图片描述

2.获取请求参数

  • String getParameter(String name) 根据name返回参数值
  • String[] getParameterValues(String name) 返回相同名称的多个参数值
  • Enumeration getParameterNames() 返回所有参数名
  • Map getParameterMap() 所以参数名和值装入Map对象并返回

3.通过request对象传递数据

  • void setAttribute(String name,Object obj) 传入对象姓名和对象
  • Object getAttribute(String name) 根据对象名字得到对象
  • void removeAttribute(String name) 根据名字删除对象
  • Enumeration getAttributeNames() 得到request中所以的对象名字

4.解决中文输出乱码

//此方法只在doPost中生效
request.setCharacterEncoding("utf-8");

//在doGet方法中中文要先转换,或者在Tomcat中配置,或者写一个过滤器解决
String a=new String(request.getParameter("a").getBytes("ISO-8859-1"),"utf-8");

5.请求转发

request.getRequestDispatcher("/test.jsp").forward(request, response);

客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的test.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在jsp中都能取出来,因此,jsp能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。

Servlet HTTP 状态码

这里写图片描述
这里写图片描述
这里写图片描述

相关文章

  • 知识学习——Servlet请求与响应

    HttpServletResponse对象 继承于ServletResponse接口,专门用于封装HTTP响应消息...

  • Servlet

    Servlet简介: Servlet响应客户请求过程: Servlet容器响应客户请求的过程: Servlet生命...

  • 请求和响应的装饰

    请求和响应的装饰 Servlet API 中有4个包装类,可以用来改变Servlet请求和Servlet响应的行为...

  • 网络教程

    http协议包括 请求协议:请求行、请求头、请求体 响应协议:响应行、响应头、响应体 servlet

  • Spring MVC如何映射静态文件

    前提知识:Servlet容器如Tomcat, Jetty等要映射请求,都是只能通过Servlet来响应处理的。像j...

  • httprequest response

    请求 响应 servlet doGet(HttpServletR...

  • servlet

    什么是servlet servlet服务端小程序,可以处理用户的请求与响应servlet本质是一个java程序,外...

  • Servlet学习笔记(一):Servlet的请求与响应

    客户端浏览器发送一个请求,服务器作出一系列操作后作出一个响应,发送给客户端,完成一次Web过程操作。Web编程的过...

  • 微信公众号消息自动回复中文乱码问题

    设置servlet请求和响应为utf-8,如下:

  • servlet

    servlet的作用:接收请求数据,处理请求,完成响应。 servlet的大多数方法不由我们调用,而是tomcat...

网友评论

      本文标题:知识学习——Servlet请求与响应

      本文链接:https://www.haomeiwen.com/subject/xbkxixtx.html