當前位置:
首頁 >
web登录时候加入过滤器的用法
發布時間:2024/8/23
26
豆豆
生活随笔
收集整理的這篇文章主要介紹了
web登录时候加入过滤器的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有關過濾器的講解我就不多加說明了,想要了解的可以自行看博文,寫的很詳細。
首先說說我想實現的功能,做學生信息管理系統的時候當用戶注銷后,雖然界面跳轉到登錄界面但當我們在地址欄中輸入主界面地址還是跳轉到主界面,我想此時你們想的是用session.invalidate(),這樣就不會跳轉到主界面中,但是這攔截的頁面僅僅針對的是有調用session值的界面,對沒有用到session值的頁面并沒有攔截,在地址欄中輸入地址仍然可以正常網頁,如果想避免這種問題因此用過濾器是個不錯的選擇。
代碼:
package com.filter;import java.io.IOException; import java.util.Enumeration; import java.util.Vector;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.HttpServletResponse; import javax.servlet.http.HttpSession;import com.student.vo.User;public class FilterCon implements Filter {public void init(FilterConfig config) throws ServletException {//String initParam=config.getInitParameter("ref");//取得初始化參數//System.out.println("過濾初始化"+initParam);}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest req=(HttpServletRequest)request;HttpServletResponse res=(HttpServletResponse)response;String uri=req.getRequestURI();if(uri.startsWith("/studentManageSystem/LoginServlet")||uri.startsWith("/studentManageSystem/login.jsp")||uri.startsWith("/studentManageSystem/image")||uri.startsWith("/studentManageSystem/js")){//對登錄頁面進行放行chain.doFilter(request, response);}else{HttpSession ses=req.getSession(); User user=(User)ses.getAttribute("myself");if(user!=null){chain.doFilter(request, response);}else{req.getRequestDispatcher("login.jsp").forward(req, res);}}}public void destroy() {System.out.println("過濾器銷毀");}}總結
以上是生活随笔為你收集整理的web登录时候加入过滤器的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C链表(顺序表、静态链表区别)
- 下一篇: 线程休眠