src/util/LoginFilter.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package util;

import java.io.IOException;
import java.io.PrintWriter;

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 LoginFilter implements Filter {

	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		HttpServletRequest request = (HttpServletRequest) req;
		HttpServletResponse response = (HttpServletResponse) res;
		HttpSession session = request.getSession();
		// 如果session不为空,则可以浏览其他页面
		String url = request.getServletPath();
		//System.out.println(url);
		String path = request.getRequestURI();
		//这里判断目录,后缀名,当然也可以写在web.xml中,用url-pattern进行拦截映射
		if ((!request.getServletPath().equals("/admin/login.action"))
				&& (!request.getServletPath().equals("/admin/login.jsp"))
				&& (!request.getServletPath().equals("/admin/relogin.jsp"))
				&& (!request.getServletPath().equals("/admin/lib/font-awesome/css/font-awesome.css"))
				&& (!request.getServletPath().equals("/admin/lib/bootstrap/js/bootstrap.js"))
				&& (!request.getServletPath().equals("/admin/lib/jquery-1.7.2.min.js"))
				&& (!request.getServletPath().equals("/admin/stylesheets/theme.css"))
				&& (!request.getServletPath().equals("/admin/lib/bootstrap/css/bootstrap.css"))
				) {
			// 登陆页面无需过滤
			if(path.indexOf("/admin/login.jsp") > -1) {
				chain.doFilter(request, response);
				return;
			}
			
			

			if (session.getAttribute("admin") == null) {
				session.invalidate();
				response.setContentType("text/html;charset=gb2312");
				PrintWriter out = response.getWriter();
				out.println("<script language='javascript' type='text/javascript'>");
				out.println("alert('由于你长时间没有操作,导致Session失效!请你重新登录!');parent.location.href='" + request.getContextPath() + "/admin/login.jsp'");
				out.println("</script>");
			} else {
				chain.doFilter(request, response);
			}
后面还有 12 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。