关于Java EE 服务端获取客户端的相关信息尝试,如何用ServletRequest、HttpServletRequest 都能获取到客户端交互内容?

       在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);
发布了127 篇原创文章 · 获赞 35 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/shunzi2016/article/details/84838104