在后台开发中,maven相当的重要,如果没有maven的话,那你就要陷入无休止的jar的烦恼中了。上篇博客简单的讲解了手动导入jar的springmvc配置,这次就来讲讲如何通过maven来配置springmvc(如果不会maven请百度)。
1 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.luban.project</groupId>
<artifactId>firstmavenproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 打包方式,支持挖人,jar等等 -->
<packaging>war</packaging>
<!-- 添加junit测试 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-messaging -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- 下面都是springmvc需要依赖,会通过坐标去maven本地仓库获取,如果没有得话就去远程仓库自动下载 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
</dependencies>
<build>
<!-- 配置war包得名称 -->
<finalName>purchaseadmin</finalName>
<!-- 配置很多插件 -->
<plugins>
<plugin>
<!-- maven插件 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- 配置jdk版本 -->
<source>1.8</source>
<target>1.8</target>
<!-- 配置编码 -->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<!-- 配置打war时候的要打的文件路径 -->
<directory>src/main/java</directory>
<includes>
<!-- 打入所有.class .xml结尾的文件 -->
<include>**/*.class</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
</project>
2 在webapp下面配置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</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 上面的可有可无 不用管 -->
<!-- 配置前端控制器 -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 配置springmvc.xml,注意,classpath前面有个星,标示检索所有目录获取springmvc.xml -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springmvc.xml</param-value>
</init-param>
<!-- 优先启动 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!-- 获取请求,即我们经常使用的那种url请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3 配置springmvc.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:p="http://www.springframework.org/schema/p"
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.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 配置controller要扫描的包 -->
<context:component-scan base-package="com.quyang.project"/>
<mvc:annotation-driven/>
<!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=""/>
</beans>
4 control
@Controller
@RequestMapping("quyang")
public class Item {
@ResponseBody
@RequestMapping(value = "/hh",produces = {"application/json;charset=UTF-8"})
public String name() {
return "helloworld";
}
}
5 打开项目根目录,在命令行输入mvn tomcat:run 一会儿就会出现这个:
[INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ firstmavenproject ---
[INFO] Running war on http://localhost:8080/firstmavenproject
[INFO] Creating Tomcat server configuration at D:\eclipse\myweb\firstmavenproject\target\tomcat
八月 17, 2017 9:33:10 下午 org.apache.catalina.startup.Embedded start
在浏览器中请求:http://localhost:8080/firstmavenproject/quyang/hh就会返回helloworld了。这就是mvn的热部署,即使你没有装tomcat,因为他自己再带了;