配置DispatcherServlet的方法介紹
DispatcherServlet是Spring MVC的前端控制器,要想在程序中使用DispatcherServlet,我們需要在web.xml中配置一個DispatcherServlet。配置的方法是,在web.xml文件中,配置一個<servlet>節(jié)點,它的子節(jié)點<servlet-name>可以自定義一個名字,例如sample,<servlet-class>指定為org.spring.springframework.web.servlet.DispatcherServlet。
當(dāng)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>
默認(rèn)情況下,上下文載入器將會在/WEB-INF/applicationContext.xml中載入配置,但如果想載入多個配置文件,我們需要改變它的默認(rèn)行為。
可以通過在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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
關(guān)于Java整合RocketMQ實現(xiàn)生產(chǎn)消費詳解
這篇文章主要介紹了關(guān)于Java整合RocketMQ實現(xiàn)生產(chǎn)消費詳解,RocketMQ作為一款純java、分布式、隊列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時消息、消息回溯等,需要的朋友可以參考下2023-05-05
java讀取文件內(nèi)容,解析Json格式數(shù)據(jù)方式
這篇文章主要介紹了java讀取文件內(nèi)容,解析Json格式數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot讀取Resource目錄下文件的四種方式總結(jié)
在Spring?Boot項目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,本文將介紹四種常用的方法來獲取resources目錄下的文件,需要的朋友可以參考下2023-08-08
MybatisPlus結(jié)合groupby實現(xiàn)分組和sum求和的步驟
這篇文章主要介紹了MybatisPlus結(jié)合groupby實現(xiàn)分組和sum求和的步驟,這次使用的是LambdaQueryWrapper,使用QueryWrapper相對來說簡單點就不寫了,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-12-12
Java實現(xiàn)貪吃蛇大作戰(zhàn)小游戲(附源碼)
今天給大家?guī)淼氖切№椖渴?nbsp;基于Java+Swing+IO流實現(xiàn) 的貪吃蛇大作戰(zhàn)小游戲。實現(xiàn)了界面可視化、基本的吃食物功能、死亡功能、移動功能、積分功能,并額外實現(xiàn)了主動加速和鼓勵機制,需要的可以參考一下2022-07-07
flowable動態(tài)創(chuàng)建多級流程模板實現(xiàn)demo
這篇文章主要為大家介紹了flowable動態(tài)創(chuàng)建多級流程模板實現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
SpringBoot @PostMapping接收HTTP請求的流數(shù)據(jù)問題
這篇文章主要介紹了SpringBoot @PostMapping接收HTTP請求的流數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

