在Java EE的世界里,我们能够从服务端和客户端交互过程中。两者到底够互相获取哪些内容?哪些内容能为我们开发所用和提高品质?目前从服务端获取客户端信息我总结了以下内容,当然这些内容在IDE项目的过滤器和拦截器中的很容易 get 到的。
一. 在Java EE 的过滤器中 我们通过 ServletRequest 都能获取到什么?
System.out.println("Time filter start");
long startTime = new Date().getTime();
String addr = servletRequest.getLocalAddr();
boolean secure = servletRequest.isSecure();
String localname = servletRequest.getLocalName();
String remoteAddr = servletRequest.getRemoteAddr();
String remoteHost = servletRequest.getRemoteHost();
String protocol = servletRequest.getProtocol();
String scheme = servletRequest.getScheme();
Map<String, String[]> map = servletRequest.getParameterMap();
System.out.println("map ----::::" + map);
System.out.println("secure ----::::" + secure);
System.out.println("addr ----::::" + addr);
System.out.println("localname ----::::" + localname);
System.out.println("remoteAddr ----::::" + remoteAddr);
System.out.println("remoteHost ----::::" + remoteHost);
System.out.println("protocol ----::::" + protocol);
System.out.println("scheme ----::::" + scheme);
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("time filter:"+(new Date().getTime()-startTime));
System.out.println("time filter finish");
二. 在Java EE 的拦截器中HttpServletRequest 都能获取到什么?
String getAuthType = httpServletRequest.getAuthType();
int getContentLength = httpServletRequest.getContentLength();
String getContextPath = httpServletRequest.getContextPath();
Cookie[] getCookies = httpServletRequest.getCookies();
Enumeration<String> getHeaderNames = httpServletRequest.getHeaderNames();
String getLocalAddr = httpServletRequest.getLocalAddr();
String getMethod = httpServletRequest.getMethod();
String getPathInfo = httpServletRequest.getPathInfo();
String getProtocol = httpServletRequest.getProtocol();
String getPathTranslated = httpServletRequest.getPathTranslated();
String getQueryString = httpServletRequest.getQueryString();
String getRemoteAddr = httpServletRequest.getRemoteAddr();
String getRemoteHost = httpServletRequest.getRemoteHost();
int getRemotePort = httpServletRequest.getRemotePort();
String getRemoteUser = httpServletRequest.getRemoteUser();
String getRequestURI = httpServletRequest.getRequestURI();
boolean isSecure = httpServletRequest.isSecure();
String cache_control = httpServletRequest.getHeader("cache-control");
String postman_token = httpServletRequest.getHeader("postman-token");
String user_agent = httpServletRequest.getHeader("user-agent");
String accept = httpServletRequest.getHeader("accept");
String host = httpServletRequest.getHeader("host");
String accept_encoding = httpServletRequest.getHeader("accept-encoding");
String content_length = httpServletRequest.getHeader("content-length");
String connection = httpServletRequest.getHeader("connection");
String upgrade_insecurer_equests = httpServletRequest.getHeader("upgrade-insecure-requests");
System.out.println("Enumeration value :::cache_control::: " + cache_control);
System.out.println("Enumeration value :::postman_token::: " + postman_token);
System.out.println("Enumeration value :::user_agent::: " + user_agent);
System.out.println("Enumeration value :::accept::: " + accept);
System.out.println("Enumeration value :::host::: " + host);
System.out.println("Enumeration value :::accept_encoding::: " + accept_encoding);
System.out.println("Enumeration value :::content_length::: " + content_length);
System.out.println("Enumeration value :::connection::: " + connection);
System.out.println("Enumeration value :::upgrade_insecurer_equests::: " + upgrade_insecurer_equests);
// System.out.println("getAuthType ::::::" + changeSessionId);
System.out.println("getAuthType ::::::" + getAuthType);
System.out.println("getContentLength ::::::" + getContentLength);
System.out.println("getContextPath ::::::" + getContextPath);
if(getCookies != null) {
for (Cookie cookie : getCookies) {
System.out.println("cookie.getDomain ::::::" + cookie.getDomain());
System.out.println("cookie.getMaxAge ::::::" + cookie.getMaxAge());
System.out.println("cookie.getName ::::::" + cookie.getName());
System.out.println("cookie.getPath ::::::" + cookie.getPath());
System.out.println("cookie.getValue ::::::" + cookie.getValue());
System.out.println("cookie.getSecure ::::::" + cookie.getSecure());
System.out.println("cookie.isHttpOnly ::::::" + cookie.isHttpOnly());
System.out.println("cookie.getVersion ::::::" + cookie.getVersion());
}
}
System.out.println("getCookies ::::::" + getCookies);
while(getHeaderNames.hasMoreElements()){
String value = (String)getHeaderNames.nextElement();//调用nextElement方法获得元素
System.out.println("Enumeration value ::::::" + value);
}
System.out.println("getHeaderNames ::::::" + getHeaderNames);
System.out.println("getLocalAddr ::::::" + getLocalAddr);
System.out.println("getMethod ::::::" + getMethod);
System.out.println("getPathInfo ::::::" + getPathInfo);
System.out.println("getProtocol ::::::" + getProtocol);
System.out.println("getPathTranslated ::::::" + getPathTranslated);
System.out.println("getQueryString ::::::" + getQueryString);
System.out.println("getRemoteAddr ::::::" + getRemoteAddr);
System.out.println("getRemoteHost ::::::" + getRemoteHost);
System.out.println("getRemoteUser ::::::" + getRemoteUser);
System.out.println("getRequestURI ::::::" + getRequestURI);
System.out.println("isSecure ::::::" + isSecure);