一、构建项目结构
首先需要构建一个符合目录结构的maven项目
file->new->maven project,勾选 create a simple project->next
//打包方式请选择war
默认的maven工程使用的是JDK1.5,如何一劳永逸的更换JDK版本呢:(一次性的可以自己进行配置包括JDK版本和编译版本)
[1]打开settings.xml文件
[2]找到profiles标签
[3]加入如下配置
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
当然,由于版本问题,可能出现识别不了JDK8的问题,解决 方案可以是更换更高的maven版本,或者更换JDK版本
但是呢,这个视图不是我们想要的web工程的视图,我们来对其进行调整
右击项目->properties->project facts
将动态web工程的勾暂时去掉->apply(骗eclipse说这是一个java工程)->重新勾选(目的是出现下面多出的一个链接!)
点击该链接进行web工程的配置
//将content directory改为图中的目录
ok->apply->ok后完成了
到这里呢,我们仍然发现index.jsp会报错:
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
原因就是缺少了servlet的api (当然,我们可以通过eclipse的方式:add library->server runtime的方式)
但我们这里合理的方式应该是maven的方式:(回顾前一天provided范围的使用)
在pom.xml中加入如下配置:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
//马上就不报错了 (报错时可以查看problems视图,查看具体信息)
当然,我们这里再导入一下JSP的API,让JSP有良好的提示功能
在pom.xml中添加如下依赖信息:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
//范围必须是probided范围,compile范围将报错!(产生了jar包冲突)
二、引入相关依赖
在pom.xml中进行配置,加上servlet的api,springMVC的helloWorld的依赖如下:
<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>cn.jiangbei</groupId> <artifactId>SpringMVC-Test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4.3.8.RELEASE</spring.version> </properties> <dependencies> <!-- junit依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> <!-- spring的依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1.3-b06</version> <scope>provided</scope> </dependency> </dependencies> </project>
三、配置文件编写
1.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"> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
//注意param-value(目录结构见文末)和url-pattern的配置
2.springMVC配置文件:SpringContext.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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 配置包扫描,扫描controller --> <context:component-scan base-package="cn.test"></context:component-scan> <!-- 注解驱动,配置映射器和适配器 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 视图页面配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
//这里需要配置的是三大组件(映射器、适配器、视图解析器)
测试类就不再编写了,比较简单
部署到tomcat上即可~!
四、目录结构