Servlet注解之@WebInitParam多個(gè)InitParam的使用
Servlet注解之@WebInitParam多個(gè)InitParam使用
百度了半天也沒找到。。。。
使用@WebInitParam配置多個(gè)InitParam,使某些頁面不被攔截。
在過濾器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(“;”)的方法分割字符串,獲得所有不需要過濾的文件名稱數(shù)組。
5. 使用request.getRequestURI().indexOf(strArray[i])!=-1判斷是否為這些文件即可。
Servlet3.0注解@WebInitParam和@WebServlet
在以前的servlet中我們初始化一些參數(shù)都是配置在web.xml中的,自從servlet3.0之后給我們提供了注解@WebServlet和@WebInitParam,@WebServlet是用來配置servlet的屬性的,@WebInitParam是用來配置一些初始化屬性的。
@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)文章
SpringBoot監(jiān)聽器的實(shí)現(xiàn)示例
在SpringBoot中,你可以使用監(jiān)聽器來響應(yīng)特定的事件,本文主要介紹了SpringBoot監(jiān)聽器的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
JDBC下Idea添加mysql-jar包的詳細(xì)過程
這篇文章主要介紹了JDBC下Idea添加mysql-jar包的詳細(xì)過程,添加jar包首先到官網(wǎng)下載jar包,然后idea導(dǎo)入jar包,在就是檢查,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11
Spring Boot 深入分析AutoConfigurationImportFilter自動(dòng)化條件
這篇文章主要分析了Spring Boot AutoConfigurationImportFilter自動(dòng)化條件配置源碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-07-07
Spring IOC創(chuàng)建對(duì)象的兩種方式
這篇文章主要給大家介紹了關(guān)于Spring IOC創(chuàng)建對(duì)象的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
SpringBoot實(shí)現(xiàn)文章防盜鏈的代碼設(shè)計(jì)
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)文章防盜鏈的代碼設(shè)計(jì),文中通過代碼示例講解的非常詳細(xì),對(duì)大家實(shí)現(xiàn)文章防盜鏈功能有一定的幫助,需要的朋友可以參考下2024-05-05
Java中調(diào)用DLL動(dòng)態(tài)庫的操作方法
在Java編程中,有時(shí)我們需要調(diào)用本地代碼庫,特別是Windows平臺(tái)上的DLL(動(dòng)態(tài)鏈接庫),本文中,我們將詳細(xì)討論如何在Java中加載和調(diào)用DLL動(dòng)態(tài)庫,并通過具體示例來展示這個(gè)過程,感興趣的朋友跟隨小編一起看看吧2024-03-03

