• 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 所在路径

     

        

      

                   

        

  • 相关阅读:
    Thread与Handler
    开始机顶盒的生涯
    解决布局被键盘顶的难题
    自动滚动的Textview
    2-解决粘包问题
    1-socket编程
    zipfile模块
    subprocess模块
    day31-异常处理
    collections模块
  • 原文地址:https://www.cnblogs.com/zzl521/p/9195917.html
Copyright © 2020-2023  润新知