首頁 Java java教程 Servlet過濾器Filter的簡單介紹(附範例)

Servlet過濾器Filter的簡單介紹(附範例)

Nov 24, 2018 pm 04:54 PM
servlet

這篇文章帶給大家的內容是關於Servlet過濾器Filter的簡單介紹(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

特點

1)Filter是依賴Servlet容器,屬於Servlet規範的一部分,在Servlet API中定義了三個介面類別:Filter, FilterChain, FilterConfig。

2)基本功能是對 呼叫 Servlet 的過程進行攔截,從而在 Servlet 進行響應處理的前後實現一些特殊的功能。

3)需要在 web.xml 檔案中進行註冊並設定它所能攔截的資源。

編碼

public class UserNoFilter implements Filter { 
    
	private FilterConfig filterConfig; //获取参数配置

	public void init(FilterConfig fConfig) throws ServletException {
		this.filterConfig = fConfig;
	}
	
	/**
	 * 业务逻辑判断
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		
		String initUser = filterConfig.getInitParameter("userNo");
		String userNo = request.getParameter("userNo");//从提交请求获取用户账号
		
		if(!initUser.equals(userNo)){
			request.setAttribute("message", "用户名不正确");
			request.getRequestDispatcher("/index.jsp").forward(request, response);
			return;
		}
		
		chain.doFilter(request, response);
	} 
	
	public void destroy() {
		 
	} 

}
登入後複製

web.xml參數

	<!-- 配置过滤器 -->
	<filter>
		<display-name>UserNoFilter</display-name>
		<filter-name>UserNoFilter</filter-name>
		<filter-class>com.demo.filter.UserNoFilter</filter-class>
		<init-param>
			<param-name>userNo</param-name>
			<param-value>admin</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>UserNoFilter</filter-name>
		<url-pattern>/hello.jsp</url-pattern> 
	</filter-mapping>
登入後複製

應用程式

##   1)指定編碼格式

request.setCharacterEncoding(encoding);
filterChain.doFilter(request, response);
登入後複製

  2)使用者是否登入、使用者能否存取選單

String userId=(String) session.getAttribute("userId");
if (userId ==null){
}
登入後複製

以上是Servlet過濾器Filter的簡單介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

servlet生命週期分成幾個階段 servlet生命週期分成幾個階段 Feb 23, 2023 pm 01:46 PM

Servlet生命週期是指servlet從創建到毀滅的整個過程,可分為3個階段:1、初始化階段,呼叫init()方法實作Servlet的初始化工作;2、運行階段(處理請求),容器會為指定請求建立代表HTTP請求的ServletRequest對象和代表HTTP回應的ServletResponse對象,然後將它們作為參數傳遞給Servlet的service()方法;3、銷毀階段。

什麼是servlet 什麼是servlet Jan 28, 2023 am 09:51 AM

Servlet全名為“Java Servlet”,中文意思是小服務程序或服務連接器,是運行在網頁伺服器或應用伺服器上的程序,它是作為來自網頁瀏覽器或其他HTTP客戶端的請求和HTTP伺服器上的資料庫或應用程式之間的中間層。 Servlet具有獨立於平台和協定的特性,主要功能在於互動式地瀏覽和產生數據,產生動態Web內容。

Java Servlet的應用場景有哪些? Java Servlet的應用場景有哪些? Apr 17, 2024 am 08:21 AM

JavaServlet可用於:1.動態內容產生;2.資料存取與處理;3.表單處理;4.檔案上傳;5.會話管理;6.篩選器。範例:建立一個FormSubmitServlet來處理表單提交,將name和email作為參數,並重新導向到success.jsp。

Java Servlet如何實現分散式會話管理? Java Servlet如何實現分散式會話管理? Apr 16, 2024 pm 02:48 PM

JavaServlet中實作分散式會話管理的方法有兩種:1.會話複製:將會話資料複製到各個伺服器。 2.會話分佈:使用集中式儲存服務儲存會話數據,由多個伺服器存取。具體實作方式有:會話複製配置web.xml檔案中的true;會話分佈使用Redis:引入jedis函式庫,編寫Servlet使用Jedis儲存和檢索會話資料;使用SpringSession:引入spring-session依賴,注入SessionRepository,透過它操作會話數據。

Web開發的Java技術堆疊:了解Java EE、Servlet、JSP、Spring等常用於Web開發的技術 Web開發的Java技術堆疊:了解Java EE、Servlet、JSP、Spring等常用於Web開發的技術 Dec 26, 2023 pm 02:29 PM

JavaWeb開發技術堆疊:掌握JavaEE、Servlet、JSP、Spring等用於Web開發的技術隨著互聯網的快速發展,在當今的軟體開發領域,Web應用的開發已成為非常重要的技術需求。而Java作為一種廣泛應用的程式語言,其在Web開發領域也有著重要的地位。 JavaWeb開發技術堆疊涉及多項技術,如JavaEE、Servlet、JSP、Spr

Java錯誤:Servlet錯誤,如何解決與避免 Java錯誤:Servlet錯誤,如何解決與避免 Jun 25, 2023 pm 06:34 PM

JavaWeb應用程式開發中,Servlet是非常常用的技術。但是在開發過程中難免會出現一些Servlet錯誤,如何解決並避免Servlet錯誤成為許多Java開發者的頭等問題。本文將根據個人經驗和相關資料介紹一些常見的Servlet錯誤及其解決方法。 ClassNotFoundException當我們嘗試載入一個類別的時候,如果該類別不存在或不能被系統訪問,

Java中如何手動設定Servlet在Tomcat中運行? Java中如何手動設定Servlet在Tomcat中運行? Apr 26, 2023 am 09:55 AM

1.準備工作如下圖,先按照要求創建好各個文件這時候如果你覺得能運行,那就錯了(我一開始卡在這了)idea的項目結構如果學習過用idea創建servlet應用,你肯定會發現,這裡提供的web.xml根本不完整請用以下程式碼囊括上述的servlet標籤//在這裡加入上面說過的servlet標籤碼2.編譯檔編碼出問題如上,剛開始我想編譯,但報錯了這裡的原因是,javac會根據你的作業系統編碼讀取原始檔程式碼,而我的電腦是預設GBK的,但這些原始碼我們都是在記事本寫下的,而記事本預設使用UTF-8保存,於

Servlet中的HttpSession接口 Servlet中的HttpSession接口 Sep 02, 2023 am 10:05 AM

在JavaWeb開發領域,了解HttpSession介面是建立動態和響應式Web應用程式的關鍵。在本文中,我們將探討HttpSession介面是什麼、它是如何運作的以及為什麼它在Servlet規格中起著至關重要的作用。什麼是HttpSession介面? HttpSession介面的核心是JavaServletAPI的基本元件,它使Web開發人員能夠跨多個HTTP請求追蹤使用者的會話。當使用者第一次存取網路應用程式時,會創建一個唯一的會話來表示他們的互動。此會話允許應用程式在請求之間維護狀態並記住有關

See all articles