|
|
@ -1,53 +1,53 @@
|
|
|
|
package com.example.demo.loginService;
|
|
|
|
//package com.example.demo.loginService;
|
|
|
|
|
|
|
|
//
|
|
|
|
import javax.servlet.*;
|
|
|
|
//import javax.servlet.*;
|
|
|
|
import javax.servlet.annotation.WebFilter;
|
|
|
|
//import javax.servlet.annotation.WebFilter;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
//import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
//import javax.servlet.http.HttpServletResponse;
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
//import javax.servlet.http.HttpSession;
|
|
|
|
import java.io.IOException;
|
|
|
|
//import java.io.IOException;
|
|
|
|
@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"})
|
|
|
|
//@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"})
|
|
|
|
public class SessionFilter implements Filter {
|
|
|
|
//public class SessionFilter implements Filter {
|
|
|
|
String NO_LOGIN="/notLogin";
|
|
|
|
// String NO_LOGIN="/Login.html";
|
|
|
|
String[] includeUrls=new String[]{"redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login.html","redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login1.html"};
|
|
|
|
// String[] includeUrls=new String[]{"/Login.html","/Register.html"};
|
|
|
|
@Override
|
|
|
|
// @Override
|
|
|
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{
|
|
|
|
// public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{
|
|
|
|
HttpServletRequest request=(HttpServletRequest) servletRequest;
|
|
|
|
// HttpServletRequest request=(HttpServletRequest) servletRequest;
|
|
|
|
HttpServletResponse response=(HttpServletResponse) servletResponse;
|
|
|
|
// HttpServletResponse response=(HttpServletResponse) servletResponse;
|
|
|
|
HttpSession session=request.getSession(false);
|
|
|
|
// HttpSession session=request.getSession(false);
|
|
|
|
String uri=request.getRequestURI();
|
|
|
|
// String uri=request.getRequestURI();
|
|
|
|
//是否需要过滤
|
|
|
|
// //是否需要过滤
|
|
|
|
boolean needFilter=isNeedFilter(uri);
|
|
|
|
// boolean needFilter=isNeedFilter(uri);
|
|
|
|
if(!needFilter){
|
|
|
|
// if(!needFilter){
|
|
|
|
filterChain.doFilter(servletRequest,servletResponse);
|
|
|
|
// filterChain.doFilter(servletRequest,servletResponse);
|
|
|
|
}else{
|
|
|
|
// }else{
|
|
|
|
//需要过滤器
|
|
|
|
// //需要过滤器
|
|
|
|
//session中包含user对象,则是登录状态
|
|
|
|
// //session中包含user对象,则是登录状态
|
|
|
|
if(session!=null&&session.getAttribute("user")!=null){
|
|
|
|
// if(session!=null&&session.getAttribute("user")!=null){
|
|
|
|
filterChain.doFilter(servletRequest,servletResponse);
|
|
|
|
// filterChain.doFilter(servletRequest,servletResponse);
|
|
|
|
}else{
|
|
|
|
// }else{
|
|
|
|
String requestType=request.getHeader("X-Requested-with");
|
|
|
|
// String requestType=request.getHeader("X-Requested-with");
|
|
|
|
//判断是否是ajax请求
|
|
|
|
// //判断是否是ajax请求
|
|
|
|
if(requestType!=null&&"XMLHttpRequest".equals(requestType)){
|
|
|
|
// if(requestType!=null&&"XMLHttpRequest".equals(requestType)){
|
|
|
|
response.sendRedirect(NO_LOGIN);
|
|
|
|
// response.sendRedirect(NO_LOGIN);
|
|
|
|
}else{
|
|
|
|
// }else{
|
|
|
|
//重定向到登录页(需要在static文件夹下建立此html文件)
|
|
|
|
// //重定向到登录页(需要在static文件夹下建立此html文件)
|
|
|
|
response.sendRedirect(request.getContextPath()+"redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login.html");
|
|
|
|
// response.sendRedirect("/Login.html");
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
return;
|
|
|
|
// return;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
public boolean isNeedFilter(String uri) {
|
|
|
|
// public boolean isNeedFilter(String uri) {
|
|
|
|
for (String includeUrl : includeUrls) {
|
|
|
|
// for (String includeUrl : includeUrls) {
|
|
|
|
if (includeUrl.equals(uri)) {
|
|
|
|
// if (includeUrl.equals(uri)) {
|
|
|
|
return false;
|
|
|
|
// return false;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
return true;
|
|
|
|
// return true;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
}
|
|
|
|
//}
|
|
|
|