1、 环境配置
a) Java 1.7
b) Eclipse luna
c) Maven3.2.5
d) spring 4.1.4
2、 创建maven工程
a) 打开eclipse,file->new->project->Maven->Maven Project
b) 下一步
c) 选择创建的工程为webapp,下一步
d) 填写项目的group id和artifact id。一般情况下,group id写域名的倒序,artifact id写项目名称即可。最后点完成。
e) 最初建好后,项目目录结构如下
f) 一般的项目目录中,在java Resources目录下,还有src/main/java,src/main/test/java,src/main/test/resources这三个source folder,需要手动创建。在下面的步骤中会讲到如何补齐这三个目录。
3、 修改项目基本设置
a) 右键此项目名称->Properties->Java Build path,点击source标签。
b) 提示 hello/src/main/java (missing)和hello/src/test/java (missing)。一般的项目目录中,在java Resources目录下,还会有src/main/test/resources这个source folder。将missing的先删除,再重新创建,缺少的直接创建。点右键操作按键进行删除和添加。
c) 修改完整,效果如下图
d) 接下来再修改libraries的配置,jre使用1.7版本。选中JRE System Library->edit ,更换版本。
e) 再修改一下order and export里的配置,主要是调整这四个目录的显示顺序,调为自己喜欢的顺序即可
f) 接下来再修改project facets,先将java修改为1.7。
Dynamic Web Module无法在这里直接修改为3.0,需要打开工程目录下有一个.settings文件夹,打开org.eclipse.wst.common.project.facet.core.xml,做如下修改:
<installed facet="jst.web" version="3.0"/>
重启eclipe就可以看到更改生效了。
4、 Eclipse中maven的配置
a) window->properties->maven,勾选 download repository index updates on startup
5、 简单Spring mvc的配置
a) 打开项目中的pom.xml文件,并点击Dependencies标签,点击add添加新的依赖
b) 如果知道依赖的group id和artifact id,可以直接填写,如果不清楚,可以输入关键字进行查询,或是到http://search.maven.org网站查询
c) 需要添加的依赖有:spring-webmvc,版本为4.1.4. RELEASE。完整的POM.XML文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<
project
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<
modelVersion
>4.0.0</
modelVersion
>
<
groupId
>com.springstudy</
groupId
>
<
artifactId
>study</
artifactId
>
<
packaging
>war</
packaging
>
<
version
>0.0.1-SNAPSHOT</
version
>
<
name
>study Maven Webapp</
name
>
<
url
>http://maven.apache.org</
url
>
<
properties
>
<
spring.version
>4.1.4.RELEASE</
spring.version
>
</
properties
>
<
dependencies
>
<
dependency
>
<
groupId
>junit</
groupId
>
<
artifactId
>junit</
artifactId
>
<
version
>3.8.1</
version
>
<
scope
>test</
scope
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-webmvc</
artifactId
>
<
version
>${spring.version}</
version
>
</
dependency
>
</
dependencies
>
<
build
>
<
finalName
>study</
finalName
>
</
build
>
</
project
>
|
d) 打开src/main/webapp/WEB-INF/web.xml文件,最终修改如如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?
xml
version="1.0" encoding="UTF-8"?>
<
web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="study" version="2.5">
<
display-name
>Archetype Created Web Application</
display-name
>
<
description
>sprintMVC环境搭建</
description
>
<!-- 加载Spring配置文件 -->
<
context-param
>
<
param-name
>contextConfigLocation</
param-name
>
<
param-value
>classpath:/configs/spring-*.xml</
param-value
>
</
context-param
>
<!-- Spring监听 -->
<
listener
>
<
listener-class
>org.springframework.web.context.ContextLoaderListener</
listener-class
>
</
listener
>
<!-- Spring MVC配置 -->
<
servlet
>
<
servlet-name
>Dispatcher</
servlet-name
>
<
servlet-class
>org.springframework.web.servlet.DispatcherServlet</
servlet-class
>
<!-- 自定义spring mvc的配置文件名称和路径 -->
<
init-param
>
<
param-name
>contextConfigLocation</
param-name
>
<
param-value
>classpath:configs/spring-servlet.xml</
param-value
>
</
init-param
>
<
load-on-startup
>1</
load-on-startup
>
</
servlet
>
<!-- spring mvc 请求后缀 -->
<
servlet-mapping
>
<
servlet-name
>Dispatcher</
servlet-name
>
<
url-pattern
>/</
url-pattern
>
</
servlet-mapping
>
<
welcome-file-list
>
<
welcome-file
>index.jsp</
welcome-file
>
</
welcome-file-list
>
</
web-app
>
|
e) 在Java Resources/scr/main/resources目录下,创建configs文件夹,以便存放在web.xml中声明的配置路径
f) 在Java Resources/scr/main/resources/configs目录下,创建spring-servlet.xml,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?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:jee=
"http://www.springframework.org/schema/jee"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:p=
"http://www.springframework.org/schema/p"
xmlns:mvc=
"http://www.springframework.org/schema/mvc"
xmlns:util=
"http://www.springframework.org/schema/util"
xsi:schemaLocation="http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-4.1.xsd
http:
//www.springframework.org/schema/context
http:
//www.springframework.org/schema/context/spring-context-4.0.xsd
http:
//www.springframework.org/schema/jee
http:
//www.springframework.org/schema/jee/spring-jee-4.1.xsd
http:
//www.springframework.org/schema/mvc
http:
//www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http:
//www.springframework.org/schema/util
http:
//www.springframework.org/schema/util/spring-util-4.1.xsd">
<context:annotation-config/>
<context:component-scan base-
package
=
"com.springstudy.controller"
/>
<mvc:annotation-driven />
<mvc:resources mapping=
"/styles/**"
location=
"/styles/"
/>
<mvc:resources mapping=
"/scripts/**"
location=
"/scripts/"
/>
<mvc:resources mapping=
"/images/**"
location=
"/images/"
/>
<bean
class
=
"org.springframework.web.servlet.view.InternalResourceViewResolver"
>
<property name=
"prefix"
value=
"/WEB-INF/views/"
/>
<property name=
"suffix"
value=
".jsp"
/>
</bean>
</beans>
|
g) 创建controller包,在spring-servlet.xml文件中,<context:component-scan base-package="com.springstudy.controller" />已经指定了路径
h) 在src/main/webapp/WEB-INF目录下,创建views文件,在spring-servlet.xml文件中,<property name="prefix" value="/WEB-INF/views/" />已指定了视图文件路径
i) 创建第一个controller文件HelloController.java,完整的文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package
com.springstudy.controller;
import
org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.servlet.ModelAndView;
@Controller
public
class
HelloController {
@RequestMapping
(
"/hello"
)
public
ModelAndView hello(){
ModelAndView mv =
new
ModelAndView();
mv.addObject(
"spring"
,
"spring mvc"
);
mv.setViewName(
"hello"
);
return
mv;
}
}
|
j) 添加src/main/webapp/WEB-INF/views/hello.jsp文件,内容如下:
1
2
3
4
5
6
7
8
9
10
|
<!
DOCTYPE
html>
<
html
>
<
head
>
<
meta
charset="utf-8">
<
title
>sprint hello</
title
>
</
head
>
<
body
>hello ${spring}!
</
body
>
</
html
>
|
6、 将项目发布到tomcat
a) 在eclipse中添加tomcat 7
b) 在tomcat添加完成后,双击,设置overview选项卡中Server Locations的设置。
i. 将 Use Tomcat installation(takes control of Tomcat installation)选中
ii. 将Deploy path的内容改为:webapps
iii. 保存
c) 右键tomcat,Add and Remove… ,添加study
d) 启动tomcat
e) 浏览器打开http://localhost:8080/study/hello,访问成功!如下图