weblogic 部署项目失败 报错:监听器没有实现正确的接口,路过的大神给看看~

wswzh0329 2017-01-04 04:46:58
如题,说实话,这个项目虽然放在tomcat下成功运行过,但由于是新新新手,一直都没有接触并感受该监听器的作用,并不知道好不好使 weblogic更是刚刚接触,不知道该如何下手更改,求大神指点迷津,非常感谢~ ps:weblogic 12c 版本。。。。

//========= weblogic 报错提示=======
java.lang.IllegalArgumentException: [HTTP:101164]User defined class com.ydyd.gf.listener.SessionListener is not a listener, as it does not implement the correct interface(s).


//======== 百度有说jar包冲突 但是在项目中没有找到jsf-api.jar or jsf-impl.jar 
This is probably some jsf library issue. 
Which technology are you using? (ADF is not supported on WLS 12c) 
If you have jsf-api.jar or jsf-impl.jar in your deployment, try to remove them. 



// ======= 项目中的监听器 ==========
package com.ydyd.gf.listener;

import java.util.Date;

import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

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

import com.ydyd.gf.domain.User;

/**
* <pre>
* 业务名: session监听器
* 功能说明:session监听器
* 编写日期: 2015-12-09
* 作者: chengfa.xiao
*
* 历史记录
* 1、修改日期:
* 修改人:
* 修改内容:
* </pre>
*/
public class SessionListener implements HttpSessionBindingListener
{
private Log log = LogFactory.getLog(SessionListener.class);
private User user;

/**
* 方法名: 会话监听器空构造
*/
public SessionListener()
{

}

/**
*
* @param PortalOper
* 用户
*/
public SessionListener(User user)
{
this.setUser(user);
}

/**
* @param event
* 事件
*/
public void valueBound(HttpSessionBindingEvent event)
{
if (user != null) {
log.info("用户:"+user.getLoginId()+"登录了,登陆时间"+new Date());
}
}

/**
* @param event
* 事件
*/
public void valueUnbound(HttpSessionBindingEvent event)
{
log.info("用户:"+user.getLoginId()+"下线了,下线时间"+new Date());
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}
}


...全文
270 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wucjyy 2017-01-05
  • 打赏
  • 举报
回复
错误多贴点
wswzh0329 2017-01-05
  • 打赏
  • 举报
回复
引用 2 楼 wucjyy 的回复:
错误多贴点
谢谢关注,问题已解决! //========= 这是将javax.servlet.http.HttpSessionBindingEvent 换成 javax.servlet.http.HttpSessionListener之后的监听器=== //===== 要是可以的话 帮忙解释一下原因 为什么这样改就能部署到weblogic,非常感谢~========
package com.ydyd.gf.listener;

import java.util.Date;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

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

import com.ydyd.gf.domain.User;

/**
 * <pre>
 * 业务名: session监听器
 * 功能说明:session监听器
 * 编写日期:	2015-12-09
 * 作者:	chengfa.xiao
 * 
 * 历史记录
 * 1、修改日期:
 *    修改人:
 *    修改内容:
 * </pre>
 */
public class SessionListener implements HttpSessionListener
{
	private Log log = LogFactory.getLog(SessionListener.class);
	private User user;

	/**
	 * 方法名: 会话监听器空构造
	 */
	public SessionListener()
	{

	}

	/**
	 * 
	 * @param PortalOper
	 *            用户
	 */
	public SessionListener(User user)
	{
		this.setUser(user);
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	@Override
	public void sessionCreated(HttpSessionEvent se) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent se) {
		// TODO Auto-generated method stub
		
	}
}
wswzh0329 2017-01-04
  • 打赏
  • 举报
回复
。。来大神啊

81,095

社区成员

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

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