自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 7.分组校验

解决校验规则冲突的问题,比如这里的id设置为@NotNull,当我们需要新增地址时,请求的address对象中没有id,id是数据库自动生成的,这时候我们只需要指定校验id:只有更新/修改地址时的请求,才可以对其产生校验.

2024-08-02 13:53:18 131

原创 4.JWT令牌认证_服务器解析token

然后需要实现MVC配置类中的添加拦截器addInterceptors方法,把我们的loginInterceptors注册进去,而且,我们需要考虑到,浏览器访问注册和登录接口时,根本就不需要token的呀,所以还需要设置不拦截的地址.然后controller层addAddress方法解析token,方法需要两个形参,第一个形参,取请求头的Authorization这个就是token,第二个形参,response,解析失败则响应401.浏览器访问登录和注册接口时,不验证token。

2024-08-01 14:13:29 256

原创 6.在实体类上添加参数校验@NotNull,@NotEmpty,@Email

最后在UserController类中的update()方法内的User形参前添加@Validated注解,意思是使User类中添加的注解生效.如果参数是一个类怎么办?

2024-07-31 17:20:20 170

原创 5.获取用户详细信息_ThreadLocal优化

所以,我们只需要在拦截器内,将token的解析结果claims放到ThreadLocal这个全局变量中,线程具有隔离作用,每个新的请求,内部会开出新的线程,保证token始终和ThreadLoal绑定在一起。访问控制层、逻辑层或者数据层,都可能需要获取请求头里的Authorization,解析token,得到比如用户id或者username,这样每次都需要用md5来解析,代码重复,不优雅。用ThreadLocal将claims存起来,全局变量,后面用到,则取。

2024-07-31 15:19:13 168

原创 理解“${pageContext.request.contextPath}“

浏览器输入地址localhost/day18_case/index.jsp 当浏览器成功访问这个地址的时候,就是一个请求request,我们强大的web服务器早就把这个请求封装成了request对象,我们可以从servlet中获取这个对象中的虚拟目录地址/day18_case当然,JSP也可以搞到这个对象,因为JSP它本质上是一个servlet,至于为什么可以显示成html,那是web服务器的事情,这里不是重点.重点是为什么在JSP中通过"${pageContext.request.contextPath}

2022-07-14 15:23:42 431

原创 怎么理解java接口

这困扰我很长一段时间,现在我有点明白了,接口存在的最终目的是为了优化冗余代码,提升编程开发效率。其实不用接口,程序也能做的出来,只不过代码重复度高,逻辑容易混乱,而且一旦遇到需要升级系统,会耗费大量的精力修改代码,所以越是复杂的程序,越需要接口这样的技术。俗话说,工欲善其事,必先利其器。如果不学好接口技术,很难处理复杂的程序。如果想要彻底理解接口,我认为需要把java三大特征理解透彻才行。封装、继承、多态,这三块懂了,接口自然就懂了,接口懂了,就能真正理解java这门面向对象的语言的精髓了。如果

2022-03-12 01:31:59 672

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除