⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accessfilter.java~99~

📁 一个基于JAVA的BS结构的宠物诊所管理系统.是当年在学校时写的,大家指点一下.
💻 JAVA~99~
字号:
package gxaccp.t07.guoneng_wei.petclinicmanagesystem.filter;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

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/loginA.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());
    }
  }

  //Clean up resources
  public void destroy() {
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -