JavaWeb中request与response的认知

来源:互联网 发布:淘宝店铺未来发展趋势 编辑:程序博客网 时间:2024/04/27 22:51

了解request和response之前先了解一下http协议:

  http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范

  请求方式

  常见的请求方式: GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE

  常用的请求方式:GET 和 POST

  表单提交:

  GET vs POST 区别

  1)GET方式提交

  a)地址栏(URI)会跟上参数数据。以?开头,多个参数之间以&分割。

  b)GET提交参数数据有限制,不超过1KB。

  c)GET方式不适合提交敏感密码。

  d)注意: 浏览器直接访问的请求,默认提交方式是GET方式

  2)POST方式提交

  a)参数不会跟着URI后面。参数而是跟在请求的实体内容中。没有?开头,多个参数之间以&分割。

  b)POST提交的参数数据没有限制。

  c)POST方式提交敏感数据。


  HttpServletRequest对象


  HttpServletRequest对象作用是用于获取请求数据。

  核心的API:

  请求行:

  request.getMethod(); 请求方式

  request.getRequetURI() / request.getRequetURL() 请求资源

  request.getProtocol() 请求http协议版本

  请求头:

  request.getHeader("名称") 根据请求头获取请求值

  request.getHeaderNames() 获取所有的请求头名称

  实体内容:

  request.getInputStream() 获取实体内容数据

  核心的API:

  request.getParameter("参数名"); 根据参数名获取参数值(注意,只能获取一个值的参数)

  request.getParameterValue("参数名“);根据参数名获取参数值(可以获取多个值的参数)

  request.getParameterNames(); 获取所有参数名称列表

  3.9 请求参数编码问题

  修改POST方式参数编码:

  request.setCharacterEncoding("utf-8");

  修改GET方式参数编码:

  手动解码:String name = new String(name.getBytes("iso-8859-1"),"utf-8");


  HttpServletResponse对象


  HttpServletResponse对象修改响应信息:

  响应行:

  response.setStatus() 设置状态码

  响应头:

  response.setHeader("name","value") 设置响应头

  实体内容:

  response.getWriter().writer(); 发送字符实体内容

  response.getOutputStream().writer() 发送字节实体内容

      请求重定向

  response.sendRedirect(String path);//请求重定向(相当于超链接跳转页面)

       定时刷新

  response.setHeader(String name, String value)//每隔1秒刷新次页面

  response.setHeader("refresh", "3;url=/day09/adv.html");//隔n秒之后跳转另外的资源

  总结:

  request请求对象:

  使用HttpServletRequest对象: 获取请求数据

  response响应对象:

  使用HttpServletResponse对象: 设置响应数据

0 0