前言

在前后端未分离的传统web项目中,当前端访问后台时,后台controller会跳转至指定页面。
假如现在需要根据页面选择的不同语言,让后台跳转至不同页面。传统做法是写不同的controller,每个controller对应一个语言的页面。
其实,我们可以只写一个controller,然后再通过拦截器对页面进行修改。

代码

1.controller代码

返回ok.jsp页面

@RequestMapping("/ok")
public String queryUser(@RequestParam(required = false) String language, HttpSession session) {return "ok";
}

2.拦截器代码

核心逻辑是postHandle方法,对返回的ok.jsp界面进行修改

@Component
public class UserInterceptor extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("======UserInterceptor用户权限校验=========");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("========UserInterceptor修改modelAndView======");HttpSession session = request.getSession();if(modelAndView != null && session != null) {String modifyViewName = modelAndView.getViewName() + "_" + session.getAttribute("language");modelAndView.setViewName(modifyViewName);}}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("========UserInterceptor资源释放======");}
}

springmvc使用拦截器跳转至不同页面相关推荐

  1. SpringMVC自定义拦截器与异常处理(自定义异常)

    SpringMVC自定义拦截器与异常处理 拦截器概念 拦截器代码演示 创建maven工程 pom.xml <?xml version="1.0" encoding=" ...

  2. springMVC使用拦截器针对控制器方法做预处理、后处理、资源清理

    简单了解一下过滤器和拦截器: 过滤器是servlet规范中的一部分,任何java web工程都可以使用:在url-pattern中配置/*之后,可以对所有要访问的资源拦截.拦截器是springMVC框 ...

  3. springmvc高级(拦截器,全局异常处理,文件上传)

    SpringMVC 1.文件上传 文件上传: 指的就是将用户本地计算机中文件上传到服务器上的过程称之为文件上传 1).文件上传编程步骤 # 1.项目中引入相关依赖 <dependency> ...

  4. SpringMVC之拦截器使用

    拦截器的介绍 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理,可以通过自定义拦截器来实现特定的功能. 过滤器与拦截器的区别:拦截器是AO ...

  5. SpringMVC之拦截器

    目录 一.什么是拦截器? 二.拦截器与过滤器 三.应用场景 四.拦截器入门案例 五.拦截器方法说明 六.用户登录权限控制 一.什么是拦截器? SpringMVC的处理器拦截器,类似于Servlet开发 ...

  6. SpringMVC——自定义拦截器、异常处理以及父子容器配置

    SpringMVC--自定义拦截器.异常处理以及父子容器配置 参考文章: (1)SpringMVC--自定义拦截器.异常处理以及父子容器配置 (2)https://www.cnblogs.com/so ...

  7. SpringMVC应用拦截器判断用户是否登录

    拦截器定义 实现HandlerInterceptor接口,实现接口方法. import javax.servlet.http.HttpServletRequest; import javax.serv ...

  8. SpringMVC经典系列-14自己定义SpringMVC的拦截器---【LinusZhu】

    注意:此文章是个人原创.希望有转载须要的朋友们标明文章出处.假设各位朋友们认为写的还好,就给个赞哈.你的鼓舞是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linusz ...

  9. Marco's Java【SpringMVC入门(五) 之 SpringMVC的拦截器的使用】

    前言 我们知道在web开发中,一般有三大板块:Servlet(服务连接器) .Listener(监听器) 和Filter(过滤器),而今天我们要学习的拦截器可以算是一个精致的过滤器"法宝&q ...

最新文章

  1. python信用卡违约_Python信用卡验证
  2. 容器数据卷网络基本配置
  3. Luffy之Xadmin以及首页搭建(轮播图,导航)
  4. 必背42个单词_高中英语必背100个常考单词,考试必考
  5. 疯狂电商购物节日,设计师受虐加班? | 美妆促销页面设计技巧
  6. java http服务 Tomcat_【求教】用JAVA写HTTP服务器代替TOMCAT 我代码哪错了。。
  7. pycharm 调试教程
  8. RF中的 click element
  9. 用AB对Webservice做压力测试
  10. VINS_Fusion学习01——官方教程翻译解读
  11. 如何免费下载外文文献
  12. structs 中过滤器问题
  13. vue+element 下载or批量下载.mp3文件
  14. 隐马尔可夫模型(三): 算法分类、解决方法
  15. mac 打开网页慢_Safari打开网页卡住或加载极慢问题解决方案
  16. Latex 自定义命令与环境、箱子
  17. PS按照图片大小调整画布大小
  18. java Excel导出工具类
  19. 使用C++,用四阶Runge-Kutta的方法来求解一阶常微分方程
  20. 本机访问VMware虚拟机中网页的方法

热门文章

  1. sh命令脚本在终端运行出现Permission denied的解决办法
  2. matlab 动态存储图片,Matlab刷新图像及保存.gif动图的简单方法
  3. Python之OpenCV 003 简单的录屏并保存为gif动画图片
  4. Xcode修改工程名称
  5. css动画 animation
  6. Win32 GDI 学习总结
  7. 玩转实名认证 让您的信息更安全
  8. 几百块的投影仪靠谱吗?难道没有便宜又好用的吗?
  9. 计算机网络实验常用软件对比
  10. 苹果M1 Mac惊人体验!