HttpSessionListener不起作用帮忙看下

philwilla 2008-10-03 02:38:08
listener:
public class UserListListener implements HttpSessionAttributeListener {
private List<String> userList;

public void attributeAdded(HttpSessionBindingEvent arg0) {
System.out.println("dadsad");
HttpSession session = arg0.getSession();
String username = (String)session.getAttribute("username");
System.out.println(username);
ServletContext application = arg0.getSession().getServletContext();
synchronized(application) {
userList = (List<String>) application.getAttribute("userList");
if(userList == null) {
userList = new ArrayList<String>();
}
userList.add(username);
}
}

public void attributeRemoved(HttpSessionBindingEvent arg0) {

}

public void attributeReplaced(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub

}
}

这个是servlet:
public class UserLogin extends HttpServlet {

public UserLogin() {
super();
}

public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String username=request.getParameter("username");
HttpSession session = request.getSession();
session.setAttribute("username", username);
out.write("登陆成功");
}

public void init() throws ServletException {
}

}
在登陆后把用户名存入session中,然后把坚听器会坚听到的啊?可是System.out.println("dadsad");
根本没被打印..
web.xml:
<listener>
<listener-class>UserListListener</listener-class>
</listener>
...全文
583 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyliatcn 2008-11-21
  • 打赏
  • 举报
回复
一样的问题
sunyujia 2008-10-03
  • 打赏
  • 举报
回复
可能是eclipse自动编译或者自动部署坏了,你刚才检查下problem视图里面的错误就好了,或者检查下发布的地方class的末次修改时间
philwilla 2008-10-03
  • 打赏
  • 举报
回复
把项目删了 重导搞顶了 奇怪中。。。。
philwilla 2008-10-03
  • 打赏
  • 举报
回复
为什么要继承httpServlet???
sunyujia 2008-10-03
  • 打赏
  • 举报
回复
看了下我以前写代码
你试试
extends HttpServlet implements
HttpSessionAttributeListener, HttpSessionListener
philwilla 2008-10-03
  • 打赏
  • 举报
回复
我用的是默认的包
philwilla 2008-10-03
  • 打赏
  • 举报
回复
没有异常,要是空格的问题 会提示classnotfound的异常的啊
sunyujia 2008-10-03
  • 打赏
  • 举报
回复
你的类不会是没有包路径吧,没有包路径有时候会有些bug,这也是sun提倡必须使用包路径的原因.
accp206 2008-10-03
  • 打赏
  • 举报
回复
光从代码及配置来看,好像没有什么问题。
顶多就是<listener-class>UserListListener </listener-class>多个尾随的空格而已。
若这空格在你的web.xml中也存在,则去掉它吧。

你运行此程序的时候,控制台有异常信息吗?

如果没有异常信息,建议楼主先从Web服务器中移除此项目,重新发布之后再进行访问。

81,094

社区成员

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

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