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