SpringMVC注解介绍(二)

目录

1.@RequestPart上传文件

2.获取Cookie

1.使用@CookieValue

3.获取Session

3.1@SessionAttribute

4.设置Session

4.1HttpSession设置Session 

5.获取Header

5.1@RequestHeader

6.返回数据

1.返回Json对象

7.请求转发或请求重定向

 7.1forward和redirect区别

7.2请求转发forward

7.3请求重定向redirect


上篇博客地址:

springMVC(一)

1.@RequestPart上传文件

 将传过来的文件放在D盘保存

使用postman测试

报错了,使用抓包工具fiddler去查看 

发现好像是我们忘记写file文件的名称,

我们把file写上再次发送请求

 现在看一下fiddler的抓包

可以看到成功上传了。我们去指定的地址查看

硬盘中也成功上传了文件 ,由此可以知道

@RequestPart()括号内的名称要和前端发送的key一样

2.获取Cookie

以前学习的就是从HttpServletRequest中去获取

那么有没有更简单的方式呢?

1.使用@CookieValue

我们去浏览器访问 

报错了,我们查看日志打印以及@CookieValue源码发现他也是一个必传参数

我们打开网页来到开发者界面,按照以下步骤去手动添加对应名称的cookie 

所以我们说Cookie存在于客户端是可以造假的,就像现在我们可以手动添加一样

此时我们重新访问页面

页面访问成功,后端成功返回数据了

3.获取Session

Session同Cookie不一样,Session存在于服务器端,是不可以造假的

以前我们也是通过HttpServletRequest中去获取

现在我们可以通过更简单的方式也就是注解去获取

3.1@SessionAttribute

 

这个我们提前查看源码发现他也是一个必传参数,但是Session不能造假,我们没办法传递,但是我们可以修改参数,让他变为非必传参数

 此时去访问可以看到并不会报错

 那么我们如何去设置Session呢?

4.设置Session

以前我们学习的就是在HttpServletRequest中去设置

那么现在还是有简单的方式

4.1HttpSession设置Session 

 此时我们去浏览器访问

session设置成功了,我们进入开发者模式查看 发现Cookie中多了一个SessionId

此时我们若是修改sessionId去访问是获取不到的

5.获取Header

通过fiddler抓包可以看到Header中的数据都是以键值对的方式存储的

5.1@RequestHeader

我们可以通过@RequestHeader注解来获取

去浏览器访问:

 成功返回了userAgent的值

查看源码同样也是必传参数,可以使用require=false设置成非必传

6.返回数据

1.返回Json对象

 通过浏览器去访问,成功返回map数据

 通过抓包工具fiddler去查看发现返回的数据是json格式

 所以当我们返回Map类型的数据时,spring会自动帮我们转换成json对象

7.请求转发或请求重定向

 7.1forward和redirect区别

请求转发:服务器进行转发,服务器内部处理转化url地址,客户访问的url地址不会变

请求重定向:请求重新定向资源,客户访问的url地址发生变化

7.2请求转发forward

去浏览器访问发现url地址还是index/forward ,访问页面跳转到了index.html

7.3请求重定向redirect

 

 ​​​​​​​我们去浏览器访问

 

发现访问地址url发生了变化,这就是请求转发和请求重定向的区别

请求重定向与直接访问新地址结果是一样的

通过fiddler抓包也能看到

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值