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

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

image

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

先来看下该类在的位置:app

image

为了使用它,你须要在你的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拦截到。url

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

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/*");
        
    }

}

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

3.每个DispatcherServlet都有本身的上下文环境(WebApplicationContext),它继承了些上下文环境中的bean,并且能够根据条件本身重写。code

下面就是一个继承图解:xml

image

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

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基本配置就完成了。

相关文章
相关标签/搜索