springboot 项目国际化+登录拦截器

项目页面国际化

1.语言配置文件

需要下载插件Resource Bundle Editor

 新建国际目录i18n

 

在properties配置文件中自定义

 

 2.前端index页面要设置语言参数传递给后端,切换中英文

 3.自定义地区解析器MyLocaleResolver后端接收并处理

 4.自定义了一个地区解析器要生效需要到springboot的配置文件中注册

注意:这里我记得是springboot会自动找/config/**下面的目录,所以只要注册进了我们自定义的配置类MyMvcConfig就能被springboot自动匹配

 

 

登录拦截器 

拦截器,不允许登录成功后复制url就能访问页面的情况出现

首先,要判断用户是否是登录过的,利用session,判断session是否为空,在登录成功时设置session值

 

 

在配置层新增LoginHandlerInterceptor.java,判断获取到session里面的loginUser是否为空

复制代码
public class LoginHandlerInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //拿到登陆成功后用户的session
        Object loginUser=request.getSession().getAttribute("loginUser");
        if(loginUser==null){
            request.setAttribute("msg","没有权限呢,请先登录");
            request.getRequestDispatcher("/index.html").forward(request,response);
        }
        else {
            return true;
        }
        return false;
    }
}
View Code
复制代码

由于在父类 WebMvcConfigurer有添加拦截器的方法,因此我们直接重写即可,不需要添加@Bean,因为这是我们重写的方法而非自定义的方法

addPathPatterns添加所有请求,excludePathPatterns排除部分请求

 小细节:我们可以修改一下客户登录成功后的主页的名字为用户登录名 优化用户体验

 

posted on   醒醒起来  阅读(117)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示