response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路
2015-11-18 17:54
351 查看
今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html"); 这一条语句出错。
在网上进行查找之后,发现问题很有可能是因为response.sendRedirect方法执行了两次,其中一次肯定是项目框架里面的跳转,而我自己要进行跳转的话,就显得极其不方便,最后我把目光放到前端页面,在前端页面进行跳转。
一开始我的前端语句是:window.location.href="./DEFAULT.html";
但是这种方法有一个不明显的bug,我的业务逻辑是由开始页面先到a页面,然后在a页面判断是否要跳转到DEFAULT页面,如果是则跳转到DEFAULT,这里就有问题了,当我点击页面返回(js代码可以是:window.history.go(-1);)时,首先返回的是a页面,而不是开始页面,要两次快速的点击,才能返回开始页面。
最后的解决方法:window.location.replace("./DEFAULT.html");
这种写法的效果和上面方法一致,但是我在点返回的时候,是直接返回开始页面,并不会先返回a页面。
在网上进行查找之后,发现问题很有可能是因为response.sendRedirect方法执行了两次,其中一次肯定是项目框架里面的跳转,而我自己要进行跳转的话,就显得极其不方便,最后我把目光放到前端页面,在前端页面进行跳转。
一开始我的前端语句是:window.location.href="./DEFAULT.html";
但是这种方法有一个不明显的bug,我的业务逻辑是由开始页面先到a页面,然后在a页面判断是否要跳转到DEFAULT页面,如果是则跳转到DEFAULT,这里就有问题了,当我点击页面返回(js代码可以是:window.history.go(-1);)时,首先返回的是a页面,而不是开始页面,要两次快速的点击,才能返回开始页面。
最后的解决方法:window.location.replace("./DEFAULT.html");
这种写法的效果和上面方法一致,但是我在点返回的时候,是直接返回开始页面,并不会先返回a页面。
相关文章推荐
- 如何删除Eclipse里某个工作空间?
- java 反射调用支付SDK
- Spring整合mybatis完整项目
- JDK常用工具集——jps
- Eclipse中Outline里各种图标的含义
- java ftp工具类
- java换行
- java实现计算器
- 【leetcode】Kth Smallest Element in a BST
- 排序算法JAVA实现三
- SimpleDateFormat在jdk1.6与jdk1.7之间的差别
- Spring配置文件
- java自动装箱(是否是误区)
- 让 SpringMVC 接收多个对象的4种方法
- 关于javaBean中boolean类型变量的set和get
- Spring-springmvc-mybatis整合
- java中用枚举类实现单例模式
- java之路径
- 排序算法JAVA实现二
- java for循环实现乘法表