Struts2 action 的 ;jsessionid=xxx 使找不到页面 Bug 的解决 [转帖]
2014-11-24 15:26
363 查看
一: jsessionid 简介:
因为Session默认是需要Cookie支持的 有些客户浏览器是关闭Cookie的,
这个时候就需要在URL中指定服务器上的jssessionid标识.如果你的web应用带有 jsessionid ,首先你的web应用不安全,而且也不利于 SEO (亦不美观).
二: Java代码:
三: web.xml配置filter:
因为Session默认是需要Cookie支持的 有些客户浏览器是关闭Cookie的,
这个时候就需要在URL中指定服务器上的jssessionid标识.如果你的web应用带有 jsessionid ,首先你的web应用不安全,而且也不利于 SEO (亦不美观).
二: Java代码:
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 { if (!(request instanceof HttpServletRequest)) { chain.doFilter(request, response); return; } HttpServletRequest httpRequest = (HttpServletRequest) request; HttpServletResponse httpResponse = (HttpServletResponse) response; 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; } }; chain.doFilter(request, wrappedResponse); } public void init(FilterConfig config) throws ServletException { } public void destroy() { } }
三: web.xml配置filter:
<filter> <filter-name>jsessionid</filter-name> <filter-class> xinyu.filter.DisableUrlSessionFilter </filter-class> </filter> <filter-mapping> <filter-name>jsessionid</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关文章推荐
- 关于ASP前端页面中“上下文找不到名称xxx"的解决办法(vs的bug?)
- Struts2中ActionError与ActionMessage的互转,解决不同action不同页面的跳转问题
- struts2 Action返回JSP页面CSS和JavaScript失效的解决方法。
- struts2错误java.lang.NoSuchMethodException: ...XXXAction.create()或者从页面到Action时找不到Action
- struts2两个input方法的action,出错后总是返回到Input页面的解决方法
- struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法
- 解决jquery.tmpl.js的BUG,页面上存在与${key}键值相同的id名,则出现object HTMLInputElement之类的默认值
- struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法
- WebSphere(WAS)部署struts2程序Action找不到的解决办法
- JSP页面结合Struts2如何传递复选框对应的id数组到后台action中
- struts2找不到对应action错误的解决
- Websphere服务器下Jsp页面加载报:JSPG0123E,找不到标记属性xxx的标记属性信息解决办法
- struts2提示“There is no Action mapped for namespace [/] and action name [XXX]... ”错误的解决办法
- Struts2 配置url重写 404 找不到action解决方法
- 解决struts2 action中double型在页面默认带有小数点的方法
- struts2中form提交到action中的中文参数乱码问题解决办法(包括取中文路径)
- ASP.NET AJAX Advance Tips & Tricks (10) 解决使用AJAX Extender时的页面导出(Word/Excel)问题(Extender control 'XXX' is not a registered extender control)
- 解决页面的Session.SessionID不同的问题
- 彻底解决STRUTS2 错误There is no Action mapped for namespace / and action name login
- struts2 用户提交表单时 JSP页面 Action类