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

山西公司网站建设效果建设网站可以搜索电影

山西公司网站建设效果,建设网站可以搜索电影,网站not found,葡京网站做中间商前言 欢迎来到 SpringMVC 系列教程的第五天#xff01;在之前的教程中#xff0c;我们已经学习了如何使用控制器处理请求和返回视图。今天#xff0c;我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中#xff0c;数据的传递和展示是非常重要的。SpringMVC 提供…前言 欢迎来到 SpringMVC 系列教程的第五天在之前的教程中我们已经学习了如何使用控制器处理请求和返回视图。今天我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中数据的传递和展示是非常重要的。SpringMVC 提供了一个名为 Model 的机制用于在控制器和视图之间传递数据。Model 在 SpringMVC 中充当着数据容器的角色它可以存储和传递各种类型的数据例如对象、集合、基本类型等。 在本教程中我们将详细介绍 Spring 中的 Model并学习如何在控制器中使用它来传递数据给视图。我们还将探讨如何在视图中获取和展示 Model 中的数据。 现在让我们开始学习 Spring 中的 Model了解它的作用和用法以及如何在应用程序中充分利用它来传递和展示数据。 一、前期准备 1、新建项目结构如下 2、导入依赖 dependencies!-- springmvc 依赖会将spring的核心包一并添加进来 --!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.23/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.30/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.4.5/version/dependency/dependencies 3、配置 web.xml  ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0servletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedispatcher/servlet-nameurl-pattern//url-pattern/servlet-mapping/web-app 用于配置 Servlet 的映射和加载。在 Spring MVC 中它用于配置 DispatcherServlet 的初始化和请求映射。 具体来说这段配置的作用如下 定义了一个名为 dispatcher 的 Servlet并指定了 org.springframework.web.servlet.DispatcherServlet 作为其处理类。设置了 load-on-startup 属性为 1表示在应用启动时就加载该 Servlet。使用 servlet-mapping 元素将 dispatcher Servlet 映射到所有的请求路径上即 url-pattern//url-pattern意味着所有的请求都会经过该 Servlet 进行处理。 这段配置的作用是将所有的请求交给 DispatcherServlet 处理并让它成为应用的核心控制器。DispatcherServlet 将根据请求的 URL 和其他配置信息将请求分发给相应的处理器方法进行处理然后返回响应结果。 4、配置 dispatcher-servlet.xml  ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvc xmlns:mcvhttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd!-- 启用扫描 --context:component-scan base-packageedu.nf.ch05/!-- mvc 注解驱动 --mvc:annotation-driven/!-- 默认 servlet 处理静态资源 --mcv:default-servlet-handler/!-- 内部资源视图解析器 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/jsp//property namesuffix value.jsp//bean/beans 主要作用是配置Spring MVC框架相关的组件和参数以便在Web应用中使用Spring MVC框架进行开发。 具体来说该配置文件包含以下几个部分 命名空间声明声明了XML文件所使用的命名空间包括beans、context和mvc三个命名空间。 组件扫描通过context:component-scan标签启用组件扫描机制指定需要扫描的包路径以便Spring MVC框架能够自动扫描和注册相关的组件。 注解驱动通过mvc:annotation-driven标签启用注解驱动机制使得Spring MVC框架能够自动识别和处理控制器中的注解例如RequestMapping、ResponseBody等。 静态资源处理通过mcv:default-servlet-handler标签配置默认的servlet处理静态资源以便在Web应用中访问静态资源例如图片、CSS、JavaScript等。 视图解析器通过bean标签配置视图解析器将JSP页面映射到对应的控制器方法上以便返回相应的视图。 二、将 map 设置到 ModelAndView 中 Controller public class ModelController {GetMapping(/test1)public ModelAndView test1() {ModelAndView mav new ModelAndView(index);// 设置请求作用域mav.addObject(name, qiu);// 也可以将数据保存到 map 集合中再设置列到 ModelAndViewMapString, Object map new HashMap();map.put(age, 21);// 再将 map 设置到 ModelAndView 中mav.addAllObjects(map);return mav;} } 这段代码的意思是 使用了 GetMapping(/test1) 注解来处理 GET 请求并将请求映射到路径 /test1。 该方法返回一个 ModelAndView 对象并设置视图名称为 index。 使用 mav.addObject() 方法将参数保存到请求作用域中参数名作为键参数值作为值。在这个例子中将 name 设置为 qiu。 还可以将数据保存到一个 Map 集合中并使用 mav.addAllObjects() 方法将整个 Map 设置到 ModelAndView 中。在这个例子中将 age 设置为 21。 最后将数据保存到请求作用域中并将视图名称设置为 index然后返回 ModelAndView 对象。 1、在 index.jsp 中获取控制器保存的数据 % page contentTypetext/html;charsetUTF-8 languagejava % html headtitleTitle/title /head body h1首页/h1 Name:${requestScope.name}br Age:${requestScope.age} /body /html 2、运行 这个方法的作用是将数据传递给视图以便在视图中进行展示。具体来说它通过 ModelAndView 对象将数据保存到请求作用域中并将视图名称设置为 index然后返回该对象。 在 SpringMVC 中控制器负责处理请求并返回视图。当控制器需要将数据传递给视图时可以使用 ModelAndView 对象。ModelAndView 对象允许控制器设置视图名称、模型数据和其他参数并将它们传递给视图进行展示。 在这个例子中控制器通过 mav.addObject() 方法和 mav.addAllObjects() 方法将数据保存到请求作用域中。这些数据可以是任何类型的对象例如字符串、数字、集合、自定义对象等。在视图中可以通过 ${name}、${age} 等表达式获取对应的参数值进行展示。 三、传入一个 Map保存到 ModelAndView 中 、Map  /*** Spring 可以传入一个 Map 、Model 或者 ModelMap* 来保存用户需要转发的数据这些数据一样会保存到请求* 作用域中* param map* return*/GetMapping(/test2)public ModelAndView test2(MapString, Object map) {map.put(name, qiu);map.put(age, 21);return new ModelAndView(index);} 控制器的方法接受一个 MapString, Object 参数该参数会自动被 SpringMVC 注入。 在方法体内你可以通过 map.put() 方法将需要传递给视图的数据保存到这个 Map 对象中。在这个例子中将 name 设置为 qiu将 age 设置为 21。 最后通过创建一个新的 ModelAndView 对象并设置视图名称为 index将数据传递给视图。由于 Map 参数已经保存了需要传递的数据因此不需要再调用 mav.addObject() 或 mav.addAllObjects() 方法。 这种方式与之前的方式相比省去了创建 ModelAndView 对象的步骤直接通过方法参数进行数据传递。这样可以简化代码并且在方法体内可以更直接地操作数据。 2、Model GetMapping(/test3) public String test3(Model model) {model.addAttribute(name, qiu);model.addAttribute(age, 21);return index; } 控制器的方法接受一个 Model 参数该参数会自动被 SpringMVC 注入。与之前的 Map 参数类似你可以通过 model.addAttribute() 方法将需要传递给视图的数据保存到 Model 对象中。 最后直接返回视图名称即可。由于 Model 参数已经保存了需要传递的数据因此不需要再创建 ModelAndView 对象。 3、ModelMap GetMapping(/test4) public String test4(ModelMap modelMap) {modelMap.put(name, qiu);modelMap.put(age, 21);return index; } 方法参数是 ModelMap 对象代码与 Map 参数的情况类似只需要将方法参数类型改为 ModelMap 即可。 4、运行效果 最后它们运行的结果都是一样的都是能把数据显示到页面中。  四、原生 servlet 的传递参数和使用 Spring 中的 Model 传递参数有什么区别 原生 Servlet 的传递参数通常通过 HttpServletRequest 对象来实现可以使用请求参数、请求头、请求体等方式传递数据。而在 Spring 中Model 是一种更高级的数据传递方式用于将数据从控制器传递到视图。 以下是原生 Servlet 和使用 Spring 中的 Model 传递参数的区别 数据封装方式原生 Servlet 需要手动从 HttpServletRequest 中获取参数并进行解析和封装而使用 Spring 的 Model 则是通过调用 addAttribute() 方法将数据添加到 Model 中Spring 框架会自动将数据传递给视图。 数据范围原生 Servlet 的参数传递范围局限于单个请求参数只能在当前请求中传递而使用 Spring 的 Model数据可以在整个请求处理过程中共享包括请求转发、重定向等情况下都可以传递数据。 视图解析原生 Servlet 需要手动编写代码来进行视图解析如使用 RequestDispatcher 进行请求转发或设置响应结果而使用 Spring 的 Model则由 Spring MVC 框架负责解析视图根据配置的视图解析器将模型数据渲染到相应的视图上。 框架集成原生 Servlet 是 Java EE 标准的一部分可以与其他 Java EE 技术无缝集成而使用 Spring 的 Model需要结合 Spring MVC 框架进行使用可以充分利用 Spring 提供的各种便利功能如拦截器、AOP 等。 总的来说使用 Spring 的 Model 传递参数相对于原生 Servlet 更加简洁、方便并且能够与 Spring MVC 框架的其他功能无缝集成。它提供了一种高级的数据传递方式使得开发人员能够更加专注于业务逻辑的实现而不需要过多关注底层的参数解析和视图解析等细节。 五、使用 Spring 中的 Model 有什么好处 在 Spring 中Model 是一个接口它允许控制器方法向视图传递数据。具体来说Model 接口提供了一个 addAttribute() 方法用于将数据添加到模型中以便在视图中使用。 使用 Spring 中的 Model 有以下好处 简化代码使用 Model 可以避免在控制器方法中编写大量的重复代码如将数据存储到 HttpServletRequest 或 HttpSession 中。相反只需调用 addAttribute() 方法一次即可将数据添加到 Model 中。 提高可读性使用 Model 可以使代码更加清晰易懂因为它明确指定了要传递的数据和数据的名称。 支持多种数据类型Model 不仅支持基本数据类型还支持集合、数组、JavaBean 等多种数据类型可以满足不同场景下的数据传递需求。 支持多种视图技术Model 不依赖于任何特定的视图技术可以与多种视图技术如 JSP、Thymeleaf 等配合使用从而提高应用程序的灵活性和可扩展性。 六、gitee 案例 gitee地址ch05 · qiuqiu/SpringMVC - 码云 - 开源中国 (gitee.com)
http://wiki.neutronadmin.com/news/8232/

相关文章:

  • 网站建设 分类广告修改wordpress博客
  • 黄金网站下载免费怎么做微信钓鱼网站吗
  • 专业建站服务公司安徽省招标投标信息网
  • 网站使用费用计算机信息网络系统
  • html5网站设计欣赏泰国购物网站大全
  • 建站公司 phpwindwordpress 如何编辑页面
  • 医疗网站专题模板叠石桥网站建设
  • 网站先做移动站在做pc站可行吗拓普建站推广
  • 网站关键词排名服务统计二级域名的网站流量有什么用
  • 南宁大型网站建设建站教程的优点
  • jsp网站开发过程展馆展示设计公司排名前十名
  • 网站改版的方式大致有建e室内设计网 3d模型医美前台
  • 国内哪家网站做的系统纯净wordpress禁止自适应
  • 网站开发工程师招聘要求网站路径
  • 巴中区建设局网站单页网站怎么做竞价
  • 国内大型网站制作软件开发流程详解
  • 百度网站优化外包企业网站建设管理系统
  • 那些做seo的网站怎么样做一个自己的网站
  • 淘宝客网站建设食品网站app建设
  • 网站建设职业发展前景和现状邢台移动网站建设费用
  • 网上商城网站设计湖南省建设厅政务中心网站
  • wordpress做的外贸网站6福建省建设注册管理中心网站
  • 品牌服装网站建设现状大连app开发定制
  • 网站_专题建设服务网站建设zrhskj
  • 3天引流800个人技巧网站内部优化建设
  • 怎么下载网站程序有限责任公司属于什么企业类型
  • 做五金生意什么网站做比较好英语作文模板高中
  • wordpress前后登录优化系统
  • 阜阳商城网站建设2_ 如何写一份详细的网站开发方案
  • 建设网站5要素网页游戏网站链接