JAVA WEB中使用shiro框架配置web.xml404错误导致session丢失解决方案
2017-03-03 14:51
561 查看
最近一直在搞项目中的错误界面配置,已经访问不存在路径应用程序报错,泄露中间版本问题。这都是因为没有正确的配置web.xml。
以为只要在web.xml中配置后错误界面就OK,配置后出现404错误,项目总是提示登录超时,或者无法登陆。查其原因是因为项目是用的shiro框架,出现404错误导致session丢失。
主要场景描述
1、首先登录成功后访问正常页面没有问题的;
2、接着访问一个不存在的页面,即跳到相应的404页面,假设我的页面是jsp的;
3、再刷新一下就会提示登录超时。
解决方案
1、换一个新的session key,如uid; 推荐这种做法;
2、错误页面 设置<%@ page session="false' %>;(主要使用这个方式解决,简单粗暴)
3、给shiro filter配置<dispatcher>ERROR</dispatcher>,然后在其filterChainDefinitions中添加/WEB-INF/jsp/error/error = anon;
以为只要在web.xml中配置后错误界面就OK,配置后出现404错误,项目总是提示登录超时,或者无法登陆。查其原因是因为项目是用的shiro框架,出现404错误导致session丢失。
主要场景描述
1、首先登录成功后访问正常页面没有问题的;
2、接着访问一个不存在的页面,即跳到相应的404页面,假设我的页面是jsp的;
3、再刷新一下就会提示登录超时。
解决方案
1、换一个新的session key,如uid; 推荐这种做法;
2、错误页面 设置<%@ page session="false' %>;(主要使用这个方式解决,简单粗暴)
3、给shiro filter配置<dispatcher>ERROR</dispatcher>,然后在其filterChainDefinitions中添加/WEB-INF/jsp/error/error = anon;
相关文章推荐
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- java web spring mvc 框架中使用mybatis报错的解决方案
- 在使用hibernate 和spring 构架的框架中如果出现Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm
- apache虚拟主机配置错误导致网站不能正常使用session
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionStateMod 或自定义会话状态模块 -
- 非使用hibernate配置实体类关联数据库表,简单javaBean开发时读取一条数据解决方案
- [转发]在 Java Web 项目中选择使用 Slf4J 通用日志框架
- Portal-Basic Java Web 应用开发框架:应用篇(二) —— Action 使用
- 《Java高手真经_应用框架卷_Java_Web核心框架》所用软件、使用版本、下载地址列表:
- 使用iframe时Session重新生成的导致数据丢失的问题 ( by quqi99 )
- 使用java工程框架的web工程的配置 (依赖工程)
- Java Web基础教程四 ---------配置篇三mysql数据库的安装配置使用
- 在web.xml中配置openSessionInView的使用
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括..
- 使用ifame嵌入其他系统,导致session丢失的解决方法
- 转--只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionStateMod 或自定义会话状态模块
- 使用frame框架session都是解决方案