Servlet注解之@WebInitParam多個(gè)InitParam的使用
Servlet注解之@WebInitParam多個(gè)InitParam使用
百度了半天也沒找到。。。。
使用@WebInitParam配置多個(gè)InitParam,使某些頁(yè)面不被攔截。
在過(guò)濾器Filter.java下添加注解
@WebFilter(filterName="Filter",urlPatterns="/*", initParams = { ? ? ? ? @WebInitParam(name = "noLoginPaths", value = "index.jsp;fail.jsp;/LoginServlet") ? ? ? ? })
1. name為InitParameter名字,value為值,之間用特殊符號(hào)隔開,這里用逗號(hào)。
2. 建立一個(gè)私有FilterConfig類的字符串config,并在重寫Filter.java的Init()方法里初始化confg=arg0;
3. 使用config.getInitParameter(“noLoginPaths”);獲得InitParam的value的字符串。
4. 使用split(“;”)的方法分割字符串,獲得所有不需要過(guò)濾的文件名稱數(shù)組。
5. 使用request.getRequestURI().indexOf(strArray[i])!=-1判斷是否為這些文件即可。
Servlet3.0注解@WebInitParam和@WebServlet
在以前的servlet中我們初始化一些參數(shù)都是配置在web.xml中的,自從servlet3.0之后給我們提供了注解@WebServlet和@WebInitParam,@WebServlet是用來(lái)配置servlet的屬性的,@WebInitParam是用來(lái)配置一些初始化屬性的。
@WebServlet和@WebInitParam使用如下
package roseindia.net; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.annotation.WebInitParam; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; ? @WebServlet( ?? ?name = "WebInitParamExample", urlPatterns = {"/hello"} ?? ?,initParams = { ?? ?@WebInitParam(name= "Site :", value="http://roseindia.net"), ?? ?@WebInitParam(name= "Rose", value= "India"), ?? ?} ) public class WebInitParamExample extends HttpServlet{ ?? ?public void doGet(HttpServletRequest request, HttpServletResponse response) ?? ?throws ServletException, IOException ?? ?{ ?? ??? ?response.setContentType("text/html"); ?? ??? ?PrintWriter out = response.getWriter(); ?? ??? ?out.println("<h2>Init Param Servlet Example</h2>"); ?? ??? ?ServletConfig config= getServletConfig(); ?? ??? ?String pValue= config.getInitParameter("Site :"); ?? ??? ?out.println("Param Value : "+pValue); ?? ??? ?String pValue1= config.getInitParameter("Rose"); ?? ??? ?out.println("<br>Param Value : "+pValue1); ?? ??? ?out.close(); ?? ?} }
如果在web.xml中配置則如下
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ?? ?<display-name>servletAnnotationExample</display-name> ?? ?<servlet> ?? ??? ?<servlet-name>WebInitParamExample</servlet-name> ?? ??? ?<servlet-class>roseindia.net.WebInitParamExample</servlet-class> ?? ??? ?<init-param> ?? ??? ??? ?<param-name>Site :</param-name> ?? ??? ??? ?<param-value>http://roseindia.net</param-value> ?? ??? ?</init-param> ?? ?</servlet> ?? ?<servlet-mapping> ?? ??? ?<servlet-name>WebInitParamExample</servlet-name> ?? ??? ?<url-pattern>/hello</url-pattern> ?? ?</servlet-mapping> </web-app>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot 2.X快速整合jpa過(guò)程解析
這篇文章主要介紹了Spring Boot 2.X 如何快速整合jpa?,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08SpringBoot監(jiān)聽器的實(shí)現(xiàn)示例
在SpringBoot中,你可以使用監(jiān)聽器來(lái)響應(yīng)特定的事件,本文主要介紹了SpringBoot監(jiān)聽器的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12JDBC下Idea添加mysql-jar包的詳細(xì)過(guò)程
這篇文章主要介紹了JDBC下Idea添加mysql-jar包的詳細(xì)過(guò)程,添加jar包首先到官網(wǎng)下載jar包,然后idea導(dǎo)入jar包,在就是檢查,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11Spring Boot 深入分析AutoConfigurationImportFilter自動(dòng)化條件
這篇文章主要分析了Spring Boot AutoConfigurationImportFilter自動(dòng)化條件配置源碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-07-07Spring IOC創(chuàng)建對(duì)象的兩種方式
這篇文章主要給大家介紹了關(guān)于Spring IOC創(chuàng)建對(duì)象的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03SpringBoot實(shí)現(xiàn)文章防盜鏈的代碼設(shè)計(jì)
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)文章防盜鏈的代碼設(shè)計(jì),文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家實(shí)現(xiàn)文章防盜鏈功能有一定的幫助,需要的朋友可以參考下2024-05-05Java中調(diào)用DLL動(dòng)態(tài)庫(kù)的操作方法
在Java編程中,有時(shí)我們需要調(diào)用本地代碼庫(kù),特別是Windows平臺(tái)上的DLL(動(dòng)態(tài)鏈接庫(kù)),本文中,我們將詳細(xì)討論如何在Java中加載和調(diào)用DLL動(dòng)態(tài)庫(kù),并通過(guò)具體示例來(lái)展示這個(gè)過(guò)程,感興趣的朋友跟隨小編一起看看吧2024-03-03