使用Filter时产生java.lang.IllegalStateException异常解决办法

今晚在写Filter时首次遇到java.lang.IllegalStateException异常,很快百度就找到以下解决方法:
      在response.sendRedirect()方法后加return语句即可
 
所给出的方法和遇到的情况是相同的,都是使用了在response.sendRedirect()方法!
 
加上了return ; 后的确没有了这个异常的提示!但是页面却好长时间都没有显示,或者说根本显示不了,无法跳转到需要的页面!
 
后来偶然间作了些修改:
((HttpServletResponse) response).sendRedirect("index.jsp");
改为
((HttpServletResponse) response).sendRedirect("/pro/index.jsp");
 
就是跳转的地址由index.jsp改为/项目名/index.jsp,这样Ok了!
 
原因:
我的Filter所设置的过滤访问是xx文件夹下的所有页面请求,即对/项目名/xx/*进行过滤检查!
如果跳转地址只是index.jsp,没有指明是根目录下的index.jsp,Filter可能在不断地执行;(我猜出来的原因)
 
指明了/项目名/index.jsp,跳转页面的位置明确了,Filter就更快捷地执行!

本文转自 Icansoft 51CTO博客,原文链接: 
http://blog.51cto.com/android/55780
上一篇:数据库系统开发


下一篇:IntelliJ IDEA 无法导入HttpServlet包