华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> javaWeb >> 文章內(nèi)容

javascript(JS)完全控制Select下拉框

來源:中華考試網(wǎng)  [2020年11月12日]  【

  

  userLoginFilter

  org.yx.filter.UserLoginFilter

  

  logonStrings

  login.jsp

  

  

  includeStrings

  .jsp;.html

  

  

  redirectPath

  /login.jsp

  

  

  disabletestfilter

  N

  

  

  

  userLoginFilter

  /*

  

  過濾器 API 包含 3 個簡單的接口,它們整潔地嵌套在 javax.servlet 包中。那 3 個接口分別是 Filter 、 FilterChain 和 FilterConfig 。從編程的角度看,過濾器類將實(shí)現(xiàn) Filter 接口,然后使用這個過濾器類中的 FilterChain 和 FilterConfig 接口。該過濾器類的一個引用將傳遞給 FilterChain 對象,以允許過濾器把控制權(quán)傳遞給鏈中的下一個資源。 FilterConfig 對象將由容器提供給過濾器,以允許訪問該過濾器的初始化數(shù)據(jù)。

  為了與我們的三步模式保持一致,過濾器必須運(yùn)用三個方法,以便完全實(shí)現(xiàn) Filter 接口:

  init() :這個方法在容器實(shí)例化過濾器時被調(diào)用,它主要設(shè)計(jì)用于使過濾器為處理做準(zhǔn)備。該方法接受一個 FilterConfig 類型的對象作為輸入。

  doFilter() :與 servlet 擁有一個 service() 方法(這個方法又調(diào)用 doPost() 或者 doGet() )來處理請求一樣,過濾器擁有單個用于處理請求和響應(yīng)的方法?D?D doFilter() 。這個方法接受三個輸入?yún)?shù):一個 ServletRequest 、 response 和一個 FilterChain 對象。

  destroy() :正如您想像的那樣,這個方法執(zhí)行任何清理操作,這些操作可能需要在自動垃圾收集之前進(jìn)行。

  SessionFilter.java

  package net.pms.web.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.HttpServletResponseWrapper;

  /**

  * @author jfish

  * @since 2006.1.12

  */

  public class SessionFilter implements Filter {

  public static boolean isContains(String container, String[] regx) {

  boolean result = false;

  for (int i = 0; i < regx.length; i++) {

  if (container.indexOf(regx[i]) != -1) {

  填寫下面表單即可預(yù)約申請免費(fèi)試聽java課程!害怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!

預(yù)約申請免費(fèi)聽java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  return true;

  }

  }

  return result;

  }

  public FilterConfig config;

  public void setFilterConfig(FilterConfig config) {

  this.config = config;

  }

  public FilterConfig getFilterConfig() {

  return config;

  }

  public void doFilter(ServletRequest request, ServletResponse response,

  FilterChain chain) throws IOException, ServletException {

  HttpServletRequest httpreq = (HttpServletRequest) request;

  HttpServletResponse httpres = (HttpServletResponse) response;

  HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper(

  (HttpServletResponse) response);

  String logonStrings = config.getInitParameter("logonStrings");

  String includeStrings = config.getInitParameter("includeStrings");

  String redirectPath = httpreq.getContextPath()

  + config.getInitParameter("redirectPath");

  String disabletestfilter = config.getInitParameter("disabletestfilter");

  if (disabletestfilter.toUpperCase().equals("Y")) {

  chain.doFilter(request, response);

  return;

  }

  String[] logonList = logonStrings.split(";");

  String[] includeList = includeStrings.split(";");

  Object user = httpreq.getSession().getAttribute("userinfo");

  if (user == null) {

  if (!this.isContains(httpreq.getRequestURI(), includeList)) {

  chain.doFilter(request, response);

  return;

  }

  if (this.isContains(httpreq.getRequestURI(), logonList)) {

  chain.doFilter(request, response);

  return;

  }

  wrapper.sendRedirect(redirectPath);

  } else {

  chain.doFilter(request, response);

  }

  }

  public void destroy() {

  this.config = null;

  }

  public void init(FilterConfig filterConfig) throws ServletException {

  this.config = filterConfig;

  }

  }

責(zé)編:fushihao

上一篇:returnValue的含義

下一篇: 沒有了

  • 會計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
宣威市| 夏河县| 玛曲县| 鄱阳县| 安陆市| 浮山县| 东兰县| 禹城市| 台安县| 宁晋县| 高台县| 宁乡县| 大城县| 沾益县| 宣武区| 南乐县| 西昌市| 河东区| 陈巴尔虎旗| 晋州市| 汽车| 友谊县| 普兰县| 邯郸县| 辽阳市| 泰来县| 安国市| 宁晋县| 滦南县| 会宁县| 盐边县| 彰武县| 锡林浩特市| 江西省| 托克逊县| 连江县| 堆龙德庆县| 龙州县| 介休市| 含山县| 柘城县|