宝哥软件园

DispatcherServlet Spring MVC _ Power Node Java Academy整理详解

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

DispatcherServlet角色

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,负责职责的分配,与Spring IoC容器无缝集成,让Spring的所有好处都能得到。详见第二章图2-1。

DispatcherServlet主要用于任务调度,主要用于过程控制。其主要职责如下:

1.文件上传解析:如果请求类型为multipart,将通过MultipartResolver进行文件上传解析;2.通过HandlerMapping将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器和多个HandlerInterceptor拦截器);3.通过HandlerAdapter支持各种类型的处理器(HandlerExecutionChain中的处理器);4.通过视图解析器将逻辑视图名称解析为具体的视图实现;5.本地化分析;6.呈现特定视图等。7.如果在执行过程中遇到异常,它将被交给HandlerExceptionResolver进行解决。

从上面我们可以看到,DispatcherServlet主要负责过程控制(并且过程中的每个关键点都很容易扩展)。

在web.xml中配置DispatcherServlet

servlet servlet-name chapter 2/servlet-name servlet-class org . spring framework . web . servlet . dispatcherservlet/servlet-class Load-on-startup 1/Load-on-start/servlet servlet-mapping servlet-name chapter 2/servlet-name URL-pattern//URL-pattern/servlet-mapping-Load-on-start:表示容器启动时servlet已初始化;

Url-pattern:指示哪些请求被移交给Spring Web MVC,用“/”定义默认的servlet映射。或者“*”。html”意味着拦截所有带有html扩展名的请求。

DispatcherServlet默认使用WebApplicationContext作为上下文,Spring默认配置文件为“/WEB-INF/[servlet名称]-servlet.xml”。

DispatcherServlet还可以配置自己的初始化参数,覆盖默认配置:

参数

形容

contextClass

实现WebApplicationContext接口的类,当前servlet使用该接口来创建上下文。如果未指定此参数,默认情况下将使用XmlWebApplicationContext。

contextConfigLocation

传递给上下文实例(由contextClass指定)以指定上下文位置的字符串。这个字符串可以被分成多个字符串(使用逗号作为分隔符)来支持多个上下文(在多个上下文的情况下,如果同一个bean被定义了两次,后一个优先)。

命名空间

WebApplicationContext命名空间。默认值是[服务器名]-servlet。

所以我们可以添加初始化参数

servlet servlet-name chapter 2/servlet-name servlet-class org . Spring framework . Web . servlet . dispatchersvlet/servlet-class load-on-startup 1/load-on-start init-param-namecontextConfigLocation/param-name param-value class path 3360 Spring-servlet-config . XML/param-value/init-param/如果servlet如上配置,Spring Web MVC框架将加载“类路径:spring-servlet

更多资讯
游戏推荐
更多+