spring mvc 分发器(DispatcherServlet)

     spring mvc 与其他的mvc框架一样都是一种基于请求驱动的框架 ,设计围绕这一个servlet ,一般称之为font servlet

DispatcherServlet实际上是一个纯粹的Servlet (它继承了HttpServlet)。与其它Servlet一样, DispatcherServlet定义在web应用的web.xml文件中。 DispatcherServlet处理的请求必须在同一个web.xml文件里使用url-mapping定义映射。 下面的例子演示了如何配置DispatcherServlet

 

<web-app>

    <servlet>
        <servlet-name>example</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>example</servlet-name>
        <url-pattern>*.form</url-pattern>
    </servlet-mapping>

</web-app>

 这个跟使用一般的servlet没有什么区别, 按照springmvc的官方说法 框架是单例模式,所以在整个web运行期间只会有这一个servlet会被初始化。

 

用户所有的http请求都会请求到dispatcherServlet然后把请求交给 控制器(controller),同时在初始化dispatcherServlet也会附带处理其他的工作,例如初始化 view解析器  主题theme 等。

下图为springmvc的请求模型



 Spring中的 ApplicationContext实例可以被限制在不同的作用域(scope)中。在web MVC框架中, DispatcherServlet有它自己的WebApplicationContext ,这个context继承了根 WebApplicationContext 的所有bean定义。这些继承的bean也可以在每个serlvet自己的所属的域中被覆盖(override),覆盖后的bean 可以被设置成只有这个servlet实例自己才可以使用的属性。

这一步通过加载dispatcherServlet对应的的xml配置文件中的设置的bean实现

 

DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean。这些bean会覆盖在全局范围(global cope)中定义的同名的bean。 

 

  • 大小: 68.5 KB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值