随笔-126  评论-247  文章-5  trackbacks-0

依赖

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)  编辑  收藏

评论:
# re: spring mvc(1):基础入门 2014-08-15 17:25 |
不错,收藏了!  回复  
  

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图