javaWeb的Response和Request基础

1  Response

   a 发送错误响应

      .sentError() //有一个参数的和2个参数的

   b  设置响应头

     .setHeader(String name,String value) //还有好几个,这里只介绍一个

      响应重定向:302过程?

//        302 The first one
//        response.setStatus(302);
//        response.setHeader("Location",request.getContextPath()+"/index.jsp");
//        302  The Second
          response.sendRedirect("/pra/index.jsp");

      响应定时刷新指定页面(相当于定时重定向):

//        Regularly updated  
          response.setHeader("Refresh", "5;url="+request.getContextPath()+"/index.jsp");

   c  响应体的字节流/字符流

   d  request的域属性 其与session和application并称为三大域,每一个域都有自己的setAttribute() getAttribute() removeAttribute()的方法

   e  响应编码

      服务器在发送时要设置 setCharacterEncording("utf-8") 和 setContentType("text/html;characster=utf-8")

      这样浏览器(客户端)在获取后才能正常编码

2  Request

  a  获取IP/request Method/浏览器的种类(识别用户)/Refer 防盗链

//        获取主机名等东西
//        System.out.println(request.getRemoteAddr());
//        System.out.println(request.getMethod());
//        System.out.println(request.getLocalAddr());
//        System.out.println(request.getHeader("User-Agent"));
//        System.out.println(request.getHeader("Refer"));

  b 获取URL的相关方法

  c  请求参数  不论get还是post都可以获取请求参数的

    GET中:参数在url之后

      http://localhost:8080/pra/Aservlet?one=123&two=3213 //参数和url之间用 ? 连接,参数之间用 & 连接,参数名与值之间用 = 连接

    POST中:参数在请求体中

  d  forward/include 请求转发过程?

    forward:只保留前一个Servlet的头信息,不保留其体,第一个的请求体不能太大

    includ中:既保留前一个servlet的header,有保留其 体

    forwark/include 和 重定向的关系?

      重定向:在不同请求中,可能会改变servlet(request和response)

      forward/include:在同一请求中,request和response对象不会改变

  f  请求编码

      ▶ 在页面提交表单时,如果你的页面是utf-8类型的,那么你传递的参数就是utf-8类型的

      ▶ POST请求:setCharacterEncording("utf-8") 和 setContentType("text/html;characster=utf-8")

      ▶ GET请求:我们运用java的字符串自己搞吧

3 路径问题

  ▶ 在请求转发/包含中

      服务器端路径

      以 / 开头:相当于在 项目名

      不以 / 开头:相当于当前路径

  ▶ 重定向/超链接/表单

      客户端路径

      以 / 开头:域名+端口号

      不以 / 开头:相当于当前路径

  ▶ Class

      .getResourceAsStream()

      以 /开头:与classLoader不加 / 一样

      不以 /开头:当前class所在路径

  ▶ ClassLoader

      .getResourceAsStream()

      相当于class 路径,不能以 /开头

  ▶ ServletContext

      当前项目目录,即index.jsp 所在路径

 

    

  

               

    

原文地址:https://www.cnblogs.com/zzl521/p/9195917.html