spring新手配置一问

配置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的请求.