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都提供了合理的缺省值,所以在开始阶段,你不必担心如何对其进行配置。

时间: 2024-11-08 17:54:19

DispatcherServlet的用途的相关文章

Windows 2003活动目录管理之拆分双用途域控制器

最近我有几个关于划分具双用途域控制器的问题.大多问题都是这样,"我在一家小公司做事, 几年前把所用的电脑升级到Windows 2000,但买不起两个服务器.因此,我们为公司部署了一个域.同时 ,将域服务作为主机系统.现在我们想划分这个具双用途的域控制器,以便让每个系统拥有自己的功能. 那么如何在不丢失数据的情况下,将其转变到两个新服务器上?" 方法很简单.Windows 2000 Server(以及Windows Server 2003)中所有的域控制器都是同位体.了 解了这一点,解决

spring中ContextLoaderListener和DispatcherServlet区别 ApplicationContext

ContextLoaderListener是在我们的web容器启动的时候启动的,默认会加载/WEB-INF/下面的applicationContext.xml文件,并创建一个WebApplicationContext容器.  DispatcherServlet是在我们第一次访问我们的应用的时候创建的.这时候它默认会将配置在/WEB-INF下面的<servlet-name>-servlet.xml配置文件,然后也创建一个WebApplicationContext.这个WebApplication

源码-购物网站数据设计(仅作为自己学习用,无任何商业用途)

问题描述 购物网站数据设计(仅作为自己学习用,无任何商业用途) 我想做一个购物网站的项目,对于数据库设计方面比较苦恼,求大神提供一份购物网站数据库设计方案和源码(仅作为自己学习用,无任何商业用途) 解决方案 http://bbs.csdn.net/topics/390963719 我上传了上百个,你一次性下载下来慢慢研究. 解决方案二: http://download.csdn.net/detail/ai240312710/2499833http://download.csdn.net/deta

js闭包的用途

我们来看看闭包的用途.事实上,通过使用闭包,我们可以做很多事情.比如模拟面向对象的代码风格:更优雅,更简洁的表达出代码:在某些方面提升代码的执行效率. 1 匿名自执行函数 我们知道所有的变量,如果不加上var关键字,则默认的会添加到全局对象的属性上去,这样的临时变量加入全局对象有很多坏处, 比如:别的函数可能误用这些变量:造成全局对象过于庞大,影响访问速度(因为变量的取值是需要从原型链上遍历的). 除了每次使用变量都是用var关键字外,我们在实际情况下经常遇到这样一种情况,即有的函数只需要执行一

名词解释:什么是XSL,它有什么用途

XSL 之于 XML 就像 CSS 之于 HTML.它是指可扩展样式表语言 (EXtensible Stylesheet Language).这是一种用于以可读格式呈现 XML 数据的语言.XSL 实际上包含两个部分: * XSLT – 用于转换 XML 文档的语言 * XPath – 用于在 XML 文档中导航的语言 XSLT 是指 XSL 转换 (XSL Transformation),它是 XSL 最重要的部分. XSLT 可以将 XML 文档转换为其它 XML 文档.XHTML 输出或简

学习!Windows安全模式的五项重要用途

对于Windows操作系统的安全模式,经常使用电脑的朋友肯定不会感到陌生,安全模式是Windows用于 修复操作系统错误的专用模式,是一种不加载任何驱动的最小系统环境,用安全模式启动电脑,可以方 便用户排除问题,修复错误,这也是方便大家对用户解释安全模式意义. 进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放) ,在出现的启动选项菜单中,选择"Safe Mode",即可以安全模式启动计算机.那么安全模式到底有哪些用途

安全模式到底有哪些用途

进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择"SafeMode",即可 以安全模式启动计算机.那么安全模式到底有哪些用途呢?下面就让我们具体来看一下 1.修复系统故障 如果Windows运行起来不太稳定或者无法正常启动,这时候先不要忙着重装系统,试着重新启动计算机并切换到安全模式启动,之后再重新启动计算机,系统是不是已经恢复正常了?如果是由于注册表有问题而引起的系统故障,此方法非常

spring中DispatcherServlet的运行机制

servlet Spring中DispatcherServlet的运行机制 DispatcherServlet是spring的web框架(以下简称SpringWeb)中的核心servlet."Spring的web框架--象其它web框架一样--是一个请求驱动的web框架,其设计围绕一个能将请求分发到控制器的servlet,它也提供其它功能帮助web应用开发."----<Spring Framework 开发参考手册(中文版)>而在SpringWeb框架中这个servlet就

MySQL的用途

    本章介绍MySQL关系数据库管理系统(RDBMS)及其所采用的结构化查询语言(SQL).文中给出了应该掌握的基本术语和概念,并介绍了本书中使用的样例数据库,提供了怎样利 用MySQL创建数据库并对其进行存取访问的指导. 在此,如果您对数据库不熟悉,可能还不能肯定是否需要一个数据库或是否能够使用一 个数据库.或者,如果您对MySQL或SQL 一无所知,需要一种入门性的指导,那么应该仔 细阅读本章.对MySQL或对数据库系统具有一定经验的读者可能希望跳过这一章.但是, 不管是否是初学者都应该