疑难杂症...求大神!

colie_li 2013-06-29 11:11:44
用的是tomcat7,然后第一次登录所有功能 正常使用,没有问题,然后点击退出,再次登录时报错:



求大神!
...全文
327 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011011528 2013-07-02
  • 打赏
  • 举报
回复
把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因
colie_li 2013-07-02
  • 打赏
  • 举报
回复
引用 10 楼 oh_Maxy 的回复:
退出没有任何error是把? tghl是什么目录?LZ的工程名是什么?把路径关系截个图发下呗? 另外,是否存在jsp跳转涉及/tghl相关的? (嗯,日志看不出你的类有问题,猜测与配置的路径有关;登出的Action,建议将remove和clear操作注释掉试试能否正常再次登录)
tghl是项目名,跳转路径是对的啊,第一次登录一切能用,退出后也能登录,但是里面的功能不能用
oh_Maxy 2013-07-02
  • 打赏
  • 举报
回复
退出没有任何error是把? tghl是什么目录?LZ的工程名是什么?把路径关系截个图发下呗? 另外,是否存在jsp跳转涉及/tghl相关的? (嗯,日志看不出你的类有问题,猜测与配置的路径有关;登出的Action,建议将remove和clear操作注释掉试试能否正常再次登录)
lkq_david 2013-07-02
  • 打赏
  • 举报
回复
个人觉得不是tomcat的原因,要看看你退出的代码是怎么写的,可能是退出那边有毛病
u011011528 2013-07-02
  • 打赏
  • 举报
回复
引用 13 楼 liyantianmin 的回复:
[quote=引用 12 楼 u011011528 的回复:] 把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因
您是大哥!![/quote] 菜鸟都是这么玩的,包括我,很有用啊,只是可以知道是哪方面的错,之后再仔细找,一个个的试
colie_li 2013-07-02
  • 打赏
  • 举报
回复
引用 12 楼 u011011528 的回复:
把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因
您是大哥!!
效林少爷 2013-07-01
  • 打赏
  • 举报
回复
楼主 求看代码
齐岳 2013-07-01
  • 打赏
  • 举报
回复
重装一下tomcat 试试
坚持2012 2013-07-01
  • 打赏
  • 举报
回复
内存溢出有很多原因的,在myeclipse把tomcat的jdk中的Optional Java VM argument:-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m,意思网上搜,再者就是好好检查程序吧,把程序优化一下
colie_li 2013-07-01
  • 打赏
  • 举报
回复
引用 2 楼 oh_Maxy 的回复:
应该和tomcat无关,看看登出操作,都做了些什么。方便的话,可以把这块的代码拿来看看啊~

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class QuitAction extends ActionSupport {
	
	private static final long serialVersionUID = -3561246517849289095L;
	
	public String execute() throws Exception {
		QuitProcessor quit = new QuitProcessor();
		
		if (quit.quitSystem()) {
			return Action.LOGIN;
		}
		
		this.addActionMessage(quit.getMessage());
		return Action.ERROR;
	}
	
}
//

import java.util.Hashtable;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;



import com.opensymphony.xwork2.ActionContext;
import com.ldm.login.Login;

public class QuitProcessor {
final static Log logger = LogFactory.getLog(QuitProcessor.class);
	
	private String message;
	
	public QuitProcessor() {
		this.message = "";
	}
	
	/**
	 * @return the message
	 */
	public String getMessage() {
		return message;
	}
	
	/**
	 * @param message
	 *            the message to set
	 */
	public void setMessage(String message) {
		this.message = message;
	}
	
	@SuppressWarnings("unchecked")
	public boolean quitSystem() {
		Map<?, ?> session = ActionContext.getContext().getSession();
		Map<?, ?> application = ActionContext.getContext().getApplication();
		
		Login login = (Login) session.get("user");
		
		if (null == login || "".equals(login.getUsername().trim())) {
			
			this.message = "退出系统错误--Session error";
			logger.debug(this.message);
			return false;
		}
		try {
			application.remove(login.getUsername());
			session.clear();
			return true;
		} catch (Exception e) {
			this.message = "退出系统错误--application error";
			logger.error("quit system error!", e);
		}
		
		return false;
	}
}







colie_li 2013-07-01
  • 打赏
  • 举报
回复
引用 5 楼 lxlTerry 的回复:
楼主 求看代码
package com.ldm.user.quit;

import java.util.Hashtable;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;



import com.opensymphony.xwork2.ActionContext;
import com.ldm.login.Login;

public class QuitProcessor {
final static Log logger = LogFactory.getLog(QuitProcessor.class);
	
	private String message;
	
	public QuitProcessor() {
		this.message = "";
	}
	
	/**
	 * @return the message
	 */
	public String getMessage() {
		return message;
	}
	
	/**
	 * @param message
	 *            the message to set
	 */
	public void setMessage(String message) {
		this.message = message;
	}
	
	@SuppressWarnings("unchecked")
	public boolean quitSystem() {
		Map<?, ?> session = ActionContext.getContext().getSession();
		Map<?, ?> application = ActionContext.getContext().getApplication();
		
		Login login = (Login) session.get("user");
		
		if (null == login || "".equals(login.getUsername().trim())) {
			
			this.message = "退出系统错误--Session error";
			logger.debug(this.message);
			return false;
		}
		try {
			application.remove(login.getUsername());
			session.clear();
			return true;
		} catch (Exception e) {
			this.message = "退出系统错误--application error";
			logger.error("quit system error!", e);
		}
		
		return false;
	}
}
colie_li 2013-07-01
  • 打赏
  • 举报
回复
引用 5 楼 lxlTerry 的回复:
楼主 求看代码
package com.ldm.user.quit;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class QuitAction extends ActionSupport {
	
	private static final long serialVersionUID = -3561246517849289095L;
	
	public String execute() throws Exception {
		QuitProcessor quit = new QuitProcessor();
		
		if (quit.quitSystem()) {
			return Action.LOGIN;
		}
		
		this.addActionMessage(quit.getMessage());
		return Action.ERROR;
	}
	
}
飞舞的锄头 2013-07-01
  • 打赏
  • 举报
回复
的一次登录网页正常,退出后第二次登报错?看看你处理登录和退出的servlet
oh_Maxy 2013-07-01
  • 打赏
  • 举报
回复
应该和tomcat无关,看看登出操作,都做了些什么。方便的话,可以把这块的代码拿来看看啊~
caofeng891102 2013-07-01
  • 打赏
  • 举报
回复
重新装一个试试。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧