您的位置:首页 > 编程语言 > Java开发

spring MVC之开发简单的web应用程序(一)

2014-03-17 09:45 141 查看
spring MVC之开发简单的web应用程序(一)

----------

添加依赖,创建配置文件

Spring MVC的重要组成部分是DispatcherServlet。顾名思义,它主要负责将请求分发到相应的处理程序,让他们处理这些请求。这是唯一需要在web部署描述符中配置的Servlet。它充当Spring MVC框架的前端控制器,每个Web请求都必须通过它,因此它可以管理整个请求处理流程。

当web请求被发送到Spring MVC应用程序时,DispatcherSerlvet会先接收请求,然后组织Spring的Web应用程序上下文中所配置的不同组件来处理这个请求。

1.添加依赖

为了用Spring MVC开发web应用程序,必须将spring-webmvc.jar复制到WEB-INF/lib目录下。如果是maven工程,我们

可以添加依赖,如:

Xml代码


<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>3.0.5.RELEASE</version>

</dependency>

2.创建配置文件

对于Spring MVC应用程序而言,只需定义一个充当Spring MVC前端控制器的DispatcherServlet实例就可以了。

Xml代码


<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xmlns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Court Reservation System</display-name>

<servlet>

<servlet-name>court</servlet-name>

<servlet-class>

org.springframewrok.web.servlet.DispatcherServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>court</servlet-name>

<url-pattern>*.htm</url-pattern>

</servlet-mapping>

</web-app>

请注意,URL的扩展名是任意的,但是为了避免将实现技术透露给web应用程序的用户,通常选择用htm,html或者类似的名称作为扩展名。

Servlet的名称有一个重要的用途,为DispatcherServlet确定要加载的Spring MVC配置文件。默认情况下,它会查找用Servlet名称加上-servlet.xml后缀作为文件名的配置文件。你也可以在contextConfigLocation这个Servlet参数中显式指定配置文件。通过上述的设置,court Servlet默认将会加载Spring
MVC配置文件court-servlet.xml。这个文件应该是一个标准的Spring Bean配置文件。

为了让Spring加载court-servlet.xml之外的配置文件,必须在web.xml中定义Servlet监听ContextLoaderListener。

默认情况下,它会加载Bean配置文件/WEB-INF/applicationContext.xml,但是你可以在上下文参数contextConfigLocation中指定自己的配置文件。这里还可以指定多个配置文件,用逗号或者空格作为分隔符。

Xml代码


<web-app...>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/court-service.xml</param-value>

</context-param>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

...

</web-app>

请注意,ContextLoaderListener将指定的Bean配置文件加载到了根应用程序上下文里,而每个DispatcherServlet

实例则将其配置文件都加载到它自己的应用程序上下文中,并引用根应用程序上下文作为它的父上下文。因此,每个DispatcherSerlvet实例加载的上下文都可以访问甚至覆盖根应用程序上下文中声明的Bean(但反过来不可以的)。然而,DispatcherServlet实例加载的上下文则无法互相访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: