今天就跟大家聊聊有關(guān)SpringBoot中如何使用使用Filter過(guò)濾器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、仙游網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為仙游等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
1、引入spring-boot-starter-web
在pom.xml 中引入spring-boot-starter-web包。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2、建立過(guò)濾器程序
@Order(1):表示過(guò)濾器的順序,假設(shè)我們有多個(gè)過(guò)濾器,你如何確定過(guò)濾器的執(zhí)行順序?這個(gè)注解就是規(guī)定過(guò)濾器的順序。
@WebFilter:表示這個(gè)class是過(guò)濾器。
里面的參數(shù),filterName 為過(guò)濾器名字,urlPatterns 為過(guò)濾器的范圍,initParams 為過(guò)濾器初始化參數(shù)。
過(guò)濾器里面的三個(gè)方法
init : filter對(duì)象只會(huì)創(chuàng)建一次,init方法也只會(huì)執(zhí)行一次。
doFilter : 主要的業(yè)務(wù)代碼編寫方法,可以多次重復(fù)調(diào)用
destroy : 在銷毀Filter時(shí)自動(dòng)調(diào)用(程序關(guān)閉或者主動(dòng)銷毀Filter)。
@Order(1)@WebFilter(filterName = "piceaFilter", urlPatterns = "/*" , initParams = { @WebInitParam(name = "URL", value = "http://localhost:8080")})public class PiceaFilter implements Filter { private String url; /** * 可以初始化Filter在web.xml里面配置的初始化參數(shù) * filter對(duì)象只會(huì)創(chuàng)建一次,init方法也只會(huì)執(zhí)行一次。 * @param filterConfig * @throws ServletException */ @Override public void init(FilterConfig filterConfig) throws ServletException { this.url = filterConfig.getInitParameter("URL"); System.out.println("我是過(guò)濾器的初始化方法!URL=" + this.url + ",生活開(kāi)始........."); } /** * 主要的業(yè)務(wù)代碼編寫方法 * @param servletRequest * @param servletResponse * @param filterChain * @throws IOException * @throws ServletException */ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("我是過(guò)濾器的執(zhí)行方法,客戶端向Servlet發(fā)送的請(qǐng)求被我攔截到了"); filterChain.doFilter(servletRequest, servletResponse); System.out.println("我是過(guò)濾器的執(zhí)行方法,Servlet向客戶端發(fā)送的響應(yīng)被我攔截到了"); } /** * 在銷毀Filter時(shí)自動(dòng)調(diào)用。 */ @Override public void destroy() { System.out.println("我是過(guò)濾器的被銷毀時(shí)調(diào)用的方法!,活不下去了................" ); }}
3、建立Contoller類
這個(gè)類比較簡(jiǎn)單,不做特別說(shuō)明
@RestControllerpublic class PiceaContoller { @RequestMapping("/query") public void asyncTask() throws Exception { System.out.println("我是控制類里面的方法,我正在思考..............."); }}
4、啟動(dòng)類中增加注解,自動(dòng)注冊(cè)Filter
@ServletComponentScan :在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通過(guò)@WebServlet、@WebFilter、@WebListener注解自動(dòng)注冊(cè),無(wú)需其他代碼。
@SpringBootApplication@ServletComponentScanpublic class SpringBootFiFilterApplication { public static void main(String[] args) { SpringApplication.run(SpringBootFiFilterApplication.class, args); }}
看完上述內(nèi)容,你們對(duì)SpringBoot中如何使用使用Filter過(guò)濾器有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前標(biāo)題:SpringBoot中如何使用使用Filter過(guò)濾器
分享URL:http://www.rwnh.cn/article28/jeeojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、網(wǎng)站改版、小程序開(kāi)發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)