技术开发 频道

Spring MVC快速入门

认识并配置DispatcherServlet

    DispatcherServlet是Spring MVC的心脏,它负责接收HTTP请求组织并协调Spring MVC的各种组件共同完成请求的处理工作。和任何Servlet一样,你必须在web.xml中配置好DispatcherServlet。

DispatcherServlet的工作主要包括以下三项:
1) 截获满足特定模式URL请求,交由Spring MVC框架处理;

2) 初始化DispatcherServlet上下文对应的WebApplicationContext,并将其和业务层、持久层的WebApplicationContext建立关联,以便展现层的Bean可以调用业务层的Bean;

3) 初始化Spring MVC各个组件,并将它们装配到DispatcherServlet实例中。

下面,我们将逐一分析DispatcherServlet是如何完成以上各项任务的。

使用DispatcherServlet截获需要Spring MVC处理的URL

    大家知道任何Servlet都可以在web.xml中通过<servlet-mapping>的配置截获特定模式的URL请求。假设我们希望DispatcherServlet截获所有以.html结束的URL请求,并进而交由Spring MVC框架进行后续处理,那么我们可以在web.xml中按以下方式配置DispatcherServlet:

代码清单 1 配置DispatcherServlet

<context-param>①业务层和持久层的Spring配置文件,这些配置文件被父Spring容器所使用
<param-name>contextConfigLocation</param-name>
<param-value>classpath:baobaotao-service.xml,classpath:baobaotao-dao.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet> ②声明DispatcherServlet
<servlet-name>baobaotao</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>2</load-on-startup>③Servlet自动启动的顺序号
</servlet>
<servlet-mapping> ④名为DispatcherServlet匹配的URL模式
<servlet-name>baobaotao</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

越来越多的Web应用倾向于采用“.html”后缀作为框架URL映射的模式,通过这种方法可以对使用者屏蔽服务端所使用的具体实现技术(如果用.do,客户端用户马上就能猜测到服务端使用Struts框架);另外这种URL格式容易让搜索引擎“误认为”网站各个链接都是一个静态网页,这将增加动态网站信息被收录的机率。当然,从纯技术上来说,你可以使用任何后缀模式,如*.spring、*.shtml等等。
0
相关文章