您的位置:首页 > Web前端 > JavaScript

使用jsp过滤器实现登录权限

2014-11-13 20:29 148 查看
package com.iflytek.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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebFilter(urlPatterns={"/*"})
public class LoginFilter implements Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain fc) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)arg0;
HttpServletResponse response = (HttpServletResponse)arg1;

// 请求服务器地址   servlet或者是jsp    如果有login  不需要判断session
// 请求服务器地址   servlet或者是jsp    如果没有login  需要判断session

// 请求资源文件 css js jpg等  不需要判断session

String uri = request.getRequestURI();//获得请求的URI

System.out.println("hello");

if(uri.contains("resource")){
// 访问资源文件
// 将请求提交给服务器
fc.doFilter(arg0, arg1);
}else{
if(uri.contains("login")){
// 将请求提交给服务器
fc.doFilter(arg0, arg1);
}else{
HttpSession session = request.getSession();

if(session.getAttribute("user") == null){

// 回到登录页面
response.sendRedirect(request.getContextPath() + "/views/login.jsp");
}else{
// 将请求提交给服务器
fc.doFilter(arg0, arg1);
}
}
}
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐