zoukankan      html  css  js  c++  java
  • 解析Request和Response

    简介:

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向容器输出数据,只需要找response对象就行了。

    HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法

    Response常见应用:

    向客户端输出中文数据 用PrintWriter(字符流)发送数据:

    示例:response.getWriter().write(“中国” );有没有乱码? 原因:以默认编码发送数据 ISO-8859-1(没有中国二字编码),此时会发生乱码 解决办法: 通过设置响应头告知客户端编码方式:

    response.setHeader("content-type", "text/html;charset=UTF-8");//告知浏览器数据类型及编码

    response.setCharacterEncoding("UTF-8");//告诉服务器应用使用UTF-8解析文本注意:不要忘记告诉客户端的编码方式。 由于经常改动编码,response提供了一种更简单的方式 response. setContentType(“text/html;charset=UTF-8”);其作用相当于以上两条代码。

    发送http头,控制浏览器定时刷新网页 1、输出一个随机数,控制浏览器每2S刷新一次 2、利用Refresh刷新到其他组件。模拟注册页面,注册处理交由一个Servlet,在Servlet处理完成后,显示注册成功并转向主页。(meta也可实现)

    通过response实现请求重定向。 请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。 地址栏会变,并发送2次请求,增加服务器负担 实现方式 response.sendRedirect() 同样是发送一个请求给服务器端资源,这个服务器资源会首先给客户端一个响应,客户端再根据这个响应当中所包含的地址,再次向服务器端发送一个请求,也就是说客户端跳转是两次请求,两次响应;

    Request常用方法:

    获得客户机请求参数(客户端提交的数据)

    getParameter(name)方法

    getParameterValues(String name)方法

    1.各种表单输入项数据的获取 text、password、radio、checkbox、 file、select、textarea、 hidden、 image、button给js编程用 2. 2.请求参数的中文乱码问题 浏览器是什么编码就以什么编码传送数据 解决:告诉服务器要使用什么编码request.setCharacterEncoding(“UTF-8”);//POST有效 只针对post提交

    new String(username.getBytes(“ISO-8859-1”),“UTF-8”);//GET方式 超链接:<a href=“/JavaWeb/RequestDemo2?name=中国”>cn</a>//GET方式 更改Tomcat的配置解决URL编码问题:<Connector URIEncoding=“UTF-8”/>

    3.request对象实现请求转发:请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。 request对象提供了一个getRequestDispatcher方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。 request对象同时也是一个域对象,开发人员通过request对象在实现转发时,把数据通过request对象带给其它web资源处理。 setAttribute方法 getAttribute方法   removeAttribute方法

    request和response的区别

    request(转发):服务器端跳转;地址栏不发生变化(地址栏是初次发出的请求的地址)

    response(重定向):客户端跳转;地址栏发生变化(地址栏为最后发出请求的地址)

    request:转发web项目的根目录 response:重定向任何资源

    request:/转发web项目的根目录 response:/重定向web应用的根目录

  • 相关阅读:
    67. Add Binary
    66. Plus One
    64. Minimum Path Sum
    63. Unique Paths II
    How to skip all the wizard pages and go directly to the installation process?
    Inno Setup打包之先卸载再安装
    How to change the header background color of a QTableView
    Openstack object list 一次最多有一万个 object
    Openstack 的 Log 在 /var/log/syslog 里 【Ubuntu】
    Git 分支
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767547.html
Copyright © 2011-2022 走看看