上面配置过滤器中我们可以看到,有个com.ccse.frame.filter.SessionFilter 这个类,那下面我们就把这个类加入项目中,路径自己设置。
代码如下
package com.ccse.frame.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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;
public class SessionFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { }
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息 String username = (String) session.getAttribute("baseUserId");//这句话自己改,看登陆的时候在session里插入了什么,就去什么去判断。
//判断如果没有取到用户信息,就跳转到登陆页面 if ((username == null) || "".equals(username)) { //跳转到登陆页面 res.sendRedirect("http://" + req.getHeader("Host") + "/login_oa.jsp"); } else { //已经登陆,继续此次请求 chain.doFilter(req, res); } }
public void destroy() { }}
如下图