accessfilter.java

来自「Simple login example for jsp beginner...」· Java 代码 · 共 58 行

JAVA
58
字号
package us.souther.simple.login;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.ServletResponse;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import java.io.IOException;                                                                                public class AccessFilter implements Filter{                                                                                    public void doFilter(ServletRequest  request,                         ServletResponse response,                         FilterChain     chain) throws IOException, ServletException{                                                                                        HttpServletRequest req = (HttpServletRequest)request;        HttpSession session  = req.getSession();        UserBean    userBean = (UserBean)session.getAttribute("userBean");        String uri = req.getRequestURI();        uri = uri.substring(uri.lastIndexOf("/"), uri.length());        //        // Let them see the menu, and login pages, even if they're not logged in.        //        if("/".equals(uri) || "/index.html".equals(uri)                            || "/login.do".equals(uri) || "/logout.do".equals(uri)){            chain.doFilter(request, response);            return;        }        //        // Must be logged in to ses anything else.        //        if(null == userBean){            LoginBean loginBean = new LoginBean();            loginBean.setErrorMessage("You must log in first");            loginBean.setRequestedUrl(req.getRequestURL().toString());            session.setAttribute("loginBean", loginBean);            request.getRequestDispatcher("/login.do").forward(request, response);            return;        }else{            chain.doFilter(request, response);        }    }                                                                                    // These two methods needed for Filter interface.    public void init(FilterConfig config){}    public void destroy(){}}                                                                                

⌨️ 快捷键说明

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