配置DispatcherServlet的方法介紹
DispatcherServlet是Spring MVC的前端控制器,要想在程序中使用DispatcherServlet,我們需要在web.xml中配置一個(gè)DispatcherServlet。配置的方法是,在web.xml文件中,配置一個(gè)<servlet>節(jié)點(diǎn),它的子節(jié)點(diǎn)<servlet-name>可以自定義一個(gè)名字,例如sample,<servlet-class>指定為org.spring.springframework.web.servlet.DispatcherServlet。
當(dāng)DispatcherServlet被載入后,它將從xml文件載入Spring的應(yīng)用上下文,而從哪個(gè)xml文件載入呢?xml文件的名字取決于DispatcherServlet的名字。如果DispatcherServlet的名字為sample,那么它將從sample-servlet.xml的文件中載入應(yīng)用上下文。
接下來(lái),我們需要配置哪些URL需要由DispatcherServlet來(lái)處理,這是通過(guò)在web.xml中配置一個(gè)<servlet-mapping>節(jié)點(diǎn)來(lái)實(shí)現(xiàn)的。如下所示。
<servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping>
正如前面提到的DispatcherServlet將從<servlet-name>命名的xml中載入應(yīng)用的上下文。那么這就要求我們把所有需要載入的Bean都定義在這個(gè)xml文件中。這顯然是不利于對(duì)Bean的分類的管理的。例如,我們想把持久層的bean放在一個(gè)xml文件中,把服務(wù)層的bean放在另一個(gè)xml文件中,把web層的bean也單獨(dú)放在一個(gè)xml文件中。那么DispatcherServlet如何載入多個(gè)xml文件呢?
為了把這些xml都載入進(jìn)來(lái),我們需要在web.xml文件中配置一個(gè)上下文載入器,上下文載入器用于載入除DispatcherServlet載入的xml文件之外的文件。最常用的上下文載入器就是一個(gè)servlet監(jiān)聽(tīng)器,名稱為ContextLoadListener。我們需要在web.xml中這樣配置它。
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
默認(rèn)情況下,上下文載入器將會(huì)在/WEB-INF/applicationContext.xml中載入配置,但如果想載入多個(gè)配置文件,我們需要改變它的默認(rèn)行為。
可以通過(guò)在Servlet上下文中設(shè)置contextConfigLocation參數(shù)來(lái)為上下文載入器指定一個(gè)或多個(gè)Spring配置文件。如下。
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/a.xml /WEB-INF/b.xml /WEB-INF/c.xml </param-value> </context-param>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
詳解Java中的println輸入和toString方法的重寫問(wèn)題
這篇文章主要介紹了Java中的println輸入和toString方法的重寫,一個(gè)對(duì)象數(shù)組在調(diào)用Arrays.toString打印時(shí),相當(dāng)于遍歷數(shù)組,然后打印里邊每個(gè)對(duì)象,這再打印對(duì)象就調(diào)用對(duì)象自己的toString了,需要的朋友可以參考下2022-04-04Spring Data JPA 整合QueryDSL的使用案例
QueryDSL 是一個(gè)用于構(gòu)建類型安全的 SQL 查詢的 Java 庫(kù),它的主要目標(biāo)是簡(jiǎn)化在 Java 中構(gòu)建和執(zhí)行 SQL 查詢的過(guò)程,同時(shí)提供類型安全性和更好的編碼體驗(yàn),對(duì)Spring Data JPA 整合QueryDSL使用案例感興趣的朋友跟隨小編一起看看吧2023-08-08Java基于遞歸和循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積算法示例
這篇文章主要介紹了Java基于遞歸和循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積算法,結(jié)合實(shí)例形式分析了Java使用遞歸與循環(huán)兩種方式實(shí)現(xiàn)未知維度集合的笛卡爾積相關(guān)概念、原理與操作技巧,需要的朋友可以參考下2017-12-12JAVA多線程之中斷機(jī)制stop()、interrupted()、isInterrupted()
這篇文章主要介紹了JAVA多線程之中斷機(jī)制stop()、interrupted()、isInterrupted()的相關(guān)資料,需要的朋友可以參考下2016-05-05解決Request.getParameter獲取不到特殊字符bug問(wèn)題
這篇文章主要介紹了解決Request.getParameter獲取不到特殊字符bug問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07淺析Java中靜態(tài)代理和動(dòng)態(tài)代理的應(yīng)用與區(qū)別
代理模式在我們生活中很常見(jiàn),而Java中常用的兩個(gè)的代理模式就是動(dòng)態(tài)代理與靜態(tài)代理,這篇文章主要為大家介紹了二者的應(yīng)用與區(qū)別,需要的可以參考下2023-08-08