Servlet注解之@WebInitParam多個(gè)InitParam的使用
Servlet注解之@WebInitParam多個(gè)InitParam使用
百度了半天也沒(méi)找到。。。。
使用@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)文章
Mybatis詳解在注解sql時(shí)報(bào)錯(cuò)的解決方法
MyBatis-Plus 是一個(gè) Mybatis 增強(qiáng)版工具,在 MyBatis 上擴(kuò)充了其他功能沒(méi)有改變其基本功能,為了簡(jiǎn)化開發(fā)提交效率而存在,本篇文章帶你看看在注解sql時(shí)所報(bào)出的錯(cuò)誤解決2022-03-03
解決idea導(dǎo)入maven項(xiàng)目缺少jar包的問(wèn)題方法
這篇文章主要介紹了解決idea導(dǎo)入maven項(xiàng)目缺少jar包的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Java微信公眾平臺(tái)開發(fā)(11) 微信三大平臺(tái)的關(guān)聯(lián)
這篇文章主要介紹了Java微信公眾平臺(tái)開發(fā)第十一步,微信開發(fā)中微信公眾平臺(tái)、開放平臺(tái)和商戶平臺(tái)的關(guān)聯(lián),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
Retrofit+RxJava實(shí)現(xiàn)帶進(jìn)度下載文件
這篇文章主要為大家詳細(xì)介紹了Retrofit+RxJava實(shí)現(xiàn)帶進(jìn)度下載文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理詳解
這篇文章主要介紹了JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
SpringBoot Application的exclude不生效問(wèn)題及排查
這篇文章主要介紹了SpringBoot Application的exclude不生效問(wèn)題及排查,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
探索分析Redis?AOF日志與數(shù)據(jù)持久性
這篇文章主要為大家介紹了探索分析Redis?AOF日志與數(shù)據(jù)持久性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

