依赖
pom.xml ( maven )
<properties>
<spring.version>3.0.5.releasespring.version>
properties>
<dependencies>
<dependency>
<groupid>org.springframeworkgroupid>
<artifactid>spring-coreartifactid>
<version>${spring.version}version>
dependency>
<dependency>
<groupid>org.springframeworkgroupid>
<artifactid>spring-webartifactid>
<version>${spring.version}version>
dependency>
<dependency>
<groupid>org.springframeworkgroupid>
<artifactid>spring-webmvcartifactid>
<version>${spring.version}version>
dependency>
dependencies>
没有使用 maven 的需手工导入包 ( 3.0.4 版本自由选择 ) :
spring-core-3.0.5.release.jar
spring-asm-3.0.5.release.jar
spring-web-3.0.5.release.jar
spring-beans-3.0.5.release.jar
spring-context-3.0.5.release.jar
spring-aop-3.0.5.release.jar
spring-webmvc-3.0.5.release.jar
spring-context-support-3.0.5.release.jar
spring-expression-3.0.5.release.jar
aopalliance-1.0.jar
commons-logging-1.1.1.jar
web.xml 配置
为使用 spring mvc,首先需要在 web.xml 中配置 dispatcherservlet。
它与 struts 的过滤器作用类似,主要负责拦截请求并分发给对应的目标来处理。
web.xml
<servlet>
<servlet-name>dispatcherservlet-name>
<servlet-class>org.springframework.web.servlet.dispatcherservletservlet-class>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>dispatcherservlet-name>
<url-pattern>/url-pattern>
servlet-mapping>
这种配置方式要求项目中必须存在 web-inf/[servlet-name]-servlet.xml 配置文件 ( 如这里的 dispatcher-servlet.xml )。
你也可以通过
来自定义指定配置文件的路径和名称。
web.xml
<servlet>
<servlet-name>dispatcherservlet-name>
<servlet-class>org.springframework.web.servlet.dispatcherservletservlet-class>
<init-param>
<param-name>contextconfiglocationparam-name>
<param-value>classpath:spring-mvc.xmlparam-value>
init-param>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>dispatcherservlet-name>
<url-pattern>*.actionurl-pattern>
servlet-mapping>
1
load-on-startup 配置的是一个非负整数值,表示 servlet 启动的优先级别。数值越小,优先级别越高。
0 或 不配置,表示只有当第一次使用该 servlet 时,容器才会去启动它 ( 包括加载、实例化、以及调用 init() 方法完成初始化 )。
1 或 > 1,表示 servlet 将随运用程序的启动而启动。
*.action
表示拦截所有 .action 的请求,并交由 spring mvc 来处理,非 .action 的请求,将不由 spring mvc 处理。
多个值之间用英文的逗号 “,” 分隔,需要注意的是,值与值之间不能存在空格:*.action,*.htm
/
表示拦截所有请求,并全部交由 spring mvc 来处理。
spring mvc 配置文件配置
spring-mvc.xml
xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="org.lychie.tutorial.**.controller" />
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.internalresourceviewresolver">
<property name="prefix" value="/web-inf/pages/" />
<property name="suffix" value=".jsp" />
bean>
beans>
simple example
helloworldcontroller.java
package org.lychie.tutorial.controller;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
@controller
public class helloworldcontroller {
@requestmapping("/hello_world")
public string execute(){
return "hello_world_page";
}
}
访问方式:/hello_world.action
页面结果:web-inf/pages/hello_world_page.jsp ( 与 spring-mvc.xml 配置文件中的配置相关联,具体是:前缀 方法返回值 后缀 )
@controller
标识这是一个控制器,与 struts 的 action 作用相似。被标识的类具有处理请求的能力。
@requestmapping
映射方法访问的 url 地址,具体的使用放到下一章节中。
源代码下载
posted on 2014-08-15 09:39
fancydeepin 阅读(6065)
评论(1) 编辑 收藏