第5章:SpringMVC的视图

news2024/12/27 11:43:25

一、SpringMVC的视图

  • SpringMVC中的视图是View接口,视图的作用渲染数据,将模型的Model中的数据展现给用户
  • SpringMVC视图种类很多,默认有转发视图重定向视图
  • 当工程引入jstl依赖,转发视图自动转换为JstlView
  • 若使用视图技术是Thymeleaf,在SpringMVC的配置文件有Thymeleaf视图解析器,由此视图解析器解析之后得到是ThymeleafView

1、ThymeleafView

当控制器方法所设置的视图没有任何前缀return "xxx";,此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图后缀所得到最终路径,会通过转发的方式实现跳转。

@Controller
public class HelloController {
   @RequestMapping("/")
   public String index() {
      return "index";
   }
}

被springMVC.xml配置文件,视图解析器解析

 

 2、转发视图

  1. SpringMVC中默认是转发视图是InternalResourceView
  2. SpringMVC中创建的转发视图情况是:
  • 当控制器方法所设置的视图名称是”forward:”为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件的视图解析器解析,而是将前缀的”forward:”去掉,剩余部分作为最终路径通过转发的方式实现跳转。
  • 地址栏不发生变化,1次请求
  • WEB-INFO的html页面不能浏览器直接访问,只能转发

①当访问http://localhost:8080/YuTest/testForward时,创建InternalResourceView视图

 然后实现转发/test,地址栏没变。创建ThymeleafView,跳转到success.html页面

3.重定向视图 2次请求

  • SpringMVC默认的重定向视图是RedirectView
  • 当控制器方法所设置的视图名称以”redirect:”为前缀时,创建RedirectView视图,此时视图名称不会被SpringMVC配置文件的配置视图解析,而是将”redirect:”前缀去掉,剩余部分作为最终路径重定向实现跳转
  • 重定向地址栏发生变化
@RequestMapping("/testRedirect")
public String test3(){
   return "redirect:/test";
}

 4.视图控制器view-controller

在控制器方法中,仅仅用来跳转页面,没有其他业务逻辑时,可以将处理器方法使用view-controller标签进行表示

在springMVC.xml添加

<mvc:view-controller path="/" view-name="index"></mvc:view-controller>

 【注意】

控制器所有的请求映射全部失效。需要在springMVC.xml添加开启mvc注解驱动的标签

<mvc:annotation-driven />

 5.访问JSP页面

在springMVC.xml添加

<!--注解扫描-->
<context:component-scan base-package="com.atguigu.mvc.controller"></context:component-scan>
<!--视图解析-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/templates/"></property>
    <property name="suffix" value=".jsp"></property>
</bean>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【新版】系统架构设计师 - 新老教材对比分析

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 新老教材比较新版教材章节分析 新老教材比较 提示&#xff1a;请自行购买并浏览新版系统架构设计师教材 原教材&#xff1a;2009年出版&#xff0c;共21章&#xff0c;572页。新教材&#xff1a;2022年出…

紧急防勒索病毒的防御方案

一、适用目标&#xff08;校园网、企业网&#xff0c;windows系列的操作系统&#xff09;&#xff1a; 所有在校园内运行windows系统的电脑&#xff0c;并非只感染服务器操作系统&#xff0c;单机照样感染。会将你电脑中的所有文件全部加密&#xff0c;部分已感染案例有2个共同…

Yolov8轻量级:Next-vit,用于现实工业场景的下一代视觉 Transformer

1.Next-vit介绍 论文:https://arxiv.org/pdf/2207.05501.pdf 由于复杂的注意力机制和模型设计,大多数现有的视觉 Transformer(ViT)在现实的工业部署场景中不能像卷积神经网络(CNN)那样高效地执行。这就带来了一个问题:视觉神经网络能否像 CNN 一样快速推断并像 ViT 一样…

DVPP媒体数据处理图片解码问题案例

DVPP&#xff08;Digital Vision Pre-Processing&#xff09;是昇腾AI处理器内置的图像处理单元&#xff0c;通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力&#xff0c;主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP图片解码问题…

Web的基本漏洞--越权漏洞

目录 一、越权漏洞介绍 1.越权漏洞的原理 2.越权漏洞的分类 3.越权漏洞产生的原因 一、越权漏洞介绍 越权漏洞指的是应用在检查授权时存在纰漏&#xff0c;可以让攻击者获得低权限用户账户后&#xff0c;利用一些方式绕过权限检查&#xff0c;可以访问或者操作其他用户或者…

如何选择振动传感器?实现设备健康监测和预测性维护的第一步

随着工业设备的日益复杂和关键性的增加&#xff0c;设备健康监测和预测性维护成为保障生产效率和设备可靠性的关键要素。而振动传感器作为常用的监测工具&#xff0c;在设备健康监测中扮演着重要角色。 图.设备监测&#xff08;iStock&#xff09; 本文将介绍如何选择振动传感…

聊聊公司技术上的奇葩规定——计算机使用

首先说明下公司的技术架构。 MySQL PHP Java&#xff0c;纯互联网应用&#xff0c;Docker 容器部署微服务在 AWS 上面。 数据上没有过多敏感性&#xff0c;不涉及到很多敏感数据&#xff0c;身份识别信息通常使用的是第三方平台&#xff0c;我们本地不存储用户身份信息。 电…

跟着LearnOpenGL学习6--变换

文章目录 一、前言二、向量2.1、向量与标量运算2.2、向量取反2.3、向量加减2.4、长度2.5、向量相乘 三、矩阵3.1、矩阵的加减3.2、矩阵的数乘3.3、矩阵相乘 四、矩阵与向量相乘4.1、单位矩阵4.2、缩放4.3、位移4.4、旋转4.5、矩阵的组合 五、变换实战5.1、GLM配置5.2、GLM测试5…

学习HTTP2

这是有关HTTP最后一部分内容的学习啦~今天一起来学习HTTP/2&#xff01; HTTP2 HTTP/2&#xff08;超文本传输协议第2版&#xff0c;最初命名为HTTP 2.0&#xff09;&#xff0c;简称为h2&#xff08;基于TLS/1.2或以上版本的加密连接&#xff09;或h2c&#xff08;非加密连接…

javaweb session与cookie

Cookie Cookie是本地的存储数据&#xff0c;是键值对 注意一定要使用resp.addCookie才能返回cookie cookie修改 修改的话也是调用addCookie&#xff0c;对相同key的进行修改&#xff0c;作用于set-cookie响应头。 可以新建cookie&#xff0c;add进去&#xff0c;也可以在用户传…

投出去的简历石沉大海,1个月只有2个面试邀约,这正常吗?

我一介大专生&#xff0c;干了2年的点工&#xff0c;想着干这么长时间测试了&#xff0c;怎么也要涨薪冲击个12K了吧 去年我跟老板提了几次&#xff0c;好像都不怎么搭理我 今年金三银四&#xff0c;涨薪那边还是没着落&#xff0c;而我已经急不可耐了&#xff0c;既然你不给我…

28 # commander 的用法

node 和前端的区别 前端里面有 BOM 和 DOM&#xff0c;服务端没有&#xff0c;也没有 window服务端里面有 global 全局对象&#xff08;浏览器也有 global&#xff0c;只不过访问属性的时候都是通过 window 来代理&#xff0c;没有直接访问 global&#xff0c;也不能直接访问 …

Oracle-Linux修改字符集

Oracle-修改字符集 连接查询字符集立即关闭数据库并终止所有用户会话开启挂载启用受限会话设置作业队列进程数为0设置 AQ 时间管理进程数为 0打开&#xff08;Open&#xff09;一个已经挂载&#xff08;Mount&#xff09;的数据库修改数据库字符集为AL32UTF8立即关闭数据库并终…

前端零基础入门,好程序员手把手教你!学会CSS语法规则!

今天来学习CSS语法规则&#xff0c;想要入门前端这一岗位&#xff0c;就必须得同时掌握有关于它的三门编程语言&#xff0c;分别是HTML、CSS以及javascript。这三门编程语言的语法各不相同&#xff0c;今天好程序员带大家来认识CSS语法规则。 想要学习一门编程语言&#xff0c;…

Linux4.9 Tomcat部署及优化

文章目录 计算机系统5G云计算第六章 LINUX Tomcat部署及优化一、Tomcat概述1.Tomcat核心组件2.什么是 servlet3.什么是 JSP4.Tomcat 功能组件结构5.Container 结构分析6.Tomcat 请求过程7. 配置文件 二、Tomcat 服务部署1.关闭防火墙&#xff0c;将安装 Tomcat 所需软件包传到/…

利用Taro打造灵活的移动App架构

最近公司的一些项目需要跨端框架&#xff0c;技术老大选了Taro&#xff0c;实践了一段时间下来&#xff0c;愈发觉得Taro是个好东西&#xff0c;所以在本篇文章中稍微介绍下。 什么是Taro&#xff1f; Taro&#xff08;或称为Taro框架&#xff09;是一种用于构建跨平台应用程…

springboot3深度学习(在更)

jar包外进行配置文件的修改 在jar包的同目录创建application.properties文件&#xff0c;直接在这个文件中配置对应的信息&#xff0c;就可以完成对应的修改&#xff0c;我们就可以做到不修改源代码。 例子: 测试结果为下: yml文件和properties文件都可以实现此功能&#xf…

160个CrackMe之002

这道题就很简单 有了第一道题目的支持 我们就能做 首先 我们先要下载Msvbvm50.dll Msvbvm50.dll下载_Msvbvm50.dll最新版下载[修复系统丢失文件]-下载之家 然后我们可以运行程序了 比之前那个还简单 就是输入 然后比对 报错或者成功 开始逆向分析 先去常量中进行查找 找…

初学者需要掌握的一些FPGA基础设计概念(2)

目录 1. 什么是流片 2. CLB 3. 如何解决亚稳态&#xff08;Metastability&#xff09; 4. 什么是可综合 5. 什么是双边沿、上升沿、下降沿 6. IOB 7. PLL 8. IP核 9. 时序分析 10. 时钟域 11. 约束文件 12. 用VERILOG实现消除一个glitch 滤掉小于1个周期glitch 滤…

什么是电压跟随器?电压跟随器有什么作用

电压跟随器是一种电路&#xff0c;其输出电压跟随输入电压的变化而变化。它被广泛应用于电子设备中&#xff0c;尤其是在信号放大和控制电路中。在本文中&#xff0c;我们将探讨电压跟随器的工作原理、应用以及设计。 一、电压跟随器的工作原理 电压跟随器是一种反馈电路&…