今天在进行代码开发的时候,出现了 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页面。