📄 securefilter.java
字号:
package com.example.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class SecureFilter extends HttpServlet implements Filter {
private static String loginPage = "/index.jsp";
private static String userInfo = "userInfo";
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
String theLoginPage = filterConfig.getInitParameter("loginpage");
String theUserInfo = filterConfig.getInitParameter("userinfo");
if(theLoginPage != null) loginPage = theLoginPage;
if(theUserInfo != null) userInfo = theUserInfo;
}
public void doFilter(ServletRequest request,
ServletResponse response, FilterChain filterChain) {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
String URL = req.getRequestURI();
if(session.getAttribute(userInfo) == null) {
if(!URL.equals(loginPage) || URL.equals("/")){
try {
((HttpServletResponse) response).sendRedirect(loginPage);
} catch(IOException uee) {
}
return;
}
}
try {
filterChain.doFilter(request, response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -