SpringMVC学习3

news/2025/4/1 22:12:23/

一、RequestMapping说明

@RequestMapping注解用于映射url到控制器类或者一个特定的处理程序方法,可用于类或者方法上。作用于类上,表示类中的所用响应请求的方法都是以该地址作为父路径。

二、RestFul风格

RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁、更有层次、更易于实现缓存机制。

功能

  • 资源:互联网所有事物都可以被抽象为资源
  • 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作
  • 分别对应添加、删除、修改、查询。

好处

  • 使路径变得更加简洁
  • 获取参数更加方便,框架会自动进行类型转换
  • 可以约束访问参数,如果类型不一样,则不能访问到相应的请求方法

三、组合注解

  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping
  • @PatchMapping

四、重定向和请求转发

重定向

重定向是指将一个网址或一个网页的访问请求指向另一个网址或网页,用户在访问原网址时会被自动转向到新的网址。通常,重定向用于解决网站重构、更改网址等情况,使用户在访问时能够顺利进入新的网址或网页。在网站优化和搜索引擎优化中,重定向也常常被用于将失效的网址重定向到新的网址,以保证搜索引擎能够正确地收录和索引网站。

优点

1. 可以更改原网页的URL地址,使其更加直观、简洁、易于记忆;

2. 可以重构网站URL结构,以符合搜索引擎的优化要求;

3. 能够解决旧网址失效、迁移网站等问题,使访问者能够在不中断原有活动的情况下正常访问网站。

缺点

1. 可能影响网站的速度,因为在重定向时需要进行额外的HTTP请求;

2. 如果重定向次数过多,可能会影响用户体验,使页面延迟和加载速度变慢;

3. 重定向可能会导致一些错误,例如,重定向到错误的网页或网址,或者将用户重定向到恶意网站。

请求转发

请求转发是指将一个Web应用的请求发送给另一个Web应用进行处理。当一个Web应用在完成一定的处理后,需要让另一个Web应用继续处理该请求时,就会采用请求转发的方式。请求转发的实现机制是:当一个Web应用在接收到客户端的HTTP请求后,将该请求封装成一个ServletContext对象,再通过该对象转发给另一个Web应用。 

优点

1. 可以将不同的Web应用之间的业务逻辑进行分离,降低应用之间的耦合度;

2. 可以促进代码的重用和可维护性;

3. 可以提高Web应用的性能,因为请求转发可以分摊应用之间的负载和压力;

4. 能够降低Web应用的开发成本和维护成本。

缺点

1. 对请求转发所涉及到的多个Web应用有一定的依赖性,难以在不同的平台上进行部署和运行;

2. 将请求转发到其它Web应用时,可能会增加通信和数据传输的延迟,从而影响应用的响应速度;

3. 对应用的安全性有一定的影响,如果Web应用之间没有实施严格的访问控制策略,就可能会存在数据安全性和应用程序安全性问题。-

五、接收请求参数及数据回显

1.提交的域名名称和处理方法的参数名一致

提交参数:http://localhost:8080/hello?name=来一沓Java

    @RequestMapping("/hello")public String test2(String name){System.out.println(name);return "test";}

后台输出:来一沓Java

2.提交的域名名称于处理方法的参数不一致

提交参数:http://localhost:8080/hello?username=来一沓Java

    @RequestMapping("/hello")public String test2(@RequestParam("username") String name){System.out.println(name);return "test";}

后台输出:来一沓Java

3.提交的是一个对象

要求提交的表单域和对象的属性名一致,参数使用对象即可

    //前端接收的是一个对象@GetMapping("/t2")public String test2(User user){System.out.println(user);return "test";}

六、JSON

  • JSON是一种轻量级的数据交换格式
  • 采用完全独立编程语言的文本格式来存储数据和表示数据
  • 简洁和清晰的层次结构
  • 易于人的阅读和编写,同时也易于机器解析和生成,并有效的提升网络传输效率
  • 对象标识键值对,数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

http://www.ppmy.cn/news/45890.html

相关文章

由浅入深,一文彻底搞懂Mybatis+面试题分享

mybatis常见面试题链接:2023年-Mybatis常见面试题_是Smoky呢的博客-CSDN博客 MVC架构模式和三层架构 在说Mybatis之前,需要知道MVC架构模式和三层架构的这种思想 MVC架构模式 M:Model,数据层。都是和数据相关,比如实体…

【JavaWeb】后端(Maven+SpringBoot+HTTP+Tomcat)

目录 一、Maven1.什么是Maven?2.Maven的作用?3.介绍4.安装5.IDEA集成Maven6.IDEA创建Maven项目7.IDEA导入Maven项目8.依赖配置9.依赖传递10.依赖范围11.生命周期 二、SpringBoot1.Spring2.SpringBoot3.SpringBootWeb快速入门 二、HTTP1.HTTP-概述2.HTTP-请求协议3.HTTP-响应协…

测试(注意事项)

1.时间为同一天时,数据不准确 2.数据未关联eg:表单开始时间大于结束时间;总金额不能随着单价、数量进行改变 3.数据未做校验:当金额与付款金额不同时,表单也能提交;暂存提交时必填项为空也能提交表单 4.权限…

在线Plist文件格式转Json文件格式

Plist文件是一种用于存储应用程序配置信息的文件格式,其中包含应用程序的各种设置和数据。在过去,Plist文件通常是以 .plist 格式存储的。然而,随着时间的推移,人们开始使用 JSON 格式来存储更复杂的数据结构和数据。如果您需要将…

cubase elements12中文免费版 详细安装流程

cubase9免费版下载是由Steinberg公司开发的一款音乐制作软件,具有音频编辑处理、多轨录音缩混、视频配乐及环绕声处理等功能,对作曲家和混合工程师来说十分好用,可以大大提高编辑效率,需要的朋友赶快下载吧! 软件地址&…

Metasploit高级技术【第七章】

预计更新第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Met…

备受瞩目的南卡OE Pro上线!稳坐国内开放式蓝牙耳机TOP1,舒适音质双在线!

4月10号,国内专业资深声学品牌Nank南卡,将推出2023年度旗舰机——南卡OE Pro不入耳开放式蓝牙耳机,致力打造全新不入耳、不伤耳、安全健康佩戴体验,无论是音质体验还是佩戴舒适度,都完胜同行业不入耳开放式耳机&#x…

面试题:Dubbo的一些常见面试题及答案

什么是Dubbo框架? Dubbo是一种高性能、轻量级的开源分布式服务框架,它提供了服务注册、服务发现、负载均衡、远程调用、容错和安全等功能,简化了分布式应用开发。 Dubbo框架的核心原理是什么? Dubbo框架的核心原理是基于RPC&…