• jsp页面跳转方法及区别


    当前项目需求:需要在SSH项目中使用Spring Security作为用户权限管理,在客户端使用ExtJS实现。需要在用户登陆一段时间没有操作时,提示登陆超时,回到登陆页面。 

    这里首先介绍一下jsp中实现页面跳转的两种常用方法,及与普通http跳转请求(如直接输入网址)之前的区别。 

    在项目的web.xml中加入自己实现Filter接口的过滤器,实现对指定的请求进行转发。 

    1、 通过dispatcher的forward方法实现转发,如
    Java代码  收藏代码
    1. request.getRequestDispatcher("/login.jsp").forward(request, response);  


    2、 通过HttpServletResponse的sendRedirect方法实现跳转,如
    Java代码  收藏代码
    1. responseHttp.sendRedirect(requestHttp.getContextPath()+"/login.jsp")  


    上面这两种方法在请求响应之前,都能实现转发,但是又有不同。 
    forward方法只是在后台进行转发,客户端并不知道它发出的请求发生了转换,如客户端需要向后台请求A资源,但后台发现A资源不是A所有,这时后台使用forward转发请求到拥有A资源的B这里,之后由B返回给客户端,所以客户端这时并不知道A资源不是它所以的A所提供的! 
    sendRedirect方法,后台并不像上者那样作为一个中介方,后台若发现客户端请求的A资源不在A这里,则返回客户端A资源的正确路径,这时客户端再次发送请求。 

    但需要注意的是,上面提到的两种方法,并不是每种请求都有效的。这里就是它们和直接输入网址的区别。当客户端发出的请求时Ajax异步请求时,该请求本身并没有跳转页面的请求,只是获取后台数据,这时上面的两种方法都是不能实现跳转的,因为后台是没有权利要求客户端实现页面刷新的,这也是说请求必须是在响应请求之前转发。 
  • 相关阅读:
    使用vue自定义组件以及动态时间
    vue案列
    解决adb devices无法连接夜神模拟器
    手动解除浏览器跨域限制
    HBuilder实现WiFi调试Android
    Spring mvc文件下载
    3大框架Struts、Hibernate、Spring简单了解
    简单了解ajax
    使用本地计划任务定时关闭azure虚拟机
    调整虚拟机的尺寸
  • 原文地址:https://www.cnblogs.com/suncms/p/2588304.html
Copyright © 2020-2023  润新知