首先,新建一个Maven Webapp工程,在Eclipse菜单栏中选择File->New->Project->Maven->Maven Project,根据提示创建工程,在Select an Archetype【Select an Archetype】阶段时选择【maven-archetype-webapp】即可。
这时项目还不能运行,需要一个Apache Tomcat,可以自己在本机安装一个Tomcat,但是我觉得这种方法稍微麻烦一点。还有一种方法是在Maven中添加Tomcat插件(其实最方便的是springboot内置的tomcat + devtools),这样就可以通过Maven调用Tomcat来运行生成的war包。
在pom.xml文件中的build标签下添加plugins标签,代码如下:
<build>
<finalName>springmvc</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
此时在项目上右键->Run As->maven build...,配置Goals,如下:
然后点击 Run 就可以运行项目了。
如果想使用SpringMVC,需要在pom.xml中添加SpringMVC的依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
此依赖包含Spring MVC所需要的基础jar包
添加完依赖后,修改src->main->webapp->WEB-INF目录下的web.xml,添加servlet相关信息,最简单的配置如下:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
然后在web.xml的同级目录下新建一个【servletName】-servlet.xml文件,对servlet进行一些配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<context:component-scan
base-package="indi.wangtao.springmvc" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
至此,就可以愉快的开始写controller了,一个hello world的controller如下:
/**
* @FileName HelloController.java
* @Desciption TODO
* @author wangtao
* @date 2018年6月16日
*/
package indi.wangtao.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Description Hello World Controller
* @author wangtao
* @date 2018年6月16日
*/
@Controller
public class HelloController {
/**
* @Description Hello World 接口
* @author wangtao
* @date 2018年6月16日
* @return
* @throws
*/
@RequestMapping(value="/hello")
@ResponseBody
public String hello() {
return "Hello World";
}
}
运行效果如下: