美文网首页
SpringBoot(SB)继续学习

SpringBoot(SB)继续学习

作者: 小禄来学习 | 来源:发表于2022-07-31 14:54 被阅读0次

拦截器:

SB的拦截器需要继承HandlerInterceptor接口,其中有两个方法,一个在Controller之前起作用,一个在Controller之后起作用。

我们在拦截器中写一个简单的登录检查逻辑:

如果想要这样一个登录检查起作用,必须完成两个步骤:

1.配置好拦截器要拦截哪些请求

2.把这些配置放到容器中

因此,创建一个配置类,并向拦截器注册中心(InterceptorRegistry中添加我们刚刚创建的登录拦截器,并指定拦截哪些请求)

我们也可以对登录拦截器做一些优化,进行友好的提示,并重定向到根目录,如下:

要注意的是,拦截器在拦截请求时,也会拦截静态资源,因此也要把静态资源放行,如下:

文件上传:

1.SB默认单个上传文件的大小为1MB,总上传大小为10MB,太小了,随便传个照片就超了,因此可以修改配置,如下:

2.在前端设置表单要提交到的Controller

3.配置处理文件上传的Controller

其中@RequestPart用来获取上传的非文本内容,MultipartFile可以封装用户上传的文件,这里我们把用户提交的headerImg保存到了桌面。

异常处理

默认情况下,Spring Boot提供/error处理所有错误的映射

对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息。对于浏览器客户端,响应一个“ whitelabel”错误视图,以HTML格式呈现相同的数据。

如果想让出现404、500等错误时,跳转到我们自定义的页面,可以自建一个error文件夹,放进去出现404等错误时要跳转到的页面。

Web原生组件注入(Servlet、Filter、Listener)

1.使用Servlet API的方法

想要注入Servlet等,首先需要在主类上加一个注解@ServletComponentScan,指定扫描的包,包中所有的servlet等将被扫描进容器中

这时候我们新建一个自己的Servlet,便可以生效了

2.RegistrationBean的方法

这种方法只需在servlet的同一个包下写一i个配置类,使用ServletRegistrationBean方法,返回一个ServletRegistrationBean,里面的参数包括自己写的Servlet以及路径(可以多个)。

SB的定制化组件:

先略了

相关文章

网友评论

      本文标题:SpringBoot(SB)继续学习

      本文链接:https://www.haomeiwen.com/subject/meolwrtx.html