环境及版本

Jetbrains Intellij Idea 15.0.6

Spring 4.1.6

JDK 1.8.0_20

Tomcat 8

Windows 10

从 Maven archetype 创建 Java Web 项目

点击 File > New > Project > Maven,勾选 Create from archetype 并在列表中选择 maven-archetype-webapp 。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_springmvc配置ssl

随后的步骤自行设置:

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_springmvc配置ssl_02

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_03

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_springmvc配置ssl_04

随后Maven 会根据默认的 pom.xml 自动导入依赖,为了方便以后 Maven 在我们修改了 pom.xml 后能自动开始配置依赖,我们可以点击 Enable Auto-import 。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_05

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_05

Maven 处理完依赖之后就可以配置 Tomcat 来查看效果了。点击右上角的下拉箭头,然后点击加号配置一个新的 Tomcat ,当然也可以使用别的容器。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_xml_07

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_08

在此界面中点击 Deployment 标签页,添加一个新的 Artifact。非正式项目选择 war 或者 war exploded 都可以。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_java_09

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_springmvc配置ssl_10

随后就可以运行服务器,得到的下过如下:

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_java_11

至此一个 Java Web 项目配置完毕。

设置 Maven 的 pom.xml 导入 Spring 依赖

直接将下列内容覆盖到 pom.xml 中,随后 Maven 会自动更新依赖。


xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”>

4.0.0
SpringAndSpringMVC
SpringAndSpringMVC
war
1.0-SNAPSHOT
SpringAndSpringMVC Maven Webapp
http://maven.apache.org
4.1.6.RELEASE
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-test
${spring.version}
test
org.springframework
spring-orm
${spring.version}
javax.servlet.jsp.jstl
javax.servlet.jsp.jstl-api

1.2.1

taglibs

standard

1.1.2

javax.servlet

jstl

1.2

javax.servlet

servlet-api

2.5

javax.servlet.jsp

jsp-api

2.1

provided

com.google.code.gson

gson

2.6.2

org.testng

testng

6.9.10

junit

junit

4.11

test

SpringAndSpringMVC

配置 web.xml


/p>
“-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
“http://java.sun.com/dtd/web-app_2_3.dtd” >
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”
metadata-complete=“true” version=“3.0”>
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
spring-dispatcher
org.springframework.web.servlet.DispatcherServlet
spring-dispatcher
/
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
characterEncodingFilter
/*
60
org.springframework.web.context.ContextLoaderListener

如果你像我一样在 web.xml 中添加了

org.springframework.web.context.ContextLoaderListener

那么你还需要在 WEB-INF 下创建 applicationContext.xml ,其中的内容根据需要填写。/WEB-INF/applicationContext.xml 是该 Listner 默认的配置文件位置,可以通过在 web.xml 中添加以下内容修改其位置:


contextConfigLocation
classpath:/META-INF/context.xml

配置 Spring 及 SpringMVC 的 XML 文件

默认情况下,Spring MVC 的配置文件应该位于 /WEB-INF/[servlet-name]-servlet.xml ,由于上文我们定义了了 servlet-name 为 spring-dispatcher ,所以应该在 WEB-INF 目录下新建 spring-dispatcher-servlet.xml 作为配置文件,内容如下:


xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns:context=“http://www.springframework.org/schema/context”
xmlns:mvc=“http://www.springframework.org/schema/mvc”
xsi:schemaLocation=“http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd”>

上述配置文件中, 用于启用注解配置。


这个 bean 用于解析 View ,指定了 View 页面的位置及类型(后缀)。

1

由于 SpringMVC 会对所有请求进行 URL 匹配,而像 .js 、.css 这样的静态文件是没有在 Controller 类中指定 URI 映射的,所以无法获取到。此时需要通过配置 mvc:resources 来将静态文件添加为例外。


上述部分则是配置 Spring 以扫描 controller 目录进行依赖注入。

创建包及 Controller

在 main 目录下创建 java 目录(命名随意),此时是无法直接在其中创建包或者 Java 类的,我们必须先将 java 目录设置为代码根目录。右击 java 目录,在 Mark Directory As 中选择第一个 Source Root 。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_java_12

随后在其中新建包 com.sys.springandspringmvc.controller ,并在包中新建 IndexController 类。内容可以按下面的写:


package com.sys.springandspringmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController{
@RequestMapping(“/”)
public String index(){
return “index”;
}
}

同时在 webapp 目录下新建 pages 和 static 文件夹,然后创建一个 index.jsp ,随便写些内容。

最后的目录结构如下:

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_13

测试

运行 Tomcat ,访问 http://127.0.0.1:8080 ,可正常访问,至此整个项目搭建完成。

idea创建javaconfig的springmvc项目 idea创建一个springmvc项目_spring_14