實例如下:
public class LoginCheckFilter implements Filter { private FilterConfig config=null; private String webroot=null; public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)resp; HttpSession session=request.getSession(false); //取得當前會話的session,沒有session也不創建session,同request.getSession()一樣 String url=request.getRequestURI(); //獲取當前輸入的 /項目/當前訪問的路徑 與我們定義的路徑是否相同 if(url!=null&&url.equals(webroot+"/login.jsp")&&url.equals(webroot+"/LoginServlet")){ chain.doFilter(req,resp); }else{ if(session==null){ response.sendRedirect(webroot+"/login.jsp"); }else{ String user2=(String)session.getAttribute("user1"); if(user2==null){ response.sendRedirect(webroot+"/login.jsp"); }else{ chain.doFilter(request, response); } } } } @Override public void init(FilterConfig config) throws ServletException { // TODO Auto-generated method stub this.config=config; ServletContext ctx=config.getServletContext(); //獲取url /項目名 webroot=ctx.getContextPath(); //項目名 } }
這裡需要注意的是LoginServlet跳轉到歡迎頁面所用的跳轉是客戶端跳轉。
以上這篇jsp中過濾器選擇過濾器的寫法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持幫客之家。