您好,登錄后才能下訂單哦!
DispatcherServlet是Spring MVC的前端控制器,要想在程序中使用DispatcherServlet,我們需要在web.xml中配置一個DispatcherServlet。配置的方法是,在web.xml文件中,配置一個<servlet>節點,它的子節點<servlet-name>可以自定義一個名字,例如sample,<servlet-class>指定為org.spring.springframework.web.servlet.DispatcherServlet。
當DispatcherServlet被載入后,它將從xml文件載入Spring的應用上下文,而從哪個xml文件載入呢?xml文件的名字取決于DispatcherServlet的名字。如果DispatcherServlet的名字為sample,那么它將從sample-servlet.xml的文件中載入應用上下文。
接下來,我們需要配置哪些URL需要由DispatcherServlet來處理,這是通過在web.xml中配置一個<servlet-mapping>節點來實現的。如下所示。
<servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping>
正如前面提到的DispatcherServlet將從<servlet-name>命名的xml中載入應用的上下文。那么這就要求我們把所有需要載入的Bean都定義在這個xml文件中。這顯然是不利于對Bean的分類的管理的。例如,我們想把持久層的bean放在一個xml文件中,把服務層的bean放在另一個xml文件中,把web層的bean也單獨放在一個xml文件中。那么DispatcherServlet如何載入多個xml文件呢?
為了把這些xml都載入進來,我們需要在web.xml文件中配置一個上下文載入器,上下文載入器用于載入除DispatcherServlet載入的xml文件之外的文件。最常用的上下文載入器就是一個servlet監聽器,名稱為ContextLoadListener。我們需要在web.xml中這樣配置它。
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
默認情況下,上下文載入器將會在/WEB-INF/applicationContext.xml中載入配置,但如果想載入多個配置文件,我們需要改變它的默認行為。
可以通過在Servlet上下文中設置contextConfigLocation參數來為上下文載入器指定一個或多個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>
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。