在家复习SpringMVC框架,总结一下SpringMVC入门级的环境搭建流程
搭建流程
1、在pom.xml中引入springMVC依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
因为只是入门级的操作,所以这里只需要引入spring-webmvc模块即可,maven会自动将其依赖的其他模块引入到项目中
2、创建核心配置文件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: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.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 注解扫描 -->
<context:component-scan base-package="com.demo.controller"/>
<!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 开始SpringMVC注解支持 -->
<mvc:annotation-driven/>
</beans>
- 开启注解扫描目的是将com.demo.controller包下创建的Controller类通过注解的形式交由给Spring容器来管理
- 视图解析器是SpringMVC的三大件之一,用来控制View的页面的前缀以及后缀。以上述代码为例,其配置的就是在WEB-INF目录下pages文件夹中所有以**.jsp**结尾的页面
- 开启springMVC注解支持是为了提供对于SpringMVC中对于一些注解的支持,例如@RequestMapping等
3、在web.xml中配置DispatcherServlet前端控制器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置Servlet初始化参数 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 加载优先等级 1表示服务器启动时就加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
- 项目自带的web.xml版本较低,可根据情况自行修改。这里以4.0版本为例
- 以上配置表示当服务器启动时读取springmvc.xml文件,然后创建DispatcherServlet前端控制器,并且该控制器会拦截所有请求
4、创建发送请求页面
因为是入门环境搭建,这里以hello请求为例,在index.jsp页面中创建超链接发送请求
<a href="hello">点击</a>
当点击超链接时就会想服务器发送一个名为 hello 的请求
5、创建Controller类
@Controller
public class HelloController {
@RequestMapping("/hello")
public String testHello(){
System.out.println("接收请求并做出响应");
return "success";
}
}
- @Controller注解的作用是将当前被修饰的HelloController类交给Spring容器进行管理
- @RequestMapping注解用来描述具体要拦截的请求的名称
- testHello() 方法是指hello请求具体需要做的事情,返回值表示要跳转到的页面
6、创建success.jsp显示响应结果
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
跳转成功,hello world!
</body>
</html>