/**
* 采用filter解决session为空
* @author Administrator
*
*/
public class AuthFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest) servletRequest;
HttpServletResponse response=(HttpServletResponse) servletResponse;
/*设置参数的目的只是当会话不存在时,返回null还是新的session的区别,
参数为true时,返回的是null;
没有参数或是false则返回新的session */
HttpSession session=request.getSession(false);
System.out.println("url=" + request.getRequestURL());
System.out.println("uri=" + request.getRequestURI());
String requestURI = request.getRequestURI();
String targetURI = requestURI.substring(requestURI.lastIndexOf("/"));
System.out.println("targetURI=" + targetURI);
//如果访问的不是首页
if (!targetURI.equals("/login.jsp")) {
//如果session为空,session中没有user对象
if (session == null || session.getAttribute("user") == null) {
//重定向的首页,让用户登录
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
}
}
filterChain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("-------AuthFilter.init()---------");
}
}
分享到:
相关推荐
本案例中 使用maven 搭建spring boot 基本案例 其中实现了 用户登录功能,实现Filter 和 拦截器两种方式 来过滤session登录,后续会使用token方式,请大家关注
karaf中不同bundle之间session共享实现,将代码用maven打下包,放入karaf,即可提供服务,在需要session共享的bundle中配置filter即可。
tomcat+httpservlet+session+cookie+jsp+filter
j2ee项目使用filter和memcached实现session服务器
如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId到cookie,cookie的maxAge设置为-1,...
使用filter验证session用户和页面缓存问题处理
struts1.2增删改查分页Filter Session
使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了
这是一个对session+filter+cookie练习的小项目;使用cookie实现了验证码的点击更换和验证,使用filter防止用户非法登录和使用session实现记住用户名。 此资源在学生资源部分连接了数据库,但在用户的登录验证方面...
使用filter过滤器解决中文乱码问题,包含源码,以及filter的配置,希望能帮上大家
Struts2:利用filter、session实现访问控制和身份认证[收集].pdf
NULL 博文链接:https://navylee.iteye.com/blog/899858
sna集中式session管理实现服务器集群及客户端程序,以“单点登陆、session共享解决方案(2)”为基础建立的服务器机群应用,运行server.bat启动服务器端,将client包导入web工程,通过Client.sessionPut()等方法调用。...
1. 基于Cookie+Redis+Filter解决方案实现过程优缺点踩坑 2. Tomcat内置的Session复制方案实现过程优缺点 3. 使用Session粘滞方案实现形式优缺点 4. 基于Session持久化方案 5. 基于Spring-Session无侵入性方案实现...
如何新建一个Filter空工程
一、属性说明: 1 secure属性 ...也就是说两个属性,并不能解决cookie在本机出现的信息泄漏的问题(FireFox的插件FireBug能直接看到cookie的相关信息)。 二、实例 项目架构环境:jsp+servlet+applet
web.xml配置filter和filtermapping,编写类 读取或写死filter的init-params中的字符编码传入 reqeust中 调用dofilter方法,乱码解决
NULL 博文链接:https://gstarwd.iteye.com/blog/543048
filter 防止SQL注入 替换特殊不合格字符。 <!-- 防SQL注入 <filter> <filter-name>SQLFilter</filter-name> <filter-class>frame.struts.SQLFilter</filter-class> </filter> <filter-mapping> <filter-...
主要介绍了MVC使用Controller代替Filter完成登录验证即Session校验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下