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ā)編程之關(guān)鍵字volatile知識(shí)總結(jié)
今天帶大家學(xué)習(xí)java的相關(guān)知識(shí),文章圍繞著Java關(guān)鍵字volatile展開(kāi),文中有非常詳細(xì)的知識(shí)總結(jié),需要的朋友可以參考下2021-06-06
使用Homebrew配置Java開(kāi)發(fā)環(huán)境操作方法
下面小編就為大家?guī)?lái)一篇使用Homebrew配置Java開(kāi)發(fā)環(huán)境操作方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解
這篇文章主要介紹了MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
淺談Springboot之于Spring的優(yōu)勢(shì)
這篇文章主要介紹了淺談Springboot之于Spring的優(yōu)勢(shì),簡(jiǎn)述了在Java EE開(kāi)發(fā)中遇到的問(wèn)題,言簡(jiǎn)意賅,需要的朋友可以參考下。2017-09-09
Java Mybatis架構(gòu)設(shè)計(jì)深入了解
在本篇文章里小編給大家整理的是一篇關(guān)于Java Mybatis架構(gòu)設(shè)計(jì)詳解內(nèi)容,對(duì)此有興趣的朋友們可以參考下,希望能夠給你帶來(lái)幫助2021-11-11
java中實(shí)體類轉(zhuǎn)Json的2種方法
本篇文章中主要介紹了java中實(shí)體類轉(zhuǎn)Json的2種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。2017-01-01
Java訪問(wèn)者設(shè)計(jì)模式詳細(xì)講解
大多數(shù)情況下你不需要訪問(wèn)者模式,但當(dāng)一旦需要訪問(wèn)者模式時(shí),那就是真的需要它了,這是設(shè)計(jì)模式創(chuàng)始人的原話??梢钥闯鰬?yīng)用場(chǎng)景比較少,但需要它的時(shí)候是不可或缺的,這篇文章就開(kāi)始學(xué)習(xí)最后一個(gè)設(shè)計(jì)模式——訪問(wèn)者模式2022-11-11
Spring Boot整合EasyExcel(完整版包含上傳解析excel和下載模板)
這篇文章主要介紹了Spring Boot整合EasyExcel(完整版包含上傳解析excel和下載模板),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

