欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用Filter實現(xiàn)登錄驗證

 更新時間:2023年11月13日 09:21:09   作者:霧林小妖  
本文主要介紹了Java使用Filter實現(xiàn)登錄驗證,Filter類似于門衛(wèi),你在進(jìn)入之前門衛(wèi)需要盤查你,身份合法進(jìn)入,身份不合法攔截,感興趣的可以了解一下

1、什么是Filter

Filter可認(rèn)為是Servlet的一種特殊用法,主要是對用戶發(fā)起的請求進(jìn)行預(yù)處理或后處理,意思就是在請求到達(dá)用戶想請求的地址之前先進(jìn)入Filter,或者在離開用戶請求之后進(jìn)入Filter。Filter類似于門衛(wèi),你在進(jìn)入之前門衛(wèi)需要盤查你,身份合法進(jìn)入,身份不合法攔截。

1.1、Filter過濾器的使用場景

1、對用戶的請求進(jìn)行統(tǒng)一認(rèn)證,適合做權(quán)限管理。

2、對請求和響應(yīng)進(jìn)行加密處理。

3、對用戶發(fā)送的請求或者響應(yīng)的數(shù)據(jù)進(jìn)行過濾處理。

4、對所有用戶的請求或者響應(yīng)進(jìn)行記錄,可以進(jìn)行日志管理。

2、Filter的使用方式

說明1:Filter的使用需要實現(xiàn)Filter接口,并重寫doFilter方法

說明2:導(dǎo)包信息import javax.servlet.Filter;

說明3:當(dāng)用戶正在進(jìn)行登錄的時候需要放行。

2.1、創(chuàng)建Filter

public class LoginFilter implements Filter{
	//銷毀方法
	public void destroy() {
	}
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
			throws IOException, ServletException {
		//將ServletRequest轉(zhuǎn)化成HttpServletRequest
	  HttpServletRequest request=(HttpServletRequest)servletRequest;
        HttpServletResponse response=(HttpServletResponse)servletResponse;
        //獲取當(dāng)前用戶的請求地址
        String url=request.getRequestURI();
        //如果請求的地址中包含login,就放行
        //如果用戶正在通過login.jsp或者請求login.do進(jìn)行登錄,要放行。
        if(url.indexOf("login")>-1){
        	//放行
        	filterChain.doFilter(request, response);
        	return ;
        }
        HttpSession session=request.getSession();
        String username=(String)session.getAttribute("username");
        //如果username值為空,說明沒有登錄,因為登錄成功后會將用戶信息保存在session中。
        if(username!=null){
        	//放行
        	filterChain.doFilter(request, response);
        	return ;
        }
        //如果沒有登錄轉(zhuǎn)發(fā)到login.jsp
        request.getRequestDispatcher("login.jsp").forward(request, response);
	}
	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

2.2、在web.xml中配置Filter信息

<!-- 自定義過濾器 -->
  <filter>
        <filter-name> LoginFilter </filter-name>
        <filter-class>com.it.filter. LoginFilter </filter-class>
    </filter>
    <filter-mapping>
        <filter-name> LoginFilter </filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

 到此這篇關(guān)于Java使用Filter實現(xiàn)登錄驗證的文章就介紹到這了,更多相關(guān)Java Filter登錄驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis-plus動態(tài)表名的實現(xiàn)示例

    mybatis-plus動態(tài)表名的實現(xiàn)示例

    這篇文章主要介紹了mybatis-plus動態(tài)表名的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳解Java如何判斷一個對象是否為空

    詳解Java如何判斷一個對象是否為空

    我們在剛開始學(xué)習(xí)Java的時候,遇到過最多的異常肯定是臭名昭著的空指針異常(NullPointerException),可以說它陪伴了我們整個初學(xué)階段,那么如何優(yōu)雅的判斷一個對象是否為空并且減少空指針異常呢,
    2024-01-01
  • 詳解Java阻塞隊列(BlockingQueue)的實現(xiàn)原理

    詳解Java阻塞隊列(BlockingQueue)的實現(xiàn)原理

    這篇文章主要介紹了詳解Java阻塞隊列(BlockingQueue)的實現(xiàn)原理,阻塞隊列是Java util.concurrent包下重要的數(shù)據(jù)結(jié)構(gòu),有興趣的可以了解一下
    2017-06-06
  • SpringBoot的異常處理流程是什么樣的?

    SpringBoot的異常處理流程是什么樣的?

    今天給大家?guī)淼氖荍ava的相關(guān)知識,文章圍繞著SpringBoot的異常處理流程展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例

    Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例

    數(shù)據(jù)庫中經(jīng)常有create_time,update_time兩個字段,在代碼中設(shè)置時間有點太麻煩了?mybatis-plus可以幫我們自動填充,本文主要介紹了Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例,感興趣的可以了解一下
    2022-04-04
  • Java查找 List 中的最大最小值實例演示

    Java查找 List 中的最大最小值實例演示

    這篇文章主要介紹了JAVA得到數(shù)組中最大值和最小值的簡單實例,需要的朋友可以參考下
    2017-04-04
  • SpringBoot整合Redis實現(xiàn)附近位置查找(LBS)功能

    SpringBoot整合Redis實現(xiàn)附近位置查找(LBS)功能

    Redis 提供了 GEO 數(shù)據(jù)結(jié)構(gòu),可以高效地存儲和查詢地理位置數(shù)據(jù),本文將介紹如何使用 Spring Boot + Redis 來實現(xiàn)附近位置查找,需要的可以了解下
    2025-03-03
  • freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例

    freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例

    這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java線程變量ThreadLocal詳細(xì)解讀

    Java線程變量ThreadLocal詳細(xì)解讀

    這篇文章主要介紹了Java線程變量ThreadLocal詳細(xì)解讀,多線程訪問同一個變量的時候,很容易出現(xiàn)問題,特別是多線程對一個共享變量進(jìn)行寫入的時候,為了線程的安全在進(jìn)行數(shù)據(jù)寫入時候會進(jìn)行數(shù)據(jù)的同步,需要的朋友可以參考下
    2024-01-01
  • JavaMail郵件發(fā)送機(jī)制詳解

    JavaMail郵件發(fā)送機(jī)制詳解

    這篇文章主要介紹了JavaMail郵件發(fā)送機(jī)制詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論