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

📄 bbsloginfilter.java

📁 tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛
💻 JAVA
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! * * 检验用户是否已经登录BBS系统,如果已经登录则不作任何处理,否则设置: * BBSSession.isLogin = true, 并更新用户的BBS系统的userinfo表的信息,如: * 最后登录BBS的时间,IP。登录次数等 */package biz.tbuy.bbs;import biz.tbuy.common.Visitor;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.HttpSession;/** * @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 BBSLoginFilter implements Filter{    private FilterConfig filterConfig = null;        public BBSLoginFilter() {    }    public void init(FilterConfig filterConfig) {         this.filterConfig = filterConfig;    }        /**     * @param filterConfig The filter configuration object     */    public void setFilterConfig(FilterConfig filterConfig) {        this.filterConfig = filterConfig;    }        /**     * Return the filter configuration object for this filter.     * @return fileterConfig     */    public FilterConfig getFilterConfig() {        return this.filterConfig;    }    public void doFilter(ServletRequest request,             ServletResponse response,            FilterChain chain) throws IOException, ServletException {        HttpServletRequest requestHttp = (HttpServletRequest) request;        String requestURI = requestHttp.getRequestURI();                if (requestURI.indexOf("/bbs/") != -1) {            // 判断用户是否已经登录BBS系统,如果是刚登录,则需要更新用户的BBS信息            Visitor visitor = getVisitor(requestHttp);            if (visitor != null && visitor.isLogin()) {                BBSSession bbs = (BBSSession)visitor.getSessionOper().get("BBSSession");                if (bbs == null) {                     // 更新用户的BBS信息,时间、IP                    BBSSession bbsNew = new BBSSession();                    bbsNew.init(visitor.getUser().getId());                    bbsNew.setLogin(true);                    visitor.getSessionOper().put("BBSSession", bbsNew);                } else if (!bbs.isLogin()){                    // 如果用户已经登录主站,但未登录BBS系统,则更新用户的BBS信息                    // 并设置为已经登录BBS                    bbs.init(visitor.getUser().getId());                    bbs.setLogin(true);                }            }        }        // 进行下一个过滤        try {            chain.doFilter(request, response);        } catch(Throwable t) {            System.out.println("BBSLoginFilter:Trowable:" + t.getMessage());        }    }        // 获取sessionScope.Visitor    private Visitor getVisitor(HttpServletRequest request) {        Visitor visitor = null;        HttpSession session = request.getSession(false);        try {            visitor = (Visitor)session.getAttribute("visitor");        } catch (Exception e) {            //System.out.println("visitor is null");        }        return visitor;    }    public void destroy() {}}

⌨️ 快捷键说明

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