请先确认项目已经配置maven
可以参考我的上一篇文章 ㈠Eclipse/MyEclipse使用Maven构建JavaEE项目
打开pom.xml文件
注:是项目根目录下的pom.xml,不是target目录下的pom.xml文件,如图
选中Dependencies标签,点击Add按钮.如下图所示
填写Group Id,Artifact Id,Version(选填),可以查看官网spring-framework,由于我已经查过了,因此直接填写.
关于Version : 此博客写于2017.09.27,此时的官网稳定版本为4.3.11,若时间过久请点击官网链接查看最新的稳定版本号Group Id : org.springframework
Artifact Id : spring-webmvc
Version : 4.3.11.RELEASE填写完成之后,点击OK
- 修改web.xml文件,添加servlet和servlet-mapping节点.
此web.xml是根据上一篇文章的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_3_0.xsd"
id="WebApp_ID" version="3.0">
<!--display-name为创建的项目名称-->
<display-name>TestMVC</display-name>
<welcome-file-list>
<!--项目默认启动页面-->
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--添加下列配置项-->
<!-- 此配置会自动去WEB-INF下寻找'servlet-name'-servlet.xml文件,此处配置的为springmvc,即会自动寻找springmvc-servlet.xml文件 -->
<servlet>
<!--servlet-name的值可以随意填写,只要保持上下一致即可-->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<!--servlet-name的值可以随意填写,只要保持上下一致即可-->
<servlet-name>springmvc</servlet-name>
<!--"/"意思为拦截所有的请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
6、 在WEB-INF下创建springmvc-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:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="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.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 配置扫描的包 -->
<!-- 此配置会自动扫描per.lcz.demo包中所有含有注解的类 -->
<context:component-scan base-package="per.lcz.demo.*" />
<!-- 注册HandlerMapper、HandlerAdapter两个映射类,将请求映射到类和方法中 -->
<mvc:annotation-driven />
<!-- 访问静态资源 -->
<!-- 因为配置的spring是拦截所有请求,所以需要配置它,来让静态资源通过(如js, css文件等) -->
<mvc:default-servlet-handler />
<!-- 配置视图解析器 -->
<!-- 将Controller类返回的视图名加上配置的前后缀进行展示 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/page/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
至此,SpringMVC环境配置完成,接下来测试是否配置成功.
- 在WEB-INF下创建page文件夹(根据springmvc-servlet.xml中配置的前缀决定),在其中新建一个hello.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
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></title>
</head>
<body>
<h2>Hello SpringMVC!</h2>
</body>
</html>
- 在src/main/java文件夹中,创建per.lcz.demo包(由springmvc-servlet.xml配置的base-package的值决定,该包下的文件都能被扫描到),在其中创建DemoController.Java文件,并加上注解
package per.lcz.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/demo")
public class DemoController {
/*
* 当请求index时会映射到此方法中,返回的字符串 hello会被配置拼接为 WEB-INF/page/hello.jsp,并展示出来
*/
@RequestMapping("/index")
public String index() {
return "hello";
}
}
- clean一下项目,在Tomcat中将项目重新部署一遍.运行项目,打开浏览器,访问地址 : http://localhost:8080/TestMVC/demo/index,看见如下界面,则证明配置成功.