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
夾帶信息
所夾帶的信息可以通過 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后端開發(fā)超詳細(xì)教程
- JavaWeb Servlet生命周期細(xì)枝末節(jié)處深究
- JavaWeb通過IDEA配置Servlet操作流程詳解
- Java中Servlet的生命周期詳解
- 淺談一下Servlet的定義以及運(yùn)行原理
相關(guān)文章
Java線程重復(fù)執(zhí)行以及操作共享變量的代碼示例
這篇文章主要介紹了Java中對(duì)線程重復(fù)執(zhí)行以及操作共享變量的代碼示例,來自于Java面試題目的練習(xí)整理,需要的朋友可以參考下2015-12-12JAVA JSP頁面技術(shù)之EL表達(dá)式整理歸納總結(jié)
這篇文章主要介紹了java中JSP頁面技術(shù)之EL表達(dá)式概念作用以及語法等的使用,需要的朋友可以參考2017-04-04Java實(shí)現(xiàn)驗(yàn)證碼具體代碼(圖片、漢字)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)驗(yàn)證碼具體代碼,包括圖片驗(yàn)證碼、漢字驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01java實(shí)現(xiàn)隨機(jī)抽取獎(jiǎng)品工具類
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)隨機(jī)抽取獎(jiǎng)品工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05Java微信公眾平臺(tái)開發(fā)(5) 文本及圖文消息回復(fù)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第五步,回文本及圖文消息回復(fù)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04spring中ApplicationListener的使用小結(jié)
ApplicationListener是spring提供的一個(gè)監(jiān)聽器,本文主要介紹了spring中ApplicationListener的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07