JSP登录前后改变JSESSIONID
2016-06-20 10:04
281 查看
配置web.xml的filter(需要配置在Struts2插件过滤器前)
增加Filter
<filter> <filter-name>filter1</filter-name> <filter-class>filter.LoginFilter1</filter-class> </filter> <filter-mapping> <filter-name>filter1</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
增加Filter
package filter; 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.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginFilter1 implements Filter {//尝试改变JSESSIONID @Override public void destroy() { // TODO Auto-generated method stub System.out.println("LoginFilter1 destroy"); } @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest httpRequest = (HttpServletRequest)arg0; StringBuffer ul = httpRequest.getRequestURL(); if(ul.toString().contains("login!getintoindex.do")){ HttpSession session = httpRequest.getSession(false); if ( session != null && !session.isNew() ) {//isNew() Returns true if the client does not yet know about the session or if the client chooses not to join the session. HttpSession sessionOld = session; User user = (User)sessionOld.getAttribute("user"); sessionOld.invalidate(); session = httpRequest.getSession(true); session.setAttribute("user", user); System.out.println("LoginFilter1 doFilter,url: " + httpRequest.getRequestURL()+" , session id: " + httpRequest.getSession().getId()); } } if(ul.toString().contains("top!logout.do")){// HttpSession session = httpRequest.getSession(false); if ( session != null && !session.isNew() ) { HttpSession sessionOld = session; sessionOld.invalidate(); session = httpRequest.getSession(true); System.out.println("LoginFilter1 doFilter,logout. "); } } arg2.doFilter(arg0, arg1); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub System.out.println("LoginFilter1 init"); } }
相关文章推荐
- javascript js 操作数组 增删改查的简单实现
- JavaScript split() 方法
- 智能浮动表头
- 百度坐标转换 的异步转码问题
- 浅谈JavaScript中数组的增删改查
- 【经验总结】编写JavaScript代码时应遵循的14条规律
- JSP内置对象——response
- JS里面怎么去掉字符的空格
- js 内容模版
- javascript实现随机生成DIV背景色
- javascript 减少回流
- JavaScript—文字自动变化为自定义颜色
- JS实现弹出居中的模式窗口示例
- My12306 Project日志——JavaScript动态表格
- JS中的!=、== 、!==、===的用法和区别。
- cojs QAQ的图论题 题解报告
- MyEclipse安装JS代码提示(Spket插件)
- javascript问题——ajax动态生成table
- JS控制层作圆周运动的方法
- 运算符——递增++和递减--