📄 bbsfilter.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! * * 该类主要用于BBS访问转发,如 * /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; /* 标识当前所在页面是否为 /bbs/zone.jsp */ private boolean inForum; /* 标识当前所在页面是否为 /bbs/forum.jsp */ private boolean inTopic; /* 标识当前所在页面是否为 /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; } /** * 分析当前请求的URL是否于哪一个页面中 */ private void parseURI(String uri) { // System.out.println("uri=" + uri); this.initParam(); // 重新初始化数参数 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; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -