配置spring:
contextConfigLocation
/WEB-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
dispatcher
org.springframework.web.servlet.DispatcherServlet
2
[b]问题:[/b]使用listener的org.springframework.web.context.ContextLoaderListener和使用servlet的org.springframework.web.servlet.DispatcherServlet有什么区别? 他们分别用在什么情况下?
我要用spring的MVC,我看到的代码,似乎没有listen也可以。但是[b]仅有listen也可以使用它的MVC吗[/b]?
Thank you !
ContextLoaderListener 是实现了ServletContextListener, 也就是应用启动的时候就创建applicationContext.
DispatcherServlet 是继承了HttpServlet, 启动的时候也会去加载applicationContext.
他们都是根据contextConfigLocation的配置去加载applicationContext.
所以, 在一个应用里面不应该去配置两次, 否则就是加载了2次.
他们其实是用途有些不一样, 一个只是listener, 只是用于应用启动的时候加载applicationContext. 一个是Servlet, Servlet是可以响应从url过来的请求, 非web项目肯定是不需要响应url的, 就应该改用listener即可.
仅有listener 是不可以使用MVC的, MVC毕竟要接收来自于URL的请求.