2018.5.30
1.创建maven项目
项目结构:


第一个√为简单创建maven项目,可跳过选择是否为web项目的选项


2.因为不是web项目,所有pom.xml文件中,war包的标签会报错,报错原因如下。

解决办法

3.配置pom.xml文件
<
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/xsd/maven-4.0.0.xsd"
>
<
modelVersion
>
4.0.0
</
modelVersion
>
<
groupId
>
com.lu
</
groupId
>
<
artifactId
>
maventest3
</
artifactId
>
<
version
>
0.0.1-SNAPSHOT
</
version
>
<
packaging
>
war
</
packaging
>
<
properties
>
<!--
引入
jar
包的版本名字随便起
-->
<
spring.version
>
4.3.2.RELEASE
</
spring.version
>
</
properties
>
<
dependencies
>
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-
webmvc
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
</
dependencies
>
</
project
>
|
4.配置springmvc.xml配置文件到如下路径

5.配置web.xml
<?
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"
xsi:schemaLocation
=
"http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id
=
"WebApp_ID"
version
=
"2.5"
>
<
display-name
>
springmvc
-
maven
</
display-name
>
<
welcome-file-list
>
<
welcome-file
>
/
</
welcome-file
>
</
welcome-file-list
>
<!--
servlet
前端控制器
只有一个
servlet
-->
<
servlet
>
<
servlet-name
>
springMVC
</
servlet-name
>
<
servlet-class
>
org.springframework.web.servlet.DispatcherServlet
</
servlet-class
>
<!--
springmvc
配置文件默认的名字
<servlet-name>-servlet.xml-->
<!--
初始化
xml
文件名字
-->
<
init-param
>
<
param-name
>
contextConfigLocation
</
param-name
>
<
param-value
>
classpath:springMVC-servlet.xml
</
param-value
>
<!--
如果放在
WEB-INF
文件夹下:
/WEB-INF/**.
xml
-->
</
init-param
>
<
load-on-startup
>
1
</
load-on-startup
>
<!--
一启动就初始化
-->
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
springMVC
</
servlet-name
>
<
url-pattern
>
/
</
url-pattern
>
<!--
系统中所有的请求都走这个
servlet
有的是
*.do
(
strust2
)
-->
</
servlet-mapping
>
<!--
解决
SpringMVC
的
post
乱码
(
字符编码过滤器
) -->
<
filter
>
<
filter-name
>
characterEncodingFilter
</
filter-name
>
<
filter-class
>
org.springframework.web.filter.CharacterEncodingFilter
</
filter-class
>
<
init-param
>
<
param-name
>
encoding
</
param-name
>
<
param-value
>
UTF-8
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
forceEncoding
</
param-name
>
<
param-value
>
true
</
param-value
>
</
init-param
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
characterEncodingFilter
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
<!--
相当于每一个
servlet
中的
request.setCharacterEncoding("UTF-8")
response.setCharacterEncoding("UTF-8") -->
</
web-app
>
|
6.创建controller
@Controller
public
class
IndexController {
/**
* 主页设置 "/"的话默认情况下就访问
*
@return
*/
@RequestMapping
(
"/"
)
public
String home() {
return
"home"
;
}
}
|
7.创建home.jsp

8.配置默认主页面
右键-run as
<welcome-
file
-
list
>
<welcome-
file
>/</welcome-
file
>
</welcome-
file
-
list
>
|
9.配置JDK插件
默认情况下eclipse的maven项目使用jdk1.5编译,需要添加maven的jdk编译插件
定义变量:非必须
<properties>
<!-- 定义变量 <encoding>$
{project.build.sourceEncoding}
改为UTF-8</encoding>-->
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
|
<build>
<plugins>
<!-- java编译插件 --><!-- 解决每次更新maven项目,用于编译maven项目的jdk会变回1.5 -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
3.6.0
</version>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
<encoding>
$
{project.build.sourceEncoding}
</encoding>
</configuration>
</plugin>
</plugins>
</build>
|
10.也可以用maven的tomcat插件运行maven项目
(1)加入插件
<!-- 配置Tomcat插件 多个项目多个tomcat --><!-- 本地可以不安装tomcat和本地tomcat无关 -->
<plugin>
<groupId>
org.apache.tomcat.maven
</groupId>
<artifactId>
tomcat7-maven-plugin
</artifactId>
<!-- tomcat版本 -->
<configuration>
<port>
8001
</port>
<!-- 自定义端口号 -->
<path>
/springmvc
</path>
<!-- 项目的路径 -->
</configuration>
</plugin>
|
(2)运行项目
配置name:起名字随意
Goals:tomcatX:run 大小写严格区分

插件执行:


在web.xml依赖注入时会报错。Caused by: org.apache.catalina.LifecycleException: A child container failed during start

原因:网速慢,下载jar包出错,可以用maventest检测jar包是否安装成功,
也可去maven的本地仓库查看是否有如下格式的文件,为未下载成功
