• HttpServletRequest


     1 @Override
     2     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     3 
     4         /*解决请求乱码*/
     5         request.setCharacterEncoding("UTF-8");
     6 
     7         /*常用方法*/
     8         /*获取项目名*/
     9         System.out.println("项目名:"+request.getContentType());
    10         /*获取客户机的地址*/
    11         System.out.println("客户机的地址:" + request.getRemoteAddr()+":"+request.getRemotePort());
    12 
    13         /*获取请求头的信息*/
    14 
    15         /*获取请求方式是*/
    16         System.out.println("请求方式:"+request.getMethod());
    17 
    18         /*获取请求的web项目名*/
    19         System.out.println("web项目名:"+request.getContextPath());
    20 
    21         /*获取指定名称请求头*/
    22         System.out.println("User-Agent头:"+request.getHeader("User-Agent"));
    23 
    24         /*获取所有的请求头的key*/
    25         Enumeration<String> headerNames = request.getHeaderNames();
    26         while (headerNames.hasMoreElements()) {
    27             String s = headerNames.nextElement();
    28             System.out.println(s + ":" + request.getHeader(s));
    29         }
    30 
    31 
    32         /*获取请求体的信息*/
    33         /*获取参数的Map集合*/
    34         Map<String, String[]> parameterMap = request.getParameterMap();
    35         Set<Map.Entry<String, String[]>> entries = parameterMap.entrySet();
    36         for (Map.Entry<String, String[]> s : entries) {
    37             String key = s.getKey();
    38             String[] val = s.getValue();
    39             System.out.println(key + ":" + Arrays.toString(val));
    40         }
    41 
    42         /*获取数据*/
    43         String name = request.getParameter("name");
    44         String pwd = request.getParameter("pwd");
    45         System.out.println(name + ":" + pwd);
    46 
    47 
    48         /*request的域对象*/
    49         /*声明周期:一次请求*/
    50         request.setAttribute("name","杨淏宇");
    51         System.out.println(request.getAttribute("name"));
    52         /*请求转发*/
    53         /*注意请求转发的路径不需要写项目名称*/
    54         request.getRequestDispatcher("/demo.jsp").forward(request,response);
    55         /*请求转发和重定向的区别:
    56         * 请求转发:请求服务器一次,地址栏不发生变化,适用于有参数的时候,服务器行为
    57         * 重定向:请求服务器两次,地址栏发生变化,使用于无参数的时候,浏览器行为
    58         */
    59 
    60     }
    61 
    62     @Override
    63     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    64         doPost(request, response);
    65     }

      注意:tomcat 8 后不用解决请求乱码:

        之前post用:request.setCharacterEncoding("UTF-8");

          get用:parameter = new String(parameter.getBytes(“iso8859-1”),”UTF-8”); 注意只能解决一个乱码

  • 相关阅读:
    安装GitLab出现ruby_block[supervise_redis_sleep] action run
    docker tag根据镜像id做标签,用于应用的回滚
    Jenkenis报错:该jenkins实例似乎已离线
    kubernetes-批量删除Evicted Pods
    阿里云k8s构建镜像时设置版本号用于版本回滚
    Java虚拟机6:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别
    Java虚拟机5:Java垃圾回收(GC)机制详解
    Java虚拟机4:内存溢出
    Java虚拟机3:常用JVM命令参数
    Java虚拟机2:Java内存区域及对象
  • 原文地址:https://www.cnblogs.com/yanghaoyu0624/p/11828109.html
Copyright © 2020-2023  润新知