依赖

pom.xml ( maven )
<properties>
  <spring.version>3.0.5.RELEASE</spring.version>
</properties>
<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <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>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

这种配置方式要求项目中必须存在 WEB-INF/[servlet-name]-servlet.xml 配置文件 ( 如这里的 dispatcher-servlet.xml )。
你也可以通过 <init-param> 来自定义指定配置文件的路径和名称。

web.xml
<servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-mvc.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>*.action</url-pattern>
</servlet-mapping>

<load-on-startup>1</load-on-startup>
load-on-startup 配置的是一个非负整数值,表示 Servlet 启动的优先级别。数值越小,优先级别越高。
0 或 不配置,表示只有当第一次使用该 Servlet 时,容器才会去启动它 ( 包括加载、实例化、以及调用 init() 方法完成初始化 )。
1 或 > 1,表示 Servlet 将随运用程序的启动而启动。
<url-pattern>*.action</url-pattern>
表示拦截所有 .action 的请求,并交由 Spring MVC 来处理,非 .action 的请求,将不由 Spring MVC 处理。
多个值之间用英文的逗号 “,” 分隔,需要注意的是,值与值之间不能存在空格:<url-pattern>*.action,*.htm</url-pattern>
<url-pattern>/</url-pattern>
表示拦截所有请求,并全部交由 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 地址,具体的使用放到下一章节中。

源代码下载

springmvc-helloworld.zip 

spring mvc(1):基础入门的更多相关文章

  1. Spring MVC 教程,快速入门,深入分析

    http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: ...

  2. Spring MVC整合Mybatis 入门

    本文记录使用Intellij创建Maven Web工程搭建Spring MVC + Mybatis 的一个非常简单的示例.关于Mybatis的入门使用可参考这篇文章,本文在该文的基础上,引入了Spri ...

  3. Spring MVC 教程,快速入门,深入分析[1-11]

    资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar     作者:赵磊 博客:http://elf8848.iteye.com   ...

  4. [转]Spring MVC 教程,快速入门,深入分析

    原文地址:http://elf8848.iteye.com/blog/875830 目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mv ...

  5. Spring MVC 教程,快速入门,深入分析(转载)

    作者:赵磊 博客:http://elf8848.iteye.com 下载: Spring的官方下载网址是:http://www.springsource.org/download    (本文使用是的 ...

  6. 2.搭建配置最简单的spring mvc 工程-基础版

    目标:用最少的东西,搭建可以运行的最最基础的springMvc登陆校验项目! spring 4 1.首先配置pom.xml引入spring 相关jar, 引用都有注释, 无关的可以暂时不引用. < ...

  7. spring笔记4 spring MVC的基础知识4

    //todo 5,spring MVC的本地化解析,文件上传,静态资源处理,拦截器,异常处理等 spring MVC 默认使用AcceptHeaderLocalResolver,根据报文头的Accep ...

  8. spring笔记3 spring MVC的基础知识3

    4,spring MVC的视图 Controller得到模型数据之后,通过视图解析器生成视图,渲染发送给用户,用户就看到了结果. 视图:view接口,来个源码查看:它由视图解析器实例化,是无状态的,所 ...

  9. spring笔记2 spring MVC的基础知识2

    2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面 ...

  10. spring笔记1 spring MVC的基础知识1

    1,spring MVC的流程 优秀的展现层框架-Spring MVC,它最出彩的地方是注解驱动和支持REST风格的url.   流程编号 完成的主要任务 补充 1 用户访问web页面,发送一个htt ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(七七)-- WebRTC的架构和协议栈

    本文主要介绍WebRTC的架构和协议栈(我们翻译和整理的,译者:litie),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam ...

  2. subline text3 删除行 快捷键设置

    打开 首选项-->按键绑定 { "keys": ["ctrl+shift+k"], "command": "run_macr ...

  3. SQL SERVER中求上月、本月和下月的第一天和最后一天 DATEADD DATEDIFF

    SQL SERVER中求上月.本月和下月的第一天和最后一天   1.上月的第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEADD(dd,-DAY(GE ...

  4. web基础知识小记

  5. 由python为入口回顾C++的lambda

    lambda是一种匿名函数,python  lambda可以使简单的函数简洁的表达,,C++的lambda使类似嵌套函数的功能得以实现 python的lambda lambda [arg1[,arg2 ...

  6. oracle 客户端单独配置

    本文目的是在CentOS 5.3上安装Oracle 11.2 instant client来访问远端的Oracle 10.2数据库,笔者测试通过,应该也适用于Redhat Linux 5.x     ...

  7. Linux常用命令1

    jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有Java进程pid的命令. jps [ options ] [ host ...

  8. {Reship}{KMP字符串匹配}

    关于KMP字符串匹配的介绍和归纳,作者的思路非常清晰,推荐看一下 http://blog.csdn.net/v_july_v/article/details/7041827

  9. Gvim插件管理Vundle

    之前关于gvim的博客中提到的很多插件安装比较繁琐,这一篇来介绍一下gvim管理插件的插件--vundle的安装以及使用,让givm的插件安装更加的简单 首先给出vundle的git地址 https: ...

  10. Owin SelfHost Asp.net WebApi 遇到 No type was found that matches the controller named 'ControllerName' 异常的解决方案

    问题背景:在使用普通的SelfHost时,调用其它工程的dll(其实就是把WebApi写到一个单独的工程方便管理),通过加载其他工程的dll然后再访问webapi是没有问题的. 但是在使用Owin S ...