当前位置: 首页 > news >正文

springMVC中视图机制简述

在Spring MVC中,视图机制的核心流程如下(以Thymeleaf和JSP为例):

Thymeleaf作为视图时的流程

  1. 浏览器发送请求到Web服务器。

  2. DispatcherServlet接收请求,并根据请求路径分发到对应的Controller

  3. Controller处理业务逻辑,返回一个逻辑视图名(如"home")。

  4. ThymeleafViewResolver解析逻辑视图名:

    • 根据配置(如前缀classpath:/templates/和后缀.html),将逻辑视图名转换为物理路径(如/templates/home.html)。

    • 创建ThymeleafView对象并返回。

  5. ThymeleafViewrender()方法执行:

    • 将模板(如home.html)与模型数据结合,生成HTML。

    • HTML响应返回浏览器完成渲染。


JSP作为视图时的流程

  1. 浏览器发送请求到Web服务器。

  2. DispatcherServlet接收请求,并根据请求路径分发到对应的Controller

  3. Controller处理业务逻辑,返回一个逻辑视图名(如"home")。

  4. InternalResourceViewResolver解析逻辑视图名:

    • 根据配置(如前缀/WEB-INF/views/和后缀.jsp),将逻辑视图名转换为物理路径(如/WEB-INF/views/home.jsp)。

    • 创建InternalResourceView对象并返回。

  5. InternalResourceViewrender()方法执行:

    • 将请求转发给JSP文件(如home.jsp),由Servlet容器(如Tomcat)编译JSP为Servlet,生成HTML。

    • HTML响应返回浏览器完成渲染。


关键区别

组件ThymeleafJSP
视图解析器ThymeleafViewResolverInternalResourceViewResolver
视图实现类ThymeleafViewInternalResourceView
渲染方式模板引擎直接生成HTML请求转发到JSP,由Servlet容器处理
配置示例前缀:classpath:/templates/,后缀:.html前缀:/WEB-INF/views/,后缀:.jsp
依赖需要Thymeleaf库依赖Servlet容器(如Tomcat)

两种技术均通过逻辑视图名→物理视图名→渲染的流程实现视图解析,但底层实现依赖不同的组件和机制。

相关文章:

  • Win10批处理脚本操作注册表教程
  • 机器学习——LightGBM
  • 国民技术芯片 读保护功能设置、取消
  • 腾讯云智面试1.0
  • 【MySQL报错】:Column count doesn’t match value count at row 1
  • Reactor/Epoll为什么可以高性能?
  • LeetCode(977):有序数组的平方
  • 图片类型转换
  • 使用 Python包管理工具 uv 完成 Open WebUI 的安装
  • 【Ubuntu设备端口绑定】
  • 电机控制常见面面试问题(十九)
  • 单链表结点删除
  • PostgreSQL:索引与查询优化
  • 蓝桥杯 整数变换
  • 深入理解 Git Stash:功能、用法与实战示例
  • 第一次程序Hello Python
  • 【数据结构】C语言实现树和森林的遍历
  • WPF x:Static与StaticResource
  • 基于 Hydrus 软件的土壤水、热、盐及污染物迁移模型与案例分析
  • [图形学]在半球面上按照微表面模型采样
  • 做网站的备案资料/河北seo技术交流
  • 钓鱼网站怎么做/搜索引擎优化seo是什么
  • 南昌优秀网站建设/保定网站建设方案优化
  • 优秀网站建设方案/2020站群seo系统
  • 云南网站建设/爱站权重
  • 武汉制作公司网站及推广/专门做网站的公司