SpringMVC-01

Spring MVC是一种基于Java的MVC(Model-View-Controller)架构的Web应用程序开发框架。它是Spring框架的一部分,用于构建灵活和高效的Web应用程序。
Spring MVC的核心思想是将应用程序的逻辑分成模型(Model)、视图(View)和控制器(Controller)。模型表示应用程序的数据和业务逻辑,视图负责呈现数据给用户,控制器接收用户的请求并根据请求选择合适的模型和视图。
Spring MVC提供了一组丰富的功能和特性,使开发人员可以轻松地构建可扩展的Web应用程序。它具有以下特点:
  1. 支持灵活的URL映射:Spring MVC通过使用控制器处理器映射URL到适当的控制器方法。
  2. 强大的数据绑定和验证:Spring MVC提供了数据绑定功能,可以将用户提交的数据绑定到模型中。它还支持验证机制,可以验证并处理用户输入的数据。
  3. 灵活的视图解析:Spring MVC支持多种视图技术,包括JSP、FreeMarker、Thymeleaf等。开发人员可以根据需求选择合适的视图技术。
  4. 强大的拦截器支持:Spring MVC提供了拦截器机制,可以在请求处理的不同阶段添加拦截器来执行特定的操作,例如身份验证、日志记录等。
  5. 易于测试:Spring MVC的松耦合架构使得对控制器进行单元测试变得简单。开发人员可以使用JUnit等测试框架来编写测试用例。
    Spring MVC是一个功能强大且易于使用的Web应用程序开发框架,使开发人员能够高效地构建可扩展和可维护的Web应用程序。它是Java开发人员在构建Web应用程序时的首选框架之一。

调用流程:(图片来自尚硅谷)
licheng 在这里插入图片描述
@RequestMapping

    @RequestMapping(value = "/user/login",method = RequestMethod.GET)//1.进准地址[一个|多个]     {"地址1","地址2"}//2.模糊地址                  user/*//3.可以用与方法或类//4.method = RequestMethod.GET          指定访问方式  不符合会出现405异常//5.@RequestMapping(method = RequestMethod.GET) 等同于 @GetMapping

接收参数
1:param参数 param1=value1&param2=value2&param3=value3

    //1.直接接收 属性名要求对应相等@RequestMapping("/data")@ResponseBodypublic String data(String name,int age){return "name="+name+"age="+age;}//2.注解接收@RequestMapping("/data1")@ResponseBodypublic String data1(@RequestParam(value="account")String name,@RequestParam(required = false,defaultValue = "18")int page){return "name="+name+"page="+page;}//3.实体对象接收			属性名需要等于参数名@RequestMapping("/data2")@ResponseBodypublic String data2(User user){return user.toString();}

2:路径传参

    @RequestMapping("{account}/{password}")     //动态路径public String login(@PathVariable String account,@PathVariable String password){return "account:"+account+" password:"+password;}

3:json参数 { “name”: “John”, “age”: 25, “email”: “john@example.com”}

@EnableWebMvc       //配置json转化器 (使用postman)@PostMapping("/data")public String data( Person person){return person.toString();}

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

串口乱码原因

开发板上外部时钟的晶振与代码中的外部时钟的晶振不一致,使用cubemx配置时钟时要格外注意,选好芯片之后再看外部晶振是啥,不然随便设置可能乱码 重写fputc函数之后,需要自己手动勾选下面选项

详解IDEA git 版本回滚

作者简介 目录 1.git分区 2.未commit,进行回滚 3.commit未push,进行回滚 3.1.undo commit 3.2.reset 4.已commit&push,进行回滚 1.git分区 git的版本回滚其实就是回滚不同的分区,所以在聊git回滚之前我们有必要简单了解…

self-attention机制详解

目前,对于我们的network,给定的input大都是一个向量: 但是对于更复杂的情况,我们的input是a set of vec: 举例: nlp中的句子,对于每个word都是一个word embedding: 图学习中每个节点有一个e…

怎么申请便宜的IP证书

IP证书是数字证书的一种,现在大多数数字证书都是针对有域名地址的网站,而IP证书是为只有公网IP地址的网站提供的安全加密手段之一。随着互联网的蓬勃发展,越来越多的只有公网IP地址的网站想要创建一个安全的上网环境,防止数据被窃…

R语言快速学习笔记

1、R 语言赋值使用的是左箭头 <- 符号。 2、变量名可以 . 号开头&#xff0c;但是要注意 . 号开头后面不能跟着数字。 3、定义函数&#xff1a;使用 function 关键字&#xff0c;形式&#xff1a; function_name <- function(arg_1, arg_2, ...) {# 函数体# 执行的代码块…

自动化测试用例设计粒度

自动化测试用例的粒度指的是测试用例的细致程度&#xff0c;即每个测试用例检查的功能点的数量和范围。 通常&#xff0c;根据测试用例的粒度&#xff0c;可以被分为3种不同的层次&#xff0c;从更低层次的细粒度到更高层次的粗粒度。 第一种&#xff1a;单元测试 - 细粒度 …

Java实现基于GDAL将单波段影像转为三波段影像-唯一值渲染

在处理遥感影像的渲染时&#xff0c;经常需要处理单波段影像。单波段影像没有任何颜色&#xff0c;只有一个波段的值。渲染时只能采用色带拉伸、离散颜色、唯一值渲染这几种方式。直接将单波段影像转成三波段的影像&#xff0c;并将三个波段转为颜色对应的rgb值&#xff0c;这样…

贝塞尔曲线

贝塞尔曲线&#xff08;Bzier curve&#xff09;是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线&#xff0c;贝兹曲线由线段与节点组成&#xff0c;节点是可拖动的支点&#xff0c;线段像可伸缩的皮筋&#xff0c;我们在绘图工具上看到的钢笔工具…

网络安全B模块(笔记详解)- Web渗透测试

Web渗透测试 1.通过渗透机Kali1.0对服务器场景PYsystem20192进行Web渗透测试(使用工具w3af的对目标Web服务器进行审计),在w3af的命令行界面下,使用命令列出所有用于审计的插件,将该操作使用的命令作为Flag值提交; 进入kali命令控制台中使用命令w3af_console进入w3af命令…

经验分享:知识库系统这样搭建轻松又高效

我们工作中遇到过这样的情况吗&#xff1f;找不到组织结构图&#xff0c;找不到某个报告模板&#xff0c;找不到工作流程说明… 还或者看到同事忙绿在重复劳动&#xff0c;却没办法高效地共享你的经验和知识&#xff1f;这些都表明你的公司可能正急需一个知识库系统。 知识库系…

springCould中的Config-从小白开始【10 】

目录 &#x1f32d;1.spring cloud Config是什么&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️ &#x1f953;2.能干什么&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️ &am…

【算法Hot100系列】有效的数独

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…