?? bbsfilter.java
字號(hào):
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主頁 http://www.tbuy.biz/ * 你可以免費(fèi)使用該軟件,未經(jīng)許可請(qǐng)勿作用于任何商業(yè)目的,如有技術(shù)問題請(qǐng)與本人聯(lián)系! * * 該類主要用于BBS訪問轉(zhuǎn)發(fā),如 * /bbs/zone/x.jsp -> /bbs/zone.jsp * /bbs/forum/x.jsp -> /bbs/forum/x.jsp * /bbs/topic/x.jsp -> /bbs/topic.jsp */package biz.tbuy.bbs;import biz.tbuy.bbs.bean.BaseBean;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class BBSFilter extends BaseBean implements Filter{ private FilterConfig filterConfig = null; private boolean inZone; /* 標(biāo)識(shí)當(dāng)前所在頁面是否為 /bbs/zone.jsp */ private boolean inForum; /* 標(biāo)識(shí)當(dāng)前所在頁面是否為 /bbs/forum.jsp */ private boolean inTopic; /* 標(biāo)識(shí)當(dāng)前所在頁面是否為 /bbs/topic.jsp */ public BBSFilter() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest requestHttp = (HttpServletRequest) request; String requestURI = requestHttp.getRequestURI(); RequestDispatcher requestDispatcher; // System.out.println("BBSFilter.requestURI=" + requestURI); // 分析URI this.parseURI(requestURI); if (inZone) { requestDispatcher = request.getRequestDispatcher("/bbs/zone.jsp"); requestDispatcher.forward(request, response); } else if (inForum) { requestDispatcher = request.getRequestDispatcher("/bbs/forum.jsp"); requestDispatcher.forward(request, response); } else if (inTopic) { requestDispatcher = request.getRequestDispatcher("/bbs/topic.jsp"); requestDispatcher.forward(request, response); } else { try { chain.doFilter(request, response); } catch(Throwable t) {} } } private void initParam() { this.inZone = false; this.inForum = false; this.inTopic = false; } /** * 分析當(dāng)前請(qǐng)求的URL是否于哪一個(gè)頁面中 */ private void parseURI(String uri) { // System.out.println("uri=" + uri); this.initParam(); // 重新初始化數(shù)參數(shù) if (uri.indexOf("/bbs/zone/") != -1) { this.inZone = true; } else if (uri.indexOf("/bbs/forum/") != -1) { this.inForum = true; } else if (uri.indexOf("/bbs/topic/") != -1) { this.inTopic = true; } } /** * Return the filter configuration object for this filter. * @return filterConfig */ public FilterConfig getFilterConfig() { return (this.filterConfig); } /** * Set the filter configuration object for this filter. * @param filterConfig The filter configuration object */ public void setFilterConfig(FilterConfig filterConfig) { this.filterConfig = filterConfig; } /** * Destroy method for this filter */ public void destroy() { } /** * Init method for this filter * @param filterConfig */ public void init(FilterConfig filterConfig) { this.filterConfig = filterConfig; }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -