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”); 注意只能解决一个乱码

原文地址:https://www.cnblogs.com/yanghaoyu0624/p/11828109.html