2017年自己写了一些技术文章的总结,我想在2018年给自己继续写下去的动力!
这个系列也是对2017年SpringMVC过程的一个总结,希望能坚持下去!
如果大家对Maven不熟悉,请先简单了解一下Maven,方便后面的学习.
eclipse中建maven项目,建完项目之后结果不能创建src/main/java文件夹,经网上查找资料得以解决
选择Java Bulid Path 下的Source文件夹,将红色X选项移除,在重新建立
因为我们将使用Tomcat7,而新构建的项目的web.xml默认情况下是2.3,我们需要重新设置
选中项目右键properties->Project Facets
无法修改该项内容,下面会显示 Cannot Change Version of project Facet Dynamic Web Module to 3.0 错误,我们需要修改该项目下的配置文件
将2.3修改为3.0,原因如下我使用的是Tomcat7,只能支持到3.0
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="wst.jsdt.web"/> <installed facet="java" version="1.8"/> <installed facet="wst.jsdt.web" version="1.0"/> <!-- <installed facet="jst.web" version="2.3"/> --> <installed facet="jst.web" version="3.0"/> </faceted-project>
修改完毕之后,需要将原来的web.xml文件删除掉
**如何新建web.xml呢?**操作如下
将Dynamic Web Module的复选框去掉点击应用
再次勾选Dynamic Web Module复选框,下面出现了一个超链接点击
注意设置web.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hanpang.springmvc</groupId> <artifactId>springmvc-helloword</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springmvc-helloword Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 设置公共的版本号 --> <properties> <springframework.version>5.0.2.RELEASE</springframework.version> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${springframework.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/taglibs/standard --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> </dependencies> <build> <finalName>springmvc-helloword</finalName> <!-- 设置编译级别 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- 这里配置端口号和访问路径 --> <port>8001</port> <path>/mvc</path> </configuration> </plugin> </plugins> </build> </project>
如果过程中下载失败,请各位找到仓库删除重新下载即可
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
使用默认的核心配置文件名称,在WEB-INF/[servlet-name]-servlet.xml , 因此,在WEB-INF文件夹下新建mvc-servlet.xml文件
(1)WEB-INF右键新建选择Other
(2)选择Spring的核心配置文件,点击Next
(3)新建默认的springmvc的核心配置文件 mvc-servlet.xml , 注意点击下一步
(4)勾选内容如下
下面XSD的版本都选择4.3的版本
(5)mvc-servlet.xml配置核心文件代码如下
<?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: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-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"> <!-- 1.启动SpringMVC注解 --> <mvc:annotation-driven/> <!-- 2.扫描注解 --> <context:component-scan base-package="com.hanpang.**.web"/> </beans>
package com.hanpang.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller//告知其是一个控制器 @RequestMapping(value="/sys") public class IndexController { @RequestMapping(path="/index") public ModelAndView test01() { System.out.println("Hello World"); return null; } }
<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins>
请参考pom.xml中的配置
使用Maven Build 启动项目,Goals那一栏填写:
如果是应用在tomcat6插件上:
tomcat6:run -Dmaven.tomcat.uriEncoding=UTF-8 -Dmaven.tomcat.path=/ -Dmaven.tomcat.port=8080
如果是应用在tomcat7插件上:
tomcat7:run -Dmaven.tomcat.uriEncoding=UTF-8 -Dmaven.tomcat.path=/ -Dmaven.tomcat.port=8080