Java Web项目登录报Session Error

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/88070859

很多人在登陆的时候会发现报错:

弹框错误信息是:Session Error
解决办法是先打开 WEB-INF/web.xml文件

<servlet>

		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>activeReverseAjaxEnabled</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>initApplicationScopeCreatorsAtStartup</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>maxWaitAfterWrite</param-name>
			<param-value>500</param-value>
		</init-param>
	
		<load-on-startup>1</load-on-startup>
	</servlet>

解决办法:

在**<load-on-startup>1</load-on-startup>**加上如下代码:

		<init-param>
			<param-name>crossDomainSessionSecurity</param-name>
			<param-value>false</param-value>
		</init-param>*

至于原因,总是有人纠结于为什么?

这个问题,确实不好确诊,因为每个人使用的技术框架不同。
原因一:
这是因为同源策略的问题,为了WEB环境的安全,在WEB脚本语言中不允许读取不同源的数据,同源包括相同协议,相同域名和相同端口三个条件,而ajax的异步处理方式跳过了这个限制,为了安全限制,它设置为sameDomainAccess。
原因二:
如果使用到了dwr,那就有可能是DWR的版本与服务器Tomcat不兼容的问题。要么升级DWR版本,要么是降低Tomcat的版本。但是也可以采用我在上面加入的那句配置,也可以解决,只是验证的安全性能不太好!
结束语
作者: 杨校

出处: https://mryang.blog.csdn.net

Java互联网交流学习群:827829292

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件([email protected])咨询

猜你喜欢

转载自blog.csdn.net/kese7952/article/details/88070859