SpringMVC概述及入门案例
目录
三层架构
MVC
SpringMVC
准备测试工作
开始入门
SpringMVC六大核心组件
-
三层架构
- 表现层:负责数据展示
- Servlet,HTML...,Spring,SpringMVC
- 业务层:负责业务处理
- Spring
- 数据层:负责数据操作
- JDBC,Mybatis,Spring
-
MVC
- MVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式
- Model(模型):数据模型,用于封装数据
- View(视图):页面视图,用于展示数据
- jsp,html
- Controller(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑
- Servlet,SpringMVC
-
SpringMVC
- SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
- SpringMVC优点
- 使用简单
- 性能突出(相比现有的框架技术)
- 灵活性强
-
准备测试工作
- 导入相关坐标与插件,配置打包方式
- 配置Servlet
- 编写相关表现
- 测试成功
-
开始入门
- 入门案例工作流程分析
- 服务器启动
- 1.加载web.xml中DispatcherServlet
- 2.读取spring-mvc.xml中的配置,加载所有com.superdemo包中所有标记为bean的类
- 3.读取bean中方法上方标注@RequestMapping的内容
- 处理请求
- 1.DispatcherServlet配置拦截所有请求/
- 2.使用请求路径与所有加载的@RequestMapping的内容进行比对
- 3.执行对应的方法
- 4.根据方法的返回值在webapp目录中查找对应的页面并展示
- 实现:
- 0.坐标已经导入完成
- 1.web.xml中配置SpringMVC核心控制器,用于将请求转发到对应的具体业务处理器Controller中(等同于Servlet配置)
-
<?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> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
- 2.开启扫描
-
<context:component-scan base-package="com.superdemo"/>
- 3.定义表现层业务处理器Controller,并配置成spring的bean(等同于Servlet)
- 并设定具体Controller的访问路径(等同于Servlet在web.xml中的配置)
- 再设置返回页面
-
@Controller public class UserController { @RequestMapping("/save") public String save(){ System.out.println("user mvc controller is running..."); return "success.jsp"; } }
- 测试成功
-
SpringMVC六大核心组件
- DispatcherServlet:
- 前端控制器,是整体流程控制的中心,由其调用其它组件处理用户的请求,有效的降低了组件间的耦合性
- HandlerMapping:
- 处理器映射器,负责根据用户请求找到对应具体的Handler处理器
- Handler:
- 处理器,业务处理的核心类,通常由开发者编写,描述具体的业务
- HandlAdapter:
- 处理器适配器,通过它对处理器进行执行
- View Resolver:
- 视图解析器,将处理结果生成view视图
- View:
- 视图,最终产出结果,常用视图如jsp、html