📄 accessfilter.java~105~
字号:
package gxaccp.t07.guoneng_wei.petclinicmanagesystem.filter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class AccessFilter
extends HttpServlet implements Filter {
private FilterConfig filterConfig;
private static final String contextPath = "/gxaccp";
private static final String imagepath = "datasrc/";
private static final String[] requestFile = {
"/gxaccp/welcome.jsp",
"/gxaccp/login.jsp",
"/gxaccp/brief.jsp",
"/gxaccp/login.do",
"/gxaccp/testimg.jsp",
"/gxaccp/debugpage.jsp"
};
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
HttpServletRequest rq = (HttpServletRequest) request;
HttpServletResponse rp = (HttpServletResponse) response;
boolean flag = false;
String rqURI = rq.getRequestURI();
for (int i = 0; i < this.requestFile.length; i++) {
if (this.requestFile[i].equals(rqURI)) {
flag = true; //请求的是不须要用户身份的门户页面
}
}
if (rqURI.indexOf(this.imagepath) != -1) {
flag = true; //这是一个经验
}
if (!flag) { //如果请求的是须要用户身份的后台操作
HttpSession session = rq.getSession(false);
//如果还没有已正确登录的身份,那么转发它
if (session == null || session.getAttribute("UserInfo") == null) {
rq.getRequestDispatcher("/welcome.jsp").forward(request, response);
}
}
//否则让它正常过去,不转发
filterChain.doFilter(request, response);
}
catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
System.out.println("-------------------走过AccessFilter-------------------");
}
//Clean up resources
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -