servlet request请求对象常用方法总结

xiaoxiao2025-07-25  26

1. request请求对象常用方法:

public void doPost(HttpServletRequest request, HttpServletResponse response)             throws ServletException, IOException {         response.setContentType("text/html; charset = utf-8");         this.response = response;         out = this.response.getWriter();         println("<ol>");         //1. 获取请求方式、处理乱码问题         String method = request.getMethod();         //servletRequest中的方法         request.setCharacterEncoding("utf-8");         //1. 获取请求体的编码方式         String characterEncoding = request.getCharacterEncoding();         println("getCharacterEncoding = " + characterEncoding);                  //2. get body length         int contentLength = request.getContentLength();         println("getContentLength = " + contentLength);                  //3. MIME type         String mimeType = request.getContentType();         println("getContentType = " + mimeType);                  //4. 接收请求的接口的 Internet Protocol (IP) 地址         String ip = request.getLocalAddr();         println("getLocalAddr = " + ip);                  //5. 基于 Accept-Language 头,返回客户端将用来接受内容的首选 Locale 客户端语言环境         Locale locale = request.getLocale();         println("getLocale = " + locale);                  //6. 所有的语言环境         Enumeration<Locale> locales = request.getLocales();         while(locales.hasMoreElements()){             Locale temp = locales.nextElement();             println("\n Locales = " + temp);         }                  //7. 接收请求的 Internet Protocol (IP) 接口的主机名         String localName = request.getLocalName();         println("localName = " + localName);                  //8. 接收请求的接口的 Internet Protocol (IP) 端口号         int localPort = request.getLocalPort();         println("localPort = " + localPort);                  //9. 返回请求使用的协议的名称和版本         String protocol = request.getProtocol();         println("protocol = " + protocol);                  //10. 读取请求正文信息         BufferedReader reader = request.getReader();         println("getReader = " + reader.toString());                  //11. 发送请求的客户端         String remoteAddr = request.getRemoteAddr();         println("RemoteAddr = " + remoteAddr);                  //12. 发送请求的客户主机         String remoteHost = request.getRemoteHost();         println("RemoteHost = " + remoteHost);                  //13. 发送请求的客户主机端口         int remotePort = request.getRemotePort();         println("RemotePort = " + remotePort);                  //14. 返回用于发出此请求的方案名称,例如:http 、 https 、 ftp         String scheme = request.getScheme();         println("Scheme = " + scheme);                  //15. 返回请求被发送到的服务器的主机名。它是Host头值":"(如果有)之前的那部分的值。 或者解析服务器名称或服务器的IP地址         String serverName = request.getServerName();         println("ServerName = " + serverName);                  //16. 返回请求被发送到的端口。他是"Host"头值":" (如果有)之后的那部分的值,或者接受客户端连接的服务器端口。         int serverPort = request.getServerPort();         println("ServerPort = " + serverPort);                  //17. 返回一个boolean值,指示此请求是否是使用安全通道(比如HTTPS) 发出的。         boolean secure = request.isSecure();         println("isSecure = " + secure);                  //以上方法为 ServletRequest 接口提供的                           //以下方法为 HttpServletRequest 接口提供的                  /*          * 18. 返回用于保护servlet的验证方法名称。 所有的servlet容器都支持          * basic、 form和client certificate验证, 并且可能还支持digest验证          */         String authType = request.getAuthType();         println("authType = " + authType);                  //19. getDateHeader ??         request.getDateHeader("");                  //20. 返回请求头包含的所有头名称的枚举。         Enumeration<String> headerNames = request.getHeaderNames();         println("<hr/>");         while(headerNames.hasMoreElements()){             String name = headerNames.nextElement();             println(" headerNmea = " + name + ";   getHeader = " + request.getHeader(name));         }                  println("<hr/>");         //21. 以int的形式返回指定请求头的值。 ???         request.getIntHeader("123");                  //22. 返回与客户端发出此请求时发送的URL相关联的额外路径信息。         String pathInfo = request.getPathInfo();         println("PathInfo = " + pathInfo);                  //23. 返回包含在请求RUL中路径后面的查询字符串。如果没有查询字符串返回null         String remoteUser = request.getRemoteUser();         println("RemoteUser = " + remoteUser);                  //24. 返回客户端制定的回话ID         String requestedSessionId = request.getRequestedSessionId();         println("requestSessionId = " + requestedSessionId);                  //25. 返回请求调用servlet的URL部分         String servletPath = request.getServletPath();         println("servletPath = " + servletPath);                  //26. 返回与此请求关联的当前HttpSession,如果没有当前会话并且参数为true,则返回一个新会话。         HttpSession session = request.getSession(true);         println("getSession(true) = " + session);                  //27. 返回包含当前已经过验证的用户的名称的java.security.Principal对象。如果用户没有经过验证,则该方法返回null         Principal userPrincipal = request.getUserPrincipal();         println("userPrincipal = " + userPrincipal);                  //28. 检查会话的id是否作为Cook进入的         boolean sessionIdFromCookie = request.isRequestedSessionIdFromCookie();         println("sessionIdFromCookie = " + sessionIdFromCookie);                  //29. 检查请求的会话ID是否作为请求的URL的一部分进入的         boolean sessionIdFromURL = request.isRequestedSessionIdFromURL();         println("sessionIdFormURL = " + sessionIdFromURL);                  //30.                  println("</ol>");         out.flush();         out.close();     }          public void println(Object obj){         this.response.setContentType("text/html;charset=utf-8");         try {                          out.println("<li>");             out.println(obj);             out.println("</li>\n");         } catch (Exception e) {             e.printStackTrace();         }     }

2. 运行结果

getCharacterEncoding = utf-8getContentLength = -1getContentType = nullgetLocalAddr = 127.0.0.1getLocale = zh_CNLocales = zh_CNLocales = zhLocales = en_USLocales = enlocalName = lm.licenses.adobe.comlocalPort = 8080protocol = HTTP/1.1getReader = org.apache.catalina.connector.CoyoteReader@17b8d3dRemoteAddr = 127.0.0.1RemoteHost = 127.0.0.1RemotePort = 57814Scheme = httpServerName = localhostServerPort = 8080isSecure = falseauthType = null
headerNmea = host;   getHeader = localhost:8080headerNmea = user-agent;   getHeader = Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0headerNmea = accept;   getHeader = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8headerNmea = accept-language;   getHeader = zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3headerNmea = accept-encoding;   getHeader = gzip, deflateheaderNmea = cookie;   getHeader = JSESSIONID=30256CEB48E2BF6050BF6E122635EAC4headerNmea = connection;   getHeader = keep-alive
PathInfo = nullRemoteUser = nullrequestSessionId = 30256CEB48E2BF6050BF6E122635EAC4servletPath = /reqgetSession(true) = org.apache.catalina.session.StandardSessionFacade@1fcf1bauserPrincipal = nullsessionIdFromCookie = truesessionIdFormURL = false

转自:https://blog.csdn.net/ranmudaofa/article/details/39785785
转载请注明原文地址: https://www.6miu.com/read-5033679.html

最新回复(0)