配置DispatcherServlet
DispatcherServlet 配置
? 整個過程開始于客戶發(fā)出的一個請求,第一個接受這個請求的組件是Spring的DispatcherServlet。Spring? MVC將所有請求都經(jīng)過一個前端Servlet控制器。DispatcherServlet就是這個前端控制器。
DispatcherServlet 同其他的Servlet一樣要在web.xml中進行配置。?
<servlet>
??? <servlet-name>test</servlet-name>
??? <servlet-class>org.springframework.web.servlet.DispatcherServlet
??? </servlet-class>
??? <load-on-startup>1</load-on-startup>
</servelt>
?? 當(dāng)DispatcherServlet裝載后,它將從xml文件中載入spring的應(yīng)用上下文,這個xml文件的名字取決于servlet 的名字。在本例中因為servlet叫test,所以DispatcherServlet將試圖從一個叫做test-servlet.xml的文件中載入應(yīng)用上下文。
?? 接下來,你必須指定哪些URL需要由DispatcherServlet來處理。在web.xml中添加:
<servlet-mapping>
??? <servlet-name></servlet-name>
??? <url-pattern>*.do/*htm/...</url-pattern>
</servlet-mapping>
URL 是任意的。
??分解應(yīng)用上下文
??DispatcherServlet 可以從以<servlet-name>命名的xml文件中載入應(yīng)用上下文。但建議將應(yīng)用上下文分散到應(yīng)用系統(tǒng)的各個層中。
? web 層????????????? test-servlet.xml(用于控制的bean,Spring MVC組件)
? 業(yè)務(wù)層?????????????? test-service.xml
? 持久層?????????????? test-data.xml
由于?DispatcherServlet默認從test-servlet.xml(例子中)中載入應(yīng)用上下文,為了保證所有配置文件都會被載入,你需要在web.xml中配置一個上下文載入器。有兩種上下文載入器:ContextLoaderListener和ContextLoaderServlet。
可以在web.xml中這樣配置ContextLoaderListener:
<listener>
??? <listener-class>org.springframework.web.context.ContextLoaderLisetener
??? </listener-class>
</listener>
老版本只能用ContextLoaderServlet但它不能再Servlet之前初始化監(jiān)聽器.需要如下配置:
<servlet>
??? <servlet-name>context<servelt-name>
??? <servlet-class>org.springframework.web.context.ContextLoaderServlet
??? </servet-class>
??? <load-on-startup>1</load-on-startup>
</servlet>
你還需指定配置文件的位置,如沒有指定上下文載入器將在/WEB-INF/application-Context.xml處尋找Spring配置文件.
<context-param>
??? <param-name>contextConfigLocation</param-name>
??<param-value>/WEB-INF/ntx.xml, ..., ...</param-value>
</context-param>
DispatcherServlet 配置好了,但是web層沒有建好,那是下面的工作.
總結(jié)
以上是生活随笔為你收集整理的配置DispatcherServlet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DispatcherServlet代码分
- 下一篇: 一个简单的FreeMarker案例