session-本地环境可以 安全退出,部署到服务器上就会报错!

问题描述

本地环境可以 安全退出,部署到服务器上就会报错!

本地环境运行的时候可以安全退出,部署到服务器上就会报错。
菜鸟一枚, 求大神解答!!! 谢啦
HTTP Status 500 - getAttribute: Session already invalidate

type Exception report message getAttribute: Session already invalidated

description The server encountered an internal error that prevented it from fulfilling this request.

exception
java.lang.IllegalStateException: getAttribute: Session already invalidated
org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:1189)
org.apache.catalina.session.StandardSessionFacade.getAttribute(StandardSessionFacade.java:120)
org.apache.struts2.dispatcher.SessionMap.get(SessionMap.java:163)
java.util.AbstractMap.equals(AbstractMap.java:460)
java.util.ArrayList.remove(ArrayList.java:510)
com.bgi.uims.module.sys.user.action.UserAction.logout(UserAction.java:218)
......

安全退出对应的action 代码如下:
//注销
@SuppressWarnings("rawtypes")
public String logout() {
if(!session.isEmpty())
{
// 注销掉Application中的
ServletContext application = request.getServletContext ();
List sessions = (ArrayList) application.getAttribute(Constant.SESSIONS);
if (sessions != null) {
sessions.remove(session);
}
String log = (String) session.get(Constant.LOGINLOG_ID);
if (log != null) {
SysLoginlog loginlog = new SysLoginlog();
loginlog.setLogId(log);
loginlog.setSysCode(ConfigConst.getSYSTEM_CODE());
loginlog.setSysLoginType("物流系统后台管理");
LoginAuthWsClient.getUIMSWebService(ConfigConst.getAUTH_ADDRESS()).loginLog(Constant.UPDATESTR, loginlog);
}
session.remove(Constant.DISABLEDRESOURCENAME);
session.remove(Constant.DISABLEDRESOURCEURL);
session.remove(Constant.LOGINLOG_ID);
session.remove(Constant.LOGINUSER);
session.remove(Constant.MENUS);

}
return SUCCESS;
}

解决方案

http://blog.csdn.net/wang12/article/details/6780805
http://bbs.csdn.net/topics/380085618

解决方案二:

if (sessions != null) {
sessions.invalidate();
}

这样就行了吧

时间: 2024-08-07 02:17:31

session-本地环境可以 安全退出,部署到服务器上就会报错!的相关文章

java-RMI本地client调用远程服务器上的server报错

问题描述 RMI本地client调用远程服务器上的server报错 代码这篇文章上的.Java RMI之HelloWorld篇 我把ihello,helloimpl,server放在了服务器上,client放在了本机电脑的eclipse中 保证远程服务器上的server正常运行,运行client报错 Caused by: java.lang.ClassNotFoundException: IHello (no security manager: RMI class loader disabled

flex 超链接-在本地调试成功的超链接,放到服务器上不行

问题描述 在本地调试成功的超链接,放到服务器上不行 用myeclipse开发的地图应用,左侧有个信息列表. 加了超链接功能,在本地没有问题,部署到服务器上就根本没有超链接显示. 代码如下.我开始以为是超链接的链接问题,但是在别的电脑上试了,输入我的电脑的IP地址是能够访问的.但是服务器上就是不行.急急急. <?xml version="1.0" encoding="utf-8"?> xmlns:s="library://ns.adobe.com

调试-本地网站如何传到阿里云服务器上?

问题描述 本地网站如何传到阿里云服务器上? 本地的程序只需要改数据库连接部分么?必须域名解析后才能进行调试么? 解决方案 很多方法,比如云服务器开ftp,然后直接传. 或者上传网盘,云服务器从网盘下载 解决方案二: 有ip就可以调试. 解决方案三: 在阿里云上重新部署,将网站代码打包上传可以用filezilla等软件,如果数据库如果有server就用ip连接,没有的话就导出数据在阿里云上重新部署数据库. 解决方案四: 最近也有用阿里云服务器的意向 解决方案五: 不知道你是用什么语言做的网站

代理程序本地执行或调试都没有问题,自动跑后总是报错“Type Mismatch”.CDAT函数使用时报错.

问题描述 代理程序本地执行或调试都没有问题,自动跑后总是报错"TypeMismatch".已经确定是CDAT函数使用问题.doc.GetItemValue("K_AgentTime")(0)的值为"2011/7/1902:30:02AM"代码如下,哪位高手帮忙看看.SubInitializeadmin="-----"REMdefineobjectDimsessionAsNewNotesSessionDimdbAsNotesDa

sqlite数据库部署到服务器上的问题

试了一天...本地测试是好的(WIN10 64位+VS2015),部署到服务器上(WIN2008 32位+IIS6) 总是不行..按网上说了什么不要BUNDLE的,加入X86X64目录再放那个SQLite.Interop.dll到不同的目录,还是不行,还是出错, 最后修改了应用程序池的标识里的预定义账户为本地系统就好了..还有我按网上做的IIS6运行32位模式的做了结果是没有任何反应的,可能是我的服务器本 来就是32位的原因的吧!!!

网站部署到服务器上出现问题

问题描述 网站部署到服务器上出现问题 Argument 'Key must not be null' cannot be null. Parameter name: Key must not be null 数据库用的Oracle 运用了Nhibernate 解决方案 这个上面提示信息就是 key 为null 参数key 不能不null 你根据异常信息找找log 看看. 解决方案二: 应该是hibernate配置文件的字段not null为true吧

图片-本地可以打开的html代码放到服务器上无法显示(这些代码别人的电脑上可以在服务器上运行出来)。

问题描述 本地可以打开的html代码放到服务器上无法显示(这些代码别人的电脑上可以在服务器上运行出来). 解决方案 楼主 index-ec.html是要运行的网页么

iis-ASP.NET使用一般处理程序绘制验证码在本地可以显示图片,但是在服务器上显示不了

问题描述 ASP.NET使用一般处理程序绘制验证码在本地可以显示图片,但是在服务器上显示不了 如题. 本地访问: IIS服务器访问: 直接访问一般处理程序抛出此信息 解决方案 确认本地可以显示么?那么就是上传的时候有dll没有复制全.

app-项目部署到服务器上,手机访问一段时候就访问不了

问题描述 项目部署到服务器上,手机访问一段时候就访问不了 SSH项目部署到服务器上(win08)上,手机访问一段时间后,就不能访问,就需要重启服务器后才能访问,这是什么原因恩 解决方案 清空日志再查看日志,看看是不是已经报错 解决方案二: 是不是hibernate配置文件设置了权限? 解决方案三: 可能的原因很多吧?有可能是缓存没有自动清理,也可能数据库连接没有关闭当然也有可能是访问量太大或者网速不行 解决方案四: 清空日志文件,手机访问一下,别急着重启,查看日志文件,看看是否已经报错 解决方案