码迷,mamicode.com
首页 > 编程语言 > 详细

spring MVC学习(一)---前端控制器

时间:2015-11-24 23:38:50      阅读:382      评论:0      收藏:0      [点我收藏+]

标签:

1.spring MVC中的前段控制器就是DsipatcherServlet,它在spring MVC框架中的结构图如下:

技术分享

2.DispatcherServlet其实就是一个Servlet,它继承了HttpServlet这个抽象类。

先来看下该类在的位置:

技术分享

为了使用它,你需要在你的web应用程序中的web.xml中配置一下,配置如下:

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value></param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/example/*</url-pattern>
    </servlet-mapping>

这样配置后,在你应用程序中所有请求中带/example的都会被DispatcherServlet拦截到。

对于3.0++的容器,还有另外一种配置方式,那就是用代码方式代替:

public class MyWebApplicationInitialzer implements WebApplicationInitializer {

    public void onStartup(ServletContext servletContext) throws ServletException {
        // TODO Auto-generated method stub
        ServletRegistration.Dynamic regist = 
                servletContext.addServlet("dispatcher", new DispatcherServlet());
        regist.setLoadOnStartup(1);
        regist.addMapping("/example/*");
        
    }

}

设置容器加载时就启动,设置映射的路径。

3.每一个DispatcherServlet都有自己的上下文环境(WebApplicationContext),它继承了些上下文环境中的bean,而且可以根据条件自己重写。

下面就是一个继承图解:

技术分享

4.在web.xml中配置好DispatcherServlet后,容器启动时回去WEB-INF文件夹下去找(默认[servlet-name]-servlet.xml)dispatcherServlet-servlet.xml,解析文件初始化里面中的bean等。

5.在实际的应用中我们一般不使用这种默认的配置,你只需要在web.xml中配置下面的文件就可,下面给一个例子,把param-value换成你自定义就可:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/root-context.xml</param-value>
    </context-param>
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value></param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

6.好了,一个通用简单spring MVC基本配置就完成了。

 

spring MVC学习(一)---前端控制器

标签:

原文地址:http://www.cnblogs.com/haoke/p/4993273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!