读书人

去掉 URL 中厌恶的 jsessionid

发布时间: 2012-10-08 19:54:56 作者: rapoo

去掉 URL 中讨厌的 jsessionid

编写DisableUrlSessionFilter.java类

?

package com.cheney.util;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;import javax.servlet.http.HttpSession;import java.io.IOException;public class DisableUrlSessionFilter implements Filter {       public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {        // skip non-http requests        if (!(request instanceof HttpServletRequest)) {             chain.doFilter(request, response);            return;         }         HttpServletRequest httpRequest = (HttpServletRequest) request;         HttpServletResponse httpResponse = (HttpServletResponse) response;        // clear session if session id in URL        if (httpRequest.isRequestedSessionIdFromURL()) {             HttpSession session = httpRequest.getSession();            if (session != null) session.invalidate();         }        // wrap response to remove URL encoding         HttpServletResponseWrapper wrappedResponse = new HttpServletResponseWrapper(httpResponse) {             @Override            public String encodeRedirectUrl(String url) {                return url;             }                     public String encodeRedirectURL(String url) {                return url;             }                       public String encodeUrl(String url) {                return url;             }                       public String encodeURL(String url) {                return url;             }         };        // process next request in chain         chain.doFilter(request, wrappedResponse);     }    /**      * Unused.     */    public void init(FilterConfig config) throws ServletException {     }    /**      * Unused.     */    public void destroy() {     }}

?

配置在web.xml中

<filter>   <filter-name>jsessionid</filter-name>   <filter-class>    com.haoxingtong.web.web.filter.DisableUrlSessionFilter   </filter-class></filter><filter-mapping>   <filter-name>jsessionid</filter-name>   <url-pattern>/*</url-pattern></filter-mapping>
?

?

读书人网 >JavaScript

热点推荐