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

SpringMVC的注解

1. SpringMVC:Spring Web MVC

2. @RequestMapping 既是类注解,又是方法注解

3. 访问的URL路径:类路径+方法路径

4.后端开发人员测试接口,通常使用postman或其他类似工具来发起请求

   对于后端而言,使用postman或form表单,ajax都是一样的。

出现错误如何处理:

1.观察HTTP状态码:

如果404,先确认url是否存在:@RequestMapping的url映射

如果5XX,查看后端控制台的错误日志(从下往上,分段查看)

请求:

自定义请求的方法:

传递单个参数:

传递多个参数:

参数请求不分先后

重命名:

默认这个参数是必传的

可以设置required = false,参数非必传

传递对象:

传递数组:

传递集合:

集合参数:当同一个请求参数名有多个,需要使用@Requestparam绑定参数关系

默认情况下,

请求中参数名相同的多个值,封装到数组;

封装到集合,需要使用@RequestParam。

传递JSON数据

JSON本质是字符串

使用文本表示一个对象/数组/对象数组

获取URL中的参数

对参数进行重命名

上传文件:

加了fileName之后就成功了

Cookie&Session

1.用户提供账号和密码,服务器进行验证。

2.服务器验证通过,会把信息存储到Session中,把sessionId返回给客户端(set-cookie)。

3.客户端收到响应,把sessionId存储在cookie中。

4.后续请求中,客户端带着sessionId去请求,根据sessionId获取Session信息。

eg:

学校存储信息之后,给学生发校园卡(sessionId),学生进出校园,通过校园卡(cookie中的sessionId)来证明身份。

cookie可以造假,但session不可以。

Cookie和Session的区别:

Cookie和Session都是会话机制

Cookie是客户端机制

Session是服务器机制

Cookie存储的信息由程序员而定:可以用cookie来保存一些数据在客户端,不一定是用户信息,也不一定是sessionId

session中的信息(sessionId)也不一定得存在cookie中:比如通过URL传递

获取cookie

浏览器设置cookie

postman设置cookie

1.传统意义上获取cookie

2.使用注解获取cookie

设置session和获取session

方式一:

request.getSession()默认值为true

如果session为空,就会创建出一个新的session

方式二:

方式三:

获取请求头(header):

当有多个注解时,注解不分先后顺序

响应:

1.返回静态页面:

@ResponseBody 返回数据(响应正文里的内容)

既可以修饰类,也可以修饰方法

修饰类:表示该类所有的方法,返回的都是数据

修饰方法:表示

访问静态页面:

servlet路径有项目名,是因为一个Tomcat下面可以部署多个项目,需要通过路径来进行区分。

Spring路径不需要有项目名,是因为SpringBoot内置tomcat,一个tomcat下面就部署当前一个项目。

如果部署多个项目,就启动多个tomcat。

1)一个项目部署多个服务

2)部署多个项目:

给不同的项目设置不同的端口号

2. 返回HTML片段

3.返回JSON

4.设置状态码

状态码的设置不影响页面的显示


设置Content-type

自定义header

几个小测试

后端接收到需求:

1)需求评审

2)开发  :a.接口定义 b.开发 c.自测(开发人员进行测试,和测试人员无关)

3)联调:后端和前端联调

4)提测: 测试人员工作

5)上线

6)下线

接口定义:两个原则

1.看我需要什么(请求参数)

2.看对方需要什么(响应结果)

此处的接口表示API(客户端和服务端的约定)

服务提供方:

1.提供什么服务

2.提供服务时,需要什么参数

3.处理之后,需要给对方什么响应

客户端角度:

1.我需要什么服务

2.服务端要求的参数,我是否有

3.对方给我提供的信息,是否能满足我的需求

1.计算器:

我需要:参与计算的两个数字

对方需要:计算结果

接口定义:

/calc/sum

参数:

num1,num2

返回的结果:两者计算的数据

问题可能出现在三个阶段:
1.前端

2.后端

3.前后端交互

   a.请求有没有发送出去

   b.后端有没有接收请求

后端如果报错:

1.Debug

看参数穿传过来没

2.把参数打印出来

后端控制台打印了,说明这个方法调用了,参数传过来了。

2.用户登录

接口定义:

程序没问题,显示有问题。

1.清理浏览器缓存(不同电脑,不同浏览器,快捷键不一样)

a.   ctrl+shift+R    强制刷新

b.   ctrl+shift+delete    清除缓存

2.清理后端编译缓存

session存在内存中,如果不做任何处理,默认服务器重启,session数据就丢失。

3.留言板

接口定义:

1.提交留言

URL:   /message/publish

参数

from 发表人

to 接收人

message 信息

返回:提交成功/失败

true:成功

false:失败

2.获取留言

URL:   /message/getList

参数:无

返回:全部的留言信息

List<MessageInfo>

获取的数据存储在服务器的内存中,一旦服务器重启,数据就会丢失。

编译:高级语言 -> 字节码

反编码:字节码 -> 高级语言

lombok 工具包 

通过注解的方式,简化java开发

使用:

引入依赖:

1.去maven仓库

2.安装插件EditStarters,重启idea

在pom文件中点击右键

3.新建项目的时候直接添加即可

(有些依赖还是得去maven仓库)

4.图书管理系统

1.登录

URL: /user/login

参数:用户名和密码

userName

password

返回:

true:用户名和密码都正确

false:用户名或密码错误

2.图书列表

URL:/book/getList

参数:无

返回:图书列表

List<BookInfo>

相关文章:

  • Java设计模式之备忘录模式详解
  • 【小沐杂货铺】基于Three.JS构建IFC模型浏览器(WebGL、CAD、Revit、IFC)
  • 使用source ~/.bashrc修改环境变量之后,关闭服务器,在重启,环境变量还有吗?
  • Spark-TTS: AI语音合成的“变声大师“
  • 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录——4. 配置服务器终端环境 zsh , oh my zsh, vim
  • isp中的 ISO代表什么意思
  • 实验一:PyTorch基本操作实验
  • 前端八股之CSS
  • 电脑的ip地址会自动变怎么办?原因解析和解决方法
  • Java生态中的NLP框架
  • 探索大语言模型(LLM):RSE流程详解——从文档中精准识别高相关片段
  • 【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡
  • cnn训练并用grad-cam可视化
  • DAY 40 超大力王爱学Python
  • Linux运维笔记:服务器安全加固
  • 【深度学习】实验四 卷积神经网络CNN
  • Cursor从入门到精通实战指南(四):15个核心功能详解
  • RAG理论基础总结
  • 2025GDCPC广东省赛游记(附赛时代码)
  • 2024年数维杯国际大学生数学建模挑战赛D题城市弹性与可持续发展能力评价解题全过程论文及程序
  • 个人网站隐藏服务器真实ip/公众号软文是什么意思
  • 刷题网站怎么做/如何查看网站收录情况
  • 塘厦镇网站建设公司/上海短视频推广
  • 京东商城网站设计/营销策划有限公司经营范围
  • 做饲料机械的网站/百度投诉电话客服24小时
  • 购物网站如何建设/网络推广平台哪家公司最好