DispatcherServlet的用法

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> 在上面的例子里,全部以.form结尾的请求都会由名为example的DispatcherServlet处理。这只是配置Spring Web MVC的第一步。接下来须要配置DispatcherServlet自己和Spring Web MVC 框架用到的其余的bean。 正如在第 3.8 节 “ApplicationContext”中所描述的,Spring中的ApplicationContext能够被限制在不一样的做用域(scope)中。在web MVC框架中,每一个DispatcherServlet有它本身的WebApplicationContext,这个context继承了根 WebApplicationContext的全部bean定义。这些继承的bean也能够在每一个serlvet本身的所属的域中被覆盖(override),覆盖后的bean能够被设置成只有这个servlet实例本身才可使用的属性。 Spring Web MVC中的Context体系 在DispatcherServlet的初始化过程当中,Spring会在web应用的WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml的配置文件,生成文件中定义的bean。这些bean会覆盖在全局范围(global cope)中定义的同名的bean。 下面这个例子展现了在web.xml中DispatcherServlet的配置: <web-app>     ...     <servlet>         <servlet-name>golfing</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>         <servlet-name>golfing</servlet-name>         <url-pattern>*.do</url-pattern>     </servlet-mapping> </web-app> 要进行如上的servlet配置,你还须要配置/WEB-INF/golfing-servlet.xml这样一个文件。golfing-servlet.xml这个文件应该声明你在Spring Web MVC 框架中须要的bean。 这个文件的路径也能够经过web.xml中servlet的初始化参数来更改。(详情见下面的例子。) WebApplicationContext仅仅是一个拥有web应用必要功能的普通ApplicationContext。它与一个标准的ApplicationContext的不一样之处在于,它可以解析theme(参考第 13.7 节 “使用主题”),而且它知道本身与哪一个servlet相关联(经过ServletContext)。WebApplicationContext被绑定在ServletContext上,当你须要的时候,可使用RequestContextUtils提供的静态方法找到WebApplicationContext。 Spring的DispatcherServlet有一组特殊的bean,用来处理请求和渲染相应的视图。这些bean包含在Spring的框架里,能够在WebApplicationContext中配置,配置方式与配置其它bean相同。这些bean中的每个都在下文做详细描述。此刻读者只需知道它们的存在,便继续对DispatcherServlet进行讨论。对大多数bean,Spring都提供了合理的缺省值,因此在开始阶段,你没必要担忧如何对其进行配置。
相关文章
相关标签/搜索