zoukankan      html  css  js  c++  java
  • HttpServletRequest

      在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。

    request的运行流程

     通过抓包工具抓取Http请求

       因为request代表请求,所以我们可以通过该对象分别获得Http请求的请求行,请求头和请求体

    通过request获得请求行

      获得客户端的请求方式:String getMethod()

      获得请求资源:

        String getRequsetURI()

        StringBuffer getRequestURL()

        String getContextPath()  --web应用的名称

        String getQueryString()  --get提交url地址后的参数字符串

          username=zhangsan&password=123

      注意:request获得客户机(客户端)的一些信息

        request.getRemoteAddr()  --获得访问的客户端IP地址

    通过request获得请求头

      long getDateHeader(String name)

      String getHeader(String name)

      Enumeration getHeaderNames()

      Enumeration getHeaders(String name)

      int getIntHeader(String name)

      referer头的作用:获取该访问的来源做防盗链

    通过request获得请求体

      请求体中的内容通过post提交的请求参数,格式是:

      username=zhangsan&password=123&hobby=football&hobby=basketball

        key-----------------value

        username   [zhangsan]

        password   [123]

        hobby      [football,basketball]

      以上面参数为例,通过一下方法获得请求参数:

        String getParameter(String name)

        String[] getParameterValues(String name)

        Enumeration getParmeterNames()

        Map<String,String[]> getParameterMap()

      注意:get请求方式的请求参数 上述的方法一样可以获得

        解决post提交方式的乱码:request.setCharacterEncoding("UTF-8");

        解决get提交方式的乱码:parameter=new String(parameter.getbytes("iso8859-1"),"utf-8");

     request的其他功能

      1.request是一个域对象

        request对象也是一个储存数据的区域对象,方法:

        setAttribute(String name,Object o)

        getAttribute(String name)

        removerAttribute(String name)

        注意:request域的作用范围:一次请求中

      2.request完成请求转发

        获得请求转发器----path是转发的地址

        RequestDispatcher getRequestDispatcher(String path)

        通过转发器对象转发

        requestDispathcer.forward(ServletRequest request,ServletResponse response)

        

  • 相关阅读:
    com.android.ide.common.process.PrecessException:org.gradle.process....finished with non-zero exit value 1
    android 学习笔记(1)
    C#遍历指定文件夹中的所有文件(转)
    让TextView里面的文字逐个显示的动画效果实现(1)
    This Handler class should be static or leaks might occur(null) 解决办法 (转)
    Android开发 旋转屏幕导致Activity重建解决方法(转)
    SQLite 数据库
    【Android】error opening trace file: No such file or directory (2)
    WPF中的RichTextBox
    android中的 Toast 和 AlertDialog
  • 原文地址:https://www.cnblogs.com/wode007/p/13501845.html
Copyright © 2011-2022 走看看