项目页面国际化
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; } }
由于在父类 WebMvcConfigurer有添加拦截器的方法,因此我们直接重写即可,不需要添加@Bean,因为这是我们重写的方法而非自定义的方法
addPathPatterns添加所有请求,excludePathPatterns排除部分请求
小细节:我们可以修改一下客户登录成功后的主页的名字为用户登录名 优化用户体验