JavaWeb ServletConfig作用及原理分析講解
基本概念
servlet 關(guān)系
servlet 和 servletconfig 是一對(duì)一的關(guān)系;
servletconfig 作用
它存儲(chǔ) web.xml 內(nèi)的 servlet 標(biāo)簽內(nèi)的所有信息;
tomcat 在解析 web.xml 中的標(biāo)簽時(shí),就會(huì)自動(dòng)把 servlet 標(biāo)簽包裝到 servletconfig 里面去;
使用
獲取 config 基礎(chǔ)信息
首先我們手動(dòng)創(chuàng)建一個(gè) ConfigServlet,注冊(cè)流程這里省略了;
這里為了方便,直接選擇繼承 GenericServlet;
public class ConfigServlet extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
// 設(shè)置請(qǐng)求頭
servletResponse.setContentType("text/html");
PrintWriter writer = servletResponse.getWriter();
// 獲取本servlet的servletconfig
ServletConfig config = this.getServletConfig();
// 打印本config的真實(shí)對(duì)象名稱
writer.println("servletconfig: " + config.toString() + "<br>");
// 獲取當(dāng)前servletconfig所管轄的servlet的名稱
String configName = config.getServletName();
writer.println("名字是:" + configName);
}
}攜帶信息
我們可以在 web.xml 中的 servlet 標(biāo)簽下,使用 init-param 夾帶信息
所夾帶的信息可以通過(guò) servletconfig 進(jìn)行獲取,夾帶信息數(shù)量不限;
<servlet>
<servlet-name>configServlet</servlet-name>
<servlet-class>com.zhiyiyi.javaweb.servlet.ConfigServlet</servlet-class>
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
</servlet>使用 servletconfig 獲取信息:
目前獲取 init-param 中的信息有以下兩種方式:
- 使用 getInitParameterNames 獲取所有參數(shù)名稱后再一一拿出 value
- 使用 getInitParameter 精準(zhǔn)指定參數(shù)名后獲取 value
// 使用枚舉的方法獲取到所有參數(shù)名稱
Enumeration<String> initParameterNames = config.getInitParameterNames();
// 迭代輸出獲取到的參數(shù)名稱
while (initParameterNames.hasMoreElements()) {
String name = initParameterNames.nextElement();
writer.println(name + "<br>");
}
// 直接指定需要獲取的參數(shù)名稱,精準(zhǔn)拿到value
String userName = config.getInitParameter("user");
writer.println(userName + "<br>");到此這篇關(guān)于JavaWeb ServletConfig作用及原理分析講解的文章就介紹到這了,更多相關(guān)JavaWeb ServletConfig內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- ServletWebServerApplicationContext創(chuàng)建Web容器Tomcat示例
- Springboot如何添加server.servlet.context-path相關(guān)使用
- Java Servlet線程中AsyncContext異步處理Http請(qǐng)求
- Java?Servlet實(shí)現(xiàn)表白墻的代碼實(shí)例
- Java servlet后端開(kāi)發(fā)超詳細(xì)教程
- JavaWeb Servlet生命周期細(xì)枝末節(jié)處深究
- JavaWeb通過(guò)IDEA配置Servlet操作流程詳解
- Java中Servlet的生命周期詳解
- 淺談一下Servlet的定義以及運(yùn)行原理
相關(guān)文章
Java線程重復(fù)執(zhí)行以及操作共享變量的代碼示例
這篇文章主要介紹了Java中對(duì)線程重復(fù)執(zhí)行以及操作共享變量的代碼示例,來(lái)自于Java面試題目的練習(xí)整理,需要的朋友可以參考下2015-12-12
JAVA JSP頁(yè)面技術(shù)之EL表達(dá)式整理歸納總結(jié)
這篇文章主要介紹了java中JSP頁(yè)面技術(shù)之EL表達(dá)式概念作用以及語(yǔ)法等的使用,需要的朋友可以參考2017-04-04
Java實(shí)現(xiàn)驗(yàn)證碼具體代碼(圖片、漢字)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)驗(yàn)證碼具體代碼,包括圖片驗(yàn)證碼、漢字驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
java實(shí)現(xiàn)隨機(jī)抽取獎(jiǎng)品工具類
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)隨機(jī)抽取獎(jiǎng)品工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
Java微信公眾平臺(tái)開(kāi)發(fā)(5) 文本及圖文消息回復(fù)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開(kāi)發(fā)第五步,回文本及圖文消息回復(fù)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
spring中ApplicationListener的使用小結(jié)
ApplicationListener是spring提供的一個(gè)監(jiān)聽(tīng)器,本文主要介紹了spring中ApplicationListener的使用小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07

