当前位置:首页 > 详解maven创建spring-mvc工程

详解maven创建spring-mvc工程

点击次数:1394  更新日期:2018-09-10

一、新建项目

新建项目,选择maven project

image.png

点击下一步

image.png

选择 maven-archetype-webapp

image.png

输入Group Id,Artfact Id 和 Version ,俗称GAV


新建之后,maven项目会报一个错误,如下

image.png

通过提示信息可知是由于找不到HttpServlet类,可通过导入Tomcat到工作目录或者通过Maven添加HttpServlet类所在的servlet-api.jar

二、修改pom.xml文件

在pom.xml的dependencies节点中加入下面内容

<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>compile</scope>
		</dependency>

这样就不会报错了

现在通过maven添加SpringMVC所需jar包

在pom.xml的dependencies节点中加入下面内容

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.1.2.RELEASE</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.1.2.RELEASE</version>
			<scope>compile</scope>
		</dependency>


这样子,pom.xml文件就配置好.

把pom.xml保存一下,eclipse就会加入相关的依赖,加载完毕后,就可以看到Maven Dependencies目录下添加了很多jar包

image.png

三、配置web.xml

web.xml内容配置如下

<!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>spring-mvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<!-- 这里的servlet-name和上面的要一致. -->
		<servlet-name>spring-mvc</servlet-name>
		<!-- 这里就是url的匹配规则, / 就是匹配所有 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

</web-app>

如上配置会自动去WEB-INF下寻找'servlet-name'-servlet.xml(此处对应为spring-servlet.xml),具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	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 
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
	<!-- 下面是配置扫描包的位置,包名为com.maskkk,也就是说,我们的试图解析器应该放在com.maskkk包下. -->
	<context:component-scan
		base-package="com.test.testmvc" />
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 前缀,我们的视图文件应该放到/WEB-INF/view/目录下,这里我们需要在WEB-INF下面创建view文件夹 -->
		<property name="prefix" value="/WEB-INF/view/" />
		<!-- 设置后缀为.jsp -->
		<property name="suffix" value=".jsp" />
	</bean>
</beans>


现在发现目录结构中没有src/main/javasrc/test/java。后通过查阅终得出解决方案。

在项目上右键选择properties,然后点击Java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了。

 image.png

image.png

image.png


然后编写控制器

image.png

内容如下

package com.test.testmvc;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;


@Controller

public class TestController {

@RequestMapping("/Hello")

    public String hello() {

        

        return "Hello";

    }

}


添加view

image.png

内容如下

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>Hello World!</h1>
</body>
</html>

 使用tomcat加载网站后,测试结果如下

image.png