2.Spring MVC简介
2.1 SpringMVC概述
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于
SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。
SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring3.0 的发布,全面超越 Struts2,成为最优
秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时
它还支持 RESTful 编程风格的请求。
SpringMVC入门步骤
2.2 SpringMVC快速入门
需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。
开发步骤:
① 导入SpringMVC相关坐标
<!--导入Spring依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.9</version>
</dependency>
<!--导入spring-webmvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
② 配置SpringMVC核心控制器DispathcerServlet
<!--配置SpringMVC的前端控制器-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--指定SpringMVC核心配置文件所在地址-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
③ 创建Controller类和视图页面
@Controller
//@RequestMapping("/user")
public class UserController {
/**
* @RequestMapping("/quick"):
* 作用:用于建立请求URL和处理方法之间的对应关系
* 位置:
* 类上:请求URL的第一季访问目录。此处不写的话,就相当于应用于根目录
* 方法上:请求URL的第二级访问目录,与类上使用@RequestMapping标注的一级目录一起组成访问虚拟路径
* 属性:
* value:用于指定请求的URL,他和path属性的作用是一样的
* method:用于指定请求的方法
* params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的key和value必须和配置一摸一样
* @return
*/
@RequestMapping("/quick")
public String save(){
System.out.println("controller save running...");
return "/success.jsp";
}
}
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>Success! ${username}</h1>
</body>
</html>
④ 使用注解配置Controller类中业务方法的映射地址
<!--配置Control组件扫描位置-->
<context:component-scan base-package="com.lxg.spring_mvc2">
<!--指定只扫描这个包下面有Controller注解的类-->
<!--<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
-->
</context:component-scan>
⑤ 配置SpringMVC核心文件 spring-mvc.xml
<init-param>
<!--在前端控制器中指定pring-mvc的配置文件的地址-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
⑥ 客户端发起请求测试
启动程序,在浏览器输入htpp:localhost:8080/Spring_mvc/quick
页面跳转到:success.jsp页面
2.3 SpringMVC流程图示
代码角度
业务角度
2.4 知识要点
SpringMVC的开发步骤
① 导入SpringMVC相关坐标
② 配置SpringMVC核心控制器DispathcerServlet
③ 创建Controller类和视图页面
④ 使用注解配置Controller类中业务方法的映射地址
⑤ 配置SpringMVC核心文件 spring-mvc.xml
⑥ 客户端发起请求测试