SpringMVC-初识SpringMVC
SpringMVC的开发步骤
- 导入SpringMVC的相关坐标
- 配置Servlet
- 编写Controller
- 将 Controller 使用注解 @Controller 配置到容器当中
- 配置组件扫描到spring-mvc.xml
- 执行测试
SpringMVC的快速入门
创建一个名为study_Spring03的简单web项目
导入SpringMVC的相关坐标
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
org.example
study_Spring03
1.0-SNAPSHOT
war
study_Spring03 Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
org.springframework
spring-context
5.3.17
org.springframework
spring-test
5.3.17
org.springframework
spring-web
5.3.17
org.springframework
spring-webmvc
5.3.17
junit
junit
4.13.2
test
javax.servlet
javax.servlet-api
3.1.0
javax.servlet.jsp
javax.servlet.jsp-api
2.3.3
study_Spring03
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
配置(前端控制器、组件扫描)
web.xml
Archetype Created Web Application
contextConfigLocation
classpath:appContext.xml
DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
DispatcherServlet
/
appContext.xml
<?xml version="1.0" encoding="UTF-8"?>
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
编写Controller
跳转的页面success.jsp需要自己准备
package com.sjj.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
// 注释web类
@Controller
public class UserController {
// 请求映射方法
@RequestMapping("/success")
public String print_test(){
System.out.println("Controller print_test running……");
// 跳转试图
return "success.jsp";
}
}
测试
配置tomcat,将项目以工件的形式添加到服务器启动时部署,并且将应用程序上下文设置为 /
启动项目 访问 localhost:8080/success
最后看一下项目结构
非常的简单
SpringMVC的组件解析
SpringMVC的执行流程
1. 浏览器发起请求找到前端控制器DispatcherServlet
2. 前端控制器向处理查询器HandlerMapping请求查询Handler
3. 处理器返回处理器执行链HandlerExecutionChain
4. 前端控制器向处理适配器HandlerAdaptor请求执行Handler
5. 处理适配器请求处理器Handler
6. 处理器响应处理适配器
7. 处理适配器向前端控制器返回ModelAndView
8. 前端控制器请求视图解析器ViewResolver
9. 视图解析器返回视图View对象
10. 前端控制器渲染视图
SpringMVC的执行注解解析
@RequestMapping
作用:用于建立请求URL和请求处理方法之间的对应关系
位置:
- 类上:请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录。
- 方法上:请求URL的第二级目录,与在类上使用的RequestMapping标注的第一级目录组成虚拟访问路径
属性: - value:用于指定请求URL
-method:用于指定请求方式 - params:用于指定请求参数条件。