zhai_lw 7 years ago
parent 7e9446d1f9
commit fe2b89a5fd

@ -1,62 +0,0 @@
package filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"})
public class S_Filter implements Filter {
String NO_LOGIN="/notLogin";
String includeUrls="/gdms/login.jsp";
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{
HttpServletRequest request=(HttpServletRequest) servletRequest;
HttpServletResponse response=(HttpServletResponse) servletResponse;
HttpSession session=request.getSession(false);
String uri=request.getRequestURI();
//是否需要过滤
boolean needFilter=isNeedFilter(uri);
if(!needFilter){
filterChain.doFilter(servletRequest,servletResponse);
}else{
//需要过滤器
//session中包含user对象则是登录状态
if(session!=null&&session.getAttribute("user")!=null){
filterChain.doFilter(servletRequest,servletResponse);
}else{
String requestType=request.getHeader("X-Requested-with");
//判断是否是ajax请求
if(requestType!=null&&"XMLHttpRequest".equals(requestType)){
response.sendRedirect(NO_LOGIN);
}else{
//重定向到登录页(需要在static文件夹下建立此html文件)
response.sendRedirect("/gdms/login.jsp");
}
return;
}
}
}
@Override
public void destroy() {
}
public boolean isNeedFilter(String uri) {
if (includeUrls.equals(uri)) {
return false;
}
return true;
}
}
Loading…
Cancel
Save