Spring MVC

HandlerMapping无需配置,Spring MVC可以默认启动
一部分是公用的,另一部分是与特定DispatcherServlet相关的上下文
spring MVC的上下文层级
web应用上下文
WebApplicationContext(s)图中小的可能有多个的 是 通过 contextLoaderListener 加载的上下文。
与特定dispatcherServlet相关联的上下文,i.e 与 mvc dispatcher 相关的controller, viewResolver, handlerMapping, etc.
可能会有多个DispatcherServlet, 通过使用不同的 dispatcherServlet 来做不同的分发,可以更好地服务不同类型的请求。
用Spring MVC开发一个课程管理模块
配置文件:
【配置1】——web应用的部署描述文件web.xml,当前的web.xml是由maven自动生成的,它用到web-app_2_3的版本,这个标准之下,JSP页面会默认将EL表达式语言关闭,所以要将它替换掉,使用web_app_2_4以上版本,如下图,这样Web应用就可以使用EL表达式。

【配置2】——web.xml中加入Spring和SpringMVC的声明,以及所需Spring配置文件和SpirngMVC所需路径,如下图,所以现在有两个上下文环境一个是SpringMVC的上下文环境,一个是Spring的上下文环境(提供了所有应用公共使用的一些组件、一些服务,有service层、dao层等等,这些服务是被整个应用所共享的,没有局限在某一个DispatcherServlet上下文环境之中),另外一个则是与DispatcherServlet上下文相关的WebApplicationContext上下文,该上下文包含Controllers、HandlerMapping、ViewResolver,这里通常指的是配置文件,可以有多个DispatcherServlet,多个DispatcherServlet可以使用公共的WebApplicationContext,可以使用不同的DispathcerServlet进行不同的分发,更好进行不同类型的请求。


【配置3】——DispatcherServlet配置文件的配置。


【配置4】——Spring配置文件的配置。

小树叶里面不要忘记需要加代码
3333333333
2222222222222
33333333333333333
99999999999
6666666666
22222222222222
222222222222222222
配置上下文

上下文层级

多个DispatcherServlet(多个Controller)



用Spring MVC开发一个课程管理模块
配置文件:
【配置1】——web应用的部署描述文件web.xml,当前的web.xml是由maven自动生成的,它用到web-app_2_3的版本,这个标准之下,JSP页面会默认将EL表达式语言关闭,所以要将它替换掉,使用web_app_2_4以上版本,如下图,这样Web应用就可以使用EL表达式。

【配置2】——web.xml中加入Spring和SpringMVC的声明,以及所需Spring配置文件和SpirngMVC所需路径,如下图,所以现在有两个上下文环境一个是SpringMVC的上下文环境,一个是Spring的上下文环境(提供了所有应用公共使用的一些组件、一些服务,有service层、dao层等等,这些服务是被整个应用所共享的,没有局限在某一个DispatcherServlet上下文环境之中),另外一个则是与DispatcherServlet上下文相关的WebApplicationContext上下文,该上下文包含Controllers、HandlerMapping、ViewResolver,这里通常指的是配置文件,可以有多个DispatcherServlet,多个DispatcherServlet可以使用公共的WebApplicationContext,可以使用不同的DispathcerServlet进行不同的分发,更好进行不同类型的请求。


【配置3】——DispatcherServlet配置文件的配置。


【配置4】——Spring配置文件的配置。

Why we need multiple dispatcherServlet
通过使用不同的dispatcherServlet来做不同的分发,显然可以更好的来服务不同类型的请求
<!--扩充注解驱动,可以将请求参数绑定到控制器参数-->
<mvc:annotation-driver />
<!--静态资源处理,css,js,imgs-->
<mvc:resources mapping="/resources/**" location="/resources/*" />
添加上下文
改用2.4版本
applicationContext.xml
mvc-dispatcher-servlet.xml(3)
mvc-dispatcher-servlet.xml(2)
mvc-dispatcher-servlet.xml
web.xml Spring的声明
Spring MVC 上下文层级