zoukankan      html  css  js  c++  java
  • response和request

    .服务器处理请求的流程:
    服务器每次接收到一个新的请求时,都会为这个请求开辟一个新的线程
    服务器把客户端的请求数据封装到request对象中,request就是请求数据的载体
    服务器还会创建response对象,这个对象与客户端连接在一起,他可以用来向客户端发出响应。


    1.response

    response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户端的响应工作。

    response对象的功能分为以下四种:
    设置响应头信息;
    发送状态码;
    设置响应正文;
    重定向;

    二、重定向:
    1、 重定向是两次请求;
    2、 重定向的URL发生变化
    3、 重定向的响应头为302,并且必须要有Location响应头;

    response.setStatus(302); 
    response.setHeader("Location", "http://www.itcast.cn"); 
    //客户端浏览器解析到响应码为302后,就知道服务器让它重定向,所以它会马上获取响应头Location,然发出第二个请求。  
    response.sendRedirect()方法会设置响应头为302,以设置Location响应头。
    //如果要重定向的URL是在同一个服务器内,那么可以使用相对路径
    //response.sendRedirect("/hello/BServlet");

    三、request概述
    request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest。在客户端发出每个请求时,服务器都会创建一个request对象,并把请求数据封装到request中,然后在调用Servlet.service()方法时传递给service()方法,这说明在service()方法中可以通过request对象来获取请求数据
    1、request常用方法有:


    String getParameter(String name):获取指定名称的请求参数值,适用于单值请求参数
    String[] getParameterValues(String name):获取指定名称的请求参数值,适用于多值请求参数
    Map<String,String[]> getParameterMap():获取所有请求参数,其中key为参数名,value为参数值。
    请求转发: RequestDispatcher rd
    = request.getRequestDispatcher("/MyServlet");
    rd.forward(request,response);

    2、request域
    Servlet中三大域对象:request、session、application,都有如下三个方法:
         void setAttribute(String name, Object value)
         Object getAttribute(String name)
         void removeAttribute(String name);
    同一请求范围内使用request.setAttribute()、request.getAttribute()来传值!前一个Servlet调用setAttribute()保存值,后一个Servlet调用getAttribute()获取值。

  • 相关阅读:
    185. [USACO Oct08] 挖水井
    JavaEE Tutorials (9)
    vjudge A
    HDU 2089 不要62
    国庆 day 2 下午
    国庆 day 2 上午
    国庆 day 1 下午
    P2899 [USACO08JAN]手机网络Cell Phone Network
    洛谷 P1690 贪婪的Copy
    洛谷 P2209 [USACO13OPEN]燃油经济性Fuel Economy
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10634528.html
Copyright © 2011-2022 走看看