当前位置:编程学习 > JAVA >>

疑难杂症...求大神!

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



求大神! --------------------编程问答-------------------- 重新装一个试试。 --------------------编程问答-------------------- 应该和tomcat无关,看看登出操作,都做了些什么。方便的话,可以把这块的代码拿来看看啊~ --------------------编程问答-------------------- 的一次登录网页正常,退出后第二次登报错?看看你处理登录和退出的servlet --------------------编程问答-------------------- 内存溢出有很多原因的,在myeclipse把tomcat的jdk中的Optional Java VM argument:-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m,意思网上搜,再者就是好好检查程序吧,把程序优化一下 --------------------编程问答-------------------- 楼主 求看代码  --------------------编程问答--------------------
引用 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;
}

}
--------------------编程问答--------------------
引用 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;
}
}
--------------------编程问答--------------------
引用 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;
}
}







--------------------编程问答-------------------- 重装一下tomcat 试试 --------------------编程问答-------------------- 退出没有任何error是把?

tghl是什么目录?LZ的工程名是什么?把路径关系截个图发下呗?
另外,是否存在jsp跳转涉及/tghl相关的?

(嗯,日志看不出你的类有问题,猜测与配置的路径有关;登出的Action,建议将remove和clear操作注释掉试试能否正常再次登录)
--------------------编程问答--------------------
引用 10 楼 oh_Maxy 的回复:
退出没有任何error是把?

tghl是什么目录?LZ的工程名是什么?把路径关系截个图发下呗?
另外,是否存在jsp跳转涉及/tghl相关的?

(嗯,日志看不出你的类有问题,猜测与配置的路径有关;登出的Action,建议将remove和clear操作注释掉试试能否正常再次登录)


tghl是项目名,跳转路径是对的啊,第一次登录一切能用,退出后也能登录,但是里面的功能不能用 --------------------编程问答-------------------- 把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因 --------------------编程问答--------------------
引用 12 楼 u011011528 的回复:
把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因


您是大哥!! --------------------编程问答--------------------
引用 13 楼 liyantianmin 的回复:
Quote: 引用 12 楼 u011011528 的回复:

把报错放到百度上面搜一下,就前面的两句,看有类似的错误没,是什么原因


您是大哥!!


菜鸟都是这么玩的,包括我,很有用啊,只是可以知道是哪方面的错,之后再仔细找,一个个的试 --------------------编程问答-------------------- 个人觉得不是tomcat的原因,要看看你退出的代码是怎么写的,可能是退出那边有毛病
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,