Created
May 20, 2014 11:10
-
-
Save thrakt/0e7f5c43171d70840285 to your computer and use it in GitHub Desktop.
初回アクセス時にリンクにjsessionidが入るのをなんとかする ref: http://qiita.com/thrakt/items/f6f31fb13e832e9d710d
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package ex.web.interceptor; | |
import java.io.IOException; | |
import javax.servlet.Filter; | |
import javax.servlet.FilterChain; | |
import javax.servlet.FilterConfig; | |
import javax.servlet.ServletException; | |
import javax.servlet.ServletRequest; | |
import javax.servlet.ServletResponse; | |
import javax.servlet.http.HttpServletResponse; | |
import javax.servlet.http.HttpServletResponseWrapper; | |
public class CutJsessionidFilter implements Filter { | |
private static class CutJsessionidResponseWrapper extends | |
HttpServletResponseWrapper { | |
public CutJsessionidResponseWrapper(final HttpServletResponse response) { | |
super(response); | |
} | |
@Override | |
public String encodeURL(final String url) { | |
String encurl = super.encodeURL(url).replaceAll( | |
";jsessionid=[0-9a-zA-Z]+", ""); | |
return encurl; | |
} | |
} | |
@Override | |
public void init(final FilterConfig filterConfig) throws ServletException { | |
} | |
@Override | |
public void doFilter(final ServletRequest request, | |
final ServletResponse response, final FilterChain chain) | |
throws IOException, ServletException { | |
if (response instanceof HttpServletResponse | |
&& !(response instanceof CutJsessionidResponseWrapper)) { | |
chain.doFilter(request, new CutJsessionidResponseWrapper( | |
(HttpServletResponse) response)); | |
return; | |
} | |
chain.doFilter(request, response); | |
} | |
@Override | |
public void destroy() { | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<filter> | |
<filter-name>cutJsessionidFilter</filter-name> | |
<filter-class>ex.web.interceptor.CutJsessionidFilter</filter-class> | |
</filter> | |
<filter-mapping> | |
<filter-name>cutJsessionidFilter</filter-name> | |
<url-pattern>/*</url-pattern> | |
<dispatcher>REQUEST</dispatcher> | |
<dispatcher>INCLUDE</dispatcher> | |
</filter-mapping> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment