1. 建立 WebApp 工程
下一步:
下一步: 选择 maven-archetype-webapp
下一步,设置 Group ID, Artifact Id 以及 package 包名。
点击 Finish 完成。
可以看到有一些错误。
解决办法:
1. 在 Project Explorer 中的项目上点击右键,在弹出菜单上点击 "Properties" , 在属性对话框中,定位到 Java Build Path 中,切换到 Source 页,删除不需要项。
2. 修改 pom.xml 文件
4.0.0
yangyxd
maven.springmvc.web
war
0.0.1-SNAPSHOT
maven.springmvc.web Maven Webapp
http://maven.apache.org
2.6
1.7.6
4.3.3.RELEASE
junit
junit
3.8.1
test
commons-lang
commons-lang
${commons-lang.version}
javax.servlet
javax.servlet-api
3.1.0
javax.servlet
jstl
1.2
jar
compile
taglibs
standard
1.1.2
commons-collections
commons-collections
3.2.1
org.springframework
spring-aop
${spring.version}
jar
compile
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-core
${spring.version}
org.springframework
spring-expression
${spring.version}
jar
compile
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-orm
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-messaging
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-jms
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-test
${spring.version}
org.apache.maven.plugins
maven-compiler-plugin
3.5.1
1.8
1.8
UTF-8
128m
512m
true
1.3
-verbose -bootclasspath ${java.home}\lib\rt.jar
maven.springmvc.web
3. 修改 web.xml ,加入 spring servlet 。
/p>
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
Archetype Created Web Application
springServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/configs/spring-servlet.xml
1
springServlet
/
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
在 WEB-INF 下新建 configs 目录,建立 spring-servlet.xml :
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
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" >
在 WEB-INF 下建立文件夹 jsps,用来存放 spring mvc 中用来显示 view 的 jsp文件。
现在我们的项目变成了这样:
在我们的项目上右键,在弹出菜单中点击 "Run As" -> "Maven install",让 Maven 来初始化所有依赖库,这个时候如果某个库不存在,会自动下载。
如果执行成功,会在 Console 显示如下信息:
如果失败, 请确认环境变量(%JAVA_HOME%)设置是否正确,然后检查Eclipse设置("Preferences"\"Java"\"Installed JREs")与项目Java Build Path 中 Libraries 里面所指定的 JRE System Library 是不是一致,参考maven环境建立的文章。
如果提示下载失败,可以在 maven 的配置中指定镜像站。
如果出现类似下面的错误,一般是maven-compiler-plugin配置有问题。
如果出现类似下面的错误,检测环境变量,这种一般就是上面说的 jre 不一致造成。
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project maven.demo: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre1.8.0_101\..\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.
[ERROR] -> [Help 1]
如果出现类似下面的错误,直接将manen仓库中的 (.m2\repository\) 下对应目录删除(比如我直接将 .m2\repository\org 目录删除了),用 Alt + F5,更新工程 (Manen -> Update Project),然后重新 "Run As" -> "Maven install" 。
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project maven.demo: Compilation failure
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\springframework\spring-context-support\4.3.3.RELEASE\spring-context-support-4.3.3.RELEASE.jar时出错; invalid LOC header (bad signature)
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\springframework\spring-aspects\4.3.3.RELEASE\spring-aspects-4.3.3.RELEASE.jar时出错; invalid LOC header (bad signature)
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\aspectj\aspectjweaver\1.8.9\aspectjweaver-1.8.9.jar时出错; invalid LOC header (bad signature)
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\springframework\spring-oxm\4.3.3.RELEASE\spring-oxm-4.3.3.RELEASE.jar时出错; invalid LOC header (bad signature)
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\springframework\spring-jms\4.3.3.RELEASE\spring-jms-4.3.3.RELEASE.jar时出错; invalid LOC header (bad signature)
[ERROR] 错误: 读取E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\.m2\repository\org\springframework\spring-messaging\4.3.3.RELEASE\spring-messaging-4.3.3.RELEASE.jar时出错; invalid CEN header (bad signature)
[ERROR] 6 个错误
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
在 "Maven install" 成功后,我们可以试着启动一下 Tomcat 服务器。
如果出现类似下面的错误,请检查 是否少了 "/"。
如果 url-pattern 正确,检查下如图所示地方,看是否缺少 Maven。
如果不存在,点击 "add" 添加进去。
Next...
点击 Finish.
4. 建立第一个 Spring MVC 控制器
packageyxd.maven.springmvc.web;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;
@Controllerpublic classMyFirstSpringMvcController {
@RequestMapping("mvc")publicString HelloSpringMvc() {return "home"; //返回 jsp 文件名称
}
}
在 jsps 目录中新建一个 home.jsp 文件
Insert title here
重启 Tomcat 服务器,在浏览器中输入 http://localhost:8080/maven.springmvc.web/mvc ,可以看到成功的显示了 home.jsp 的内容。
如果还有错误,检查一下 Packaging, 确认是 war。
感谢: 上上千up、小布布、小不点