作者各必备工具的版本如下:

  1. Tomcat:apache-tomcat-7.0.63 (下载链接)
  2. Java EE - Eclipse:Luna Service Release 1 v4.4.1 (下载链接)
  3. Spring:4.2.0.RELEASE (无须下载)
  4. JDK:1.7.0_67 (下载链接)

步骤 1

使用 Java EE - Eclipse 新建一 Dynamic Web Project。

步骤 2

输入项目名 bdp。

Target Runtime 选 Apache Tomcat 7.0(不要选 Apache Tomcat 6.0,7 以后才支持 Servlet 3.0)。
点击 Next > 按钮。

步骤 3

编辑默认的 Source folders。
默认的 Source folders 配置如下:

删除默认的,增加以下四个并修改默认的输出目录为 WebContent\WEB-INF\classes:

  • src/main/java
  • src/main/resources
  • src/test/java
  • src/test/resources


点击 Next > 按钮。

步骤 4

Configure web module settings 对话框勾选 Generate web.xml deployment descriptor 选项:

点击 Finish 按钮。

步骤 5

将新建好的项目转换为 Maven 项目以管理项目依赖。
Package Explorer 视图下右击 bdp 项目名 -> Configure -> Convert to Maven project。

步骤 6

添加以下 jar 依赖到项目:

我的 pom.xml 文件如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>bdp</groupId>
  5. <artifactId>bdp</artifactId>
  6. <version>1.0.0</version>
  7. <packaging>war</packaging>
  8. <name>bdp</name>
  9. <description>Basic Data Platform</description>
  10. <properties>
  11. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12. <spring.version>4.2.0.RELEASE</spring.version>
  13. </properties>
  14. <dependencies>
  15. <dependency>
  16. <groupId>org.springframework</groupId>
  17. <artifactId>spring-context</artifactId>
  18. <version>${spring.version}</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.springframework</groupId>
  22. <artifactId>spring-aop</artifactId>
  23. <version>${spring.version}</version>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework</groupId>
  27. <artifactId>spring-webmvc</artifactId>
  28. <version>${spring.version}</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-web</artifactId>
  33. <version>${spring.version}</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>javax.servlet</groupId>
  37. <artifactId>jstl</artifactId>
  38. <version>1.2</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>commons-logging</groupId>
  42. <artifactId>commons-logging</artifactId>
  43. <version>1.1.3</version>
  44. </dependency>
  45. </dependencies>
  46. <build>
  47. <plugins>
  48. <plugin>
  49. <artifactId>maven-compiler-plugin</artifactId>
  50. <version>3.1</version>
  51. <configuration>
  52. <source>1.7</source>
  53. <target>1.7</target>
  54. </configuration>
  55. </plugin>
  56. <plugin>
  57. <artifactId>maven-war-plugin</artifactId>
  58. <version>2.4</version>
  59. <configuration>
  60. <warSourceDirectory>WebContent</warSourceDirectory>
  61. <failOnMissingWebXml>false</failOnMissingWebXml>
  62. </configuration>
  63. </plugin>
  64. </plugins>
  65. </build>
  66. </project>

步骤 7

在 src/main/resources 目录下创建 Spring MVC Bean 配置文件 bdpmvc-servlet.xml。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-4.0.xsd">
  9. <context:component-scan base-package="com.defonds.bdp.city.controller" />
  10. <bean id="viewResolver"
  11. class="org.springframework.web.servlet.view.UrlBasedViewResolver">
  12. <property name="viewClass"
  13. value="org.springframework.web.servlet.view.JstlView" />
  14. <property name="prefix" value="/WEB-INF/jsp/" />
  15. <property name="suffix" value=".jsp" />
  16. </bean>
  17. </beans>

以上 bdpmvc-servlet.xml 配置文件里,我们定义了一个 <context:component-scan> 标签。这一配置将使 Spring 去加载 com.defonds.bdp.city.controller 及其子包下的所有 @Component、@Controller、@Service、@Repository 等注解了的类。
此外,我们还定义了一个 viewResolver bean,它将给 ModelAndView 的视图加上 /WEB-INF/jsp/ 前缀以及 .jsp 后缀。比如我们的 CityController 类里返回了一个视图名为 welcome 的 ModelAndView 对象,它将被解析至路径 /WEB-INF/jsp/welcome.jsp。

步骤 8

将 Spring MVC 映射到 /WEB-INF/web.xml 文件。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  3. <display-name>bdp</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.jsp</welcome-file>
  6. </welcome-file-list>
  7. <servlet>
  8. <servlet-name>bdpmvc</servlet-name>
  9. <servlet-class>
  10. org.springframework.web.servlet.DispatcherServlet
  11. </servlet-class>
  12. <init-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>/WEB-INF/classes/bdpmvc-servlet.xml</param-value>
  15. </init-param>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>bdpmvc</servlet-name>
  20. <url-pattern>*.json</url-pattern>
  21. <url-pattern>*.html</url-pattern>
  22. </servlet-mapping>
  23. </web-app>

DispatcherServlet 初始化的时候将会读取 /WEB-INF/classes/ 下的 bdpmvc-servlet.xml 文件。

步骤 9

创建 Controller 类。

  • 包:com.defonds.bdp.city.controller
  • 类名:CityController.java
  1. /**
  2. * File Name:CityController.java
  3. *
  4. * Copyright Defonds Corporation 2015
  5. * All Rights Reserved
  6. *
  7. */
  8. package com.defonds.bdp.city.controller;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.servlet.ModelAndView;
  12. /**
  13. *
  14. * Project Name:bdp
  15. * Type Name:CityController
  16. * Type Description:
  17. * Author:Defonds
  18. * Create Date:2015-8-27
  19. * @version
  20. *
  21. */
  22. @Controller
  23. @RequestMapping("/city")
  24. public class CityController {
  25. @RequestMapping("/welcome")
  26. public ModelAndView helloWorld() {
  27. String message = "<br><div style='text-align:center;'>"
  28. + "<h3>********** Hello World, Spring MVC Tutorial</h3>This message is coming from CityController.java **********</div><br><br>";
  29. return new ModelAndView("welcome", "message", message);
  30. }
  31. }

步骤 10

创建 /WebContent/index.jsp 和 /WebContent/WEB-INF/jsp/welcome.jsp 视图文件。

/WebContent/index.jsp

  1. <html>
  2. <head>
  3. <title>Spring MVC Tutorial Series by defonds.com</title>
  4. <style type="text/css">
  5. body {
  6. background-image: url('http://img.blog.csdn.net/20150827184458936');
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <br>
  12. <div style="text-align:center">
  13. <h2>
  14. Hey You..!! This is your 1st Spring MCV Tutorial..<br> <br>
  15. </h2>
  16. <h3>
  17. <a href="city/welcome.html">Click here to See Welcome Message... </a>(to
  18. check Spring MVC Controller... @RequestMapping("/city/welcome"))
  19. </h3>
  20. </div>
  21. </body>
  22. </html>

/WebContent/WEB-INF/jsp/welcome.jsp

  1. <html>
  2. <head>
  3. <title>Spring MVC Tutorial by Defonds - Hello World Spring MVC
  4. Example</title>
  5. <style type="text/css">
  6. body {
  7. background-image: url('http://img.blog.csdn.net/20150827184458936');
  8. }
  9. </style>
  10. </head>
  11. <body>${message}
  12. <br>
  13. <br>
  14. </body>
  15. </html>

万事俱备,项目各要素如下图:

步骤 11

右击项目名 -> Run As -> Maven Build...
Goals 添加 clean install,点击 Apply 和 Run 按钮。

步骤 12

将项目部署到 Tomcat 并启动:

步骤 13

访问 http://localhost:8080/bdp

点击 Click here to See Welcome Message... 

零基础搭建 spring mvc 4 项目成功。

后记

本文侧重讲 spring mvc 的相关配置,也就是 controller 层的相关功能演示,关于 spring ioc、orm 和 mybatis 的事务集成,请参考另一篇博客《零基础整合 spring 4(包括mvc、context、orm) + mybatis 3 示例》,该文就是在本文基础上进行进一步添加了 service 和 dao 层的扩展。

参考资料

零基础搭建 spring mvc 4 项目(本文基于 Servlet 3.0)的更多相关文章

  1. MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml

    一. 下载STS(Spring Tool Suite) 官方地址:http://spring.io/tools/sts 下载spring tool suite for mac 最新版本.这个IDE是很 ...

  2. 从零开始学 Java - 搭建 Spring MVC 框架

    没有什么比一个时代的没落更令人伤感的了 整个社会和人都在追求创新.进步.成长,没有人愿意停步不前,一个个老事物慢慢从我们生活中消失掉真的令人那么伤感么?或者说被取代?我想有些是的,但有些东西其实并不是 ...

  3. 一、Spring MVC起步——IntelliJ IDEA 搭建Spring MVC环境(手把手搭建)

    本机环境: JDK 1.7 IntelliJ IDEA 2017.2 1.新建项目 Create New Project ​ 选择Spring MVC ​ 填写项目名和项目存放位置 ​ 然后点击Fin ...

  4. Web基础之Spring MVC

    Spring MVC Spring MVC 说是框架,对Tomcat来说其实就是一个Servlet,关于如何从上古时期的Servlet演化到如今的SpringMVC的,可以看看这篇博文:Spring ...

  5. Spring mvc源码分析系列--Servlet的前世今生

    Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...

  6. (4.1)Spring MVC执行原理和基于Java的配置过程

    一.Spring MVC执行原理和基于Java配置的配置过程 (一)Spring MVC执行过程,大致为7步. 所有的请求都会经过Spring的一个单例的DispacherServlet. Dispa ...

  7. Spring MVC执行原理和基于Java的配置过程

    一.Spring MVC执行原理和基于Java配置的配置过程 (一)Spring MVC执行过程,大致为7步. 所有的请求都会经过Spring的一个单例的DispacherServlet. Dispa ...

  8. Spring 注解驱动(二)Servlet 3.0 注解驱动在 Spring MVC 中的应用

    Spring 注解驱动(二)Servlet 3.0 注解驱动在 Spring MVC 中的应用 Spring 系列目录(https://www.cnblogs.com/binarylei/p/1019 ...

  9. [转] Spring MVC 4.1.3 + MyBatis 零基础搭建Web开发框架

    首先感谢一下润和软件,指引我走上了Spring MVC Web开发的道路. 下面进入正题 搭建开发环境: Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.1 ...

随机推荐

  1. ShopNc登录

  2. redis的一些简介

    Redis是Remote Dictionary Server的缩写,他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库. 1.       redis的数据类型: st ...

  3. (转)【前端模板之路】一、重构的兄弟说:我才不想看你的代码!把HTML给我交出来!

    原文地址:http://www.cnblogs.com/chyingp/archive/2013/06/30/front-end-tmplate-start.html 写在前面 随着前端领域的发展和社 ...

  4. 希尔伯特空间(Hilbert Space)是什么?

    希尔伯特空间是老希在解决无穷维线性方程组时提出的概念, 原来的线性代数理论都是基于有限维欧几里得空间的, 无法适用, 这迫使老希去思考无穷维欧几里得空间, 也就是无穷序列空间的性质. 大家知道, 在一 ...

  5. TensorFlow中文手册

    注意:本文只为读书笔记. 第一章 起步 - 起步 - [介绍](SOURCE/get_started/introduction.md) - [下载及安装](SOURCE/get_started/os_ ...

  6. 设计模式02: Abstract Factory 抽象工厂(创建型模式)

    Abstract Factory 抽象工厂(创建型模式) 常见的对象创建方法:    //创建一个Road对象    Road road=new Road();    new的问题:    -实现依赖 ...

  7. C# How To Read .xlsx Excel File With 3 Lines Of Code

    Download Excel.zip - 9.7 KB Download ExcelDLL.zip - 3.7 KB Introduction We produce professional busi ...

  8. 微软日志工厂 Microsoft.Extensions.Logging 中增加 log4net 的日志输出

    前提: 需要nuget   Microsoft.Extensions.Logging.Log4Net.AspNetCore   2.2.6: 描述:解决 .net core 微软日志工厂 Micros ...

  9. windows下vscode 搭建python开发环境

    1.vscode https://code.visualstudio.com/ 下载 2.python下载 https://www.python.org/downloads/windows/  exe ...

  10. 「BZOJ 3218」 a + b Problem

    题目链接 戳我 \(Solution\) 题目为什么是\(a\ +\ b\ Problem\)啊?这和题面半毛钱关系都没有. 现在来讲一下这题的解法吧,我们首先看看没有奇怪的方格这一个条件吧. 其实没 ...