使用Tomcat的过滤器验证用户是否登陆
2017-12-16 20:27
399 查看
Java菜鸟一枚,这两天一直被一个问题困扰,就是用tomcat的过滤器去验证用户是否登陆了。前一段时间一直犯了一个低级错误,导致我这两天这个功能一直没有试验成功!
那就是我把登陆页面放在了WEB-INF下面,因为犯晕,一直忘了WEB-INF就是保护自身资源,必须时tomcat自己返回的!希望后来者引以为戒!
那下面就把这个简单的登陆过滤器给大家看看吧
public class SessionCheck implements Filter{
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession();
System.out.println(request.getRequestURI());
//防止js,css,图片别过滤掉
if(request.getServletPath().endsWith(".css") || request.getServletPath().endsWith(".js") || request.getServletPath().endsWith(".png")){
filterChain.doFilter(request, response);
return;
}
if(session!=null&&session.getAttribute("admin")!=null) {
System.out.println(session.getAttribute("admin"));
filterChain.doFilter(request, response);
//logo.jsp一定要放在和WEB-INF平级的目录中
}else if(request.getRequestURI().equals(request.getContextPath()+"/login.jsp") || request.getRequestURI().equals("/login.do")){
filterChain.doFilter(request, response);
} else {
response.sendRedirect(request.getContextPath() + "/login.jsp");
}
}
public void destroy() {
}
相关文章推荐
- 使用Filter验证用户是否登陆,完整示例
- 使用Filter验证用户是否登陆,完整示例
- MVC-使用Servlet验证用户是否登陆
- struts 过滤器验证用户是否已经登陆
- 关于验证用户是否已登陆的过滤器
- 在jsp中使用ajax技术示例:验证用户是否存在
- Struts1.2 验证用户是否登陆 两种方法
- ASP.NET 使用WebServices+Ajax实现无刷新验证用户是否已注册
- 在用户登陆的时候判断验证密码与密码是否相同
- 用户是否登录验证--过滤器
- jsp验证用户是否登陆
- Struts2使用过滤器验证登陆状态
- JSP中使用AJAX验证用户是否存在
- Spring从菜鸟到高手(四)(上)使用JdbcTemplate类实现用户登陆验证、批量更新
- Struts2使用过滤器验证登陆状态
- Spring从菜鸟到高手(四)(上)使用JdbcTemplate类实现用户登陆验证、批量更新
- Spring从菜鸟到高手(四)(上)使用JdbcTemplate类实现用户登陆验证、批量更新
- 使用Servlet过滤器实现用户登录验证
- 使用jquery验证用户名称是否重复(jquery+sturts)
- C#用AJAX验证用户登陆 使用三层结构