SpringBoot中的拦截器和国际化的学习

388 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,点击查看活动详情

首先,需要考虑到的问题:

  1. 导入静态资源
  2. 首页(直接打开首页显示的是404,所以需要定制首页)
  3. jsp(在SpringBoot中没有书写jsp的地方所以我们需要学习模板引擎Thymeleaf)
  4. 增删改查
  5. 拦截器
  6. 国际化(中英文切换)
  7. 导入静态资源

我们在引入jQuery的时候,以前我们需要导入架包,现在我们只需要引入webjars即可。具体地址为:

www.webjars.com/

image.png

优先级别排序:
resourses>static>public
一般在public下放一些公共的资源,例如:js
在static下一般放一些图片
在resourses下放一些上传的文件

总结:

在springboot,我们可以使用以下方式处理静态资源

  • webjars loca7host:8080/webjars/

  • public,static,/**,resources localhost:8080/

1. 拦截器

拦截器可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能。

定义拦截器步骤

在 Spring Boot 项目中,使用拦截器功能通常需要以下 3 步:

  • 定义拦截器;
  • 注册拦截器;
  • 指定拦截规则(如果是拦截所有,静态资源也会被拦截)。

2. 国际化

  • 就是根据不同的浏览器语言,加载不同的配置文件
  • SpringBoot默认就支持国际化
  • 只需要在resources/目录下创建国际化配置文件即可,名称以messages开始

注意:下方是我们需要导入的依赖,是必不可少的

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
    </dependency>

创建一个i18n目录,在目录下创建一个login.properties,login_zh_CN.properties,login_cn_US.properties三个配置文件

image.png

image.png

国际化的消息表达式用#号

image.png

通过在配置文件中配置来识别,这样国际化就可以使用了

spring.messages.basename=i18n.login

image.png