日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java过滤器放行_过滤器学习

發(fā)布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java过滤器放行_过滤器学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

過濾器學(xué)習(xí):

問題:

目前我們訪問Servlet,是可以直接進(jìn)行訪問的,沒有進(jìn)行任何防護(hù)。可能會造成服務(wù)器資源的浪費,以及安全性不高。我們希望在請求被Servlet處理之前,進(jìn)行一次請求的校驗,符合要求再調(diào)用對應(yīng)的Servlet進(jìn)行請求處理。

解決:

使用過濾器。

作用:

過濾器是處于客戶端與服務(wù)器資源文件之間的一道過濾網(wǎng),在訪問資源文件之前,通過一系列的過濾器對請求進(jìn)行修改、判斷等,把不符合規(guī)則的請求在中途攔截或修改。也可以對響應(yīng)進(jìn)行過濾,攔截或修改響應(yīng)。對服務(wù)器資源進(jìn)行管理,保護(hù) servlet。

使用:

  • 創(chuàng)建一個普通java類并實現(xiàn)過濾器接口Filter(javax.servlet包下的Filter)
  • 在web.xml中配置過濾器
  • <filter><filter-name>配置的過濾器名稱</filter-name><filter-class>要配置的過濾器的全限定路徑:包名.類名</filter-class> </filter> <filter-mapping><filter-name>配置的過濾器名稱</filter-name><url-pattern>過濾器攔截請求地址的范圍</url-pattern> </filter-mapping>注意:<filter>和<filter-mapping>中屬性<filter-name>要配置的過濾器名稱要一致示例: <filter><filter-name>myFilter</filter-name><filter-class>com.bjsxt.filter.MyFilter</filter-class> </filter> <filter-mapping><filter-name>myFilter</filter-name><url-pattern>/*</url-pattern> </filter-mapping>

    技能點:

    • 技能點一:過濾器之doFilter方法
    作用:服務(wù)器在接收到瀏覽器發(fā)過來的請求后,先解析請求信息,創(chuàng)建對象request和response,然后根據(jù)請求URL地址判斷是否符合過濾器的過濾范圍,符合則會調(diào)用過濾器中的doFilter方法來進(jìn)行請求攔截,并將request和response對象作為實參傳遞給doFilter方法。我們可以在doFilter方法中聲明過濾器攔截代碼。 參數(shù):ServletRequest:接收此次攔截的請求的request實參ServletResponse:接收此次攔截的請求的response實參FilterChain:可以進(jìn)行請求放行chain.doFilter(request, response);
    • 技能點二:過濾器之init方法和destroy方法
    init方法:服務(wù)器啟動時調(diào)用,服務(wù)器啟動時候完成了過濾器的加載 destroy方法:服務(wù)器關(guān)閉時調(diào)用,服務(wù)器關(guān)閉時候完成了過濾器的銷毀 證明:過濾器的生命周期為從服務(wù)器開啟到服務(wù)器關(guān)閉
    • 技能點三:過濾器之?dāng)r截范圍配置
    攔截所有:/* 攔截部分Servlet的請求:*.do 攔截指定Servlet的請求:和要攔截的指定的Servlet的url-pattern配置完全一致即可,例如:/my 注意:1.過濾器之間會出現(xiàn)多重攔截,如果是按照攔截攔截范圍的大小在web.xml中自大而小進(jìn)行的配置則會先執(zhí)行大范圍的攔截器,再執(zhí)行小范圍的攔截器。2.攔截順序與web.xml配置的順序有關(guān),因此建議要按照攔截范圍的大小進(jìn)行自大而小的配置

    代碼示例:

  • 創(chuàng)建一個普通java類并實現(xiàn)過濾器接口Filter(javax.servlet包下的Filter)
  • MyServlet: package com.bj.servlet;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class MyServlet*/ @WebServlet("/my.do") public class MyServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("張三家被訪問了");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}MyFilter: package com.bj.filter;import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;public class MyFilter implements Filter{@Overridepublic void destroy() {System.out.println("MyFilter.destroy()");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {System.out.println("MyFilter.doFilter(我是小區(qū)門口保安)");//放行chain.doFilter(request, response);}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("MyFilter.init()");} }MyFilter2:省略部分代碼,省略部分參照MyFilter public class MyFilter2 implements Filter{@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {System.out.println("MyFilter2.doFilter(我是樓門口的保安)");chain.doFilter(request, response);} }MyFilter3:省略部分代碼,省略部分參照MyFilter public class MyFilter3 implements Filter{@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {System.out.println("MyFilter3.doFilter(我是張三家門口的保安)");chain.doFilter(request, response);} }

    2. 在web.xml中配置過濾器

    <!-- 過濾器配置:攔截所有 --><filter><filter-name>myFilter</filter-name><filter-class>com.bj.filter.MyFilter</filter-class></filter><filter-mapping><filter-name>myFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 過濾器配置:攔截部分 --><filter><filter-name>myFilter2</filter-name><filter-class>com.bj.filter.MyFilter2</filter-class></filter><filter-mapping><filter-name>myFilter2</filter-name><url-pattern>*.do</url-pattern></filter-mapping><!-- 過濾器配置:攔截指定的Servlet的請求 --><filter><filter-name>myFilter3</filter-name><filter-class>com.bj.filter.MyFilter3</filter-class></filter><filter-mapping><filter-name>myFilter3</filter-name><url-pattern>/my.do</url-pattern></filter-mapping>

    3. 網(wǎng)頁請求servlet處理

    請求servlet

    4. 處理結(jié)果

    按照web.xml中的配置順序進(jìn)行了自大而小的攔截

    總結(jié)

    以上是生活随笔為你收集整理的java过滤器放行_过滤器学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人网在线免费观看 | 亚洲资源av | 一级做a爰片久久毛片 | 国产99久久九九精品无码免费 | 一级特黄aa大片免费播放 | 少妇喷水在线观看 | 人妻体体内射精一区二区 | 国产精品久久久久久久久久久久久久 | 国产亚洲av在线 | 毛片视频在线免费观看 | 深夜福利网站在线观看 | 欧美日韩无 | a级黄色片网站 | 午夜一级影院 | 久久久蜜桃一区二区人 | 美女脱裤子让男人捅 | 久久久久无码精品国产 | 青青青在线观看视频 | 国产精品制服丝袜 | 日本熟女一区二区 | 欧美日韩精品免费 | 看全色黄大色黄大片大学生 | 日本视频在线观看 | 骚虎av| 巨胸喷奶水www久久久免费动漫 | 色噜噜综合 | 毛片3| 欧美xxx视频 | 国产大奶在线观看 | 野花社区视频在线观看 | 国产毛茸茸 | 国产老女人乱淫免费可以 | 91天天综合 | 好男人视频www | 我和公激情中文字幕 | 91小仙女jk白丝袜呻吟 | 日本一区免费视频 | 亚洲中文字幕无码不卡电影 | 日韩欧美一级在线 | av综合色| 黄色在线网| 国产9区 | 黄色一级片黄色一级片 | 免费人妻精品一区二区三区 | 精品人妻一区二区三区久久 | 涩涩视频软件 | 日本人的性生活视频 | 一区二区国产电影 | 九草av| 亚洲成av人片在www色猫咪 | 亚洲精品久久久久久一区二区 | 中文字幕在线播放日韩 | 国产精选在线观看 | 亚洲国产精品久 | 国产精品久久久久久99 | 91在线一区二区三区 | 女厕厕露p撒尿八个少妇 | 中文字幕视频网站 | 毛片在线视频 | 欧美激情精品久久久久 | 国产免费视频 | www.呦呦 | 亚洲av无码久久忘忧草 | 青青草自拍视频 | 日韩亚洲影院 | 国产女同91疯狂高潮互磨 | 肉大捧一进一出免费视频 | 免费看av网| 亚洲免费三区 | 欧美成在线观看 | 欧美日韩中文字幕一区二区三区 | 你懂的在线播放 | 久久在线视频免费观看 | 激情免费视频 | 色婷婷av一区二区三区之红樱桃 | 亚洲天堂黄 | 久久97视频 | 香蕉尹人| 91亚洲一区二区三区 | 一个色综合导航 | 狠狠狠狠干 | 一区二区三区四区人妻 | 中文字幕第9页 | 久久婷婷av| 91碰在线视频 | 美女张开腿让男人桶爽 | 婷婷亚洲精品 | 欧美日韩一区二区三区国产精品成人 | 日日躁夜夜躁aaaabbbb | 免费精品一区 | 亚洲污污视频 | 在线观看视频91 | 日韩成人午夜电影 | 国产亚洲AV无码成人网站在线 | 黄色长视频 | 国产黄色网址在线观看 | 筱田优av| 日本韩国欧美 | 欧美日韩在线影院 |