监听器代码
public class UserCountListenerTest implements HttpSessionListener,ServletContextListener{
private int usercount;
private ServletContext cxt;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
cxt = null;
}
public void contextInitialized(ServletContextEvent e) {
cxt = e.getServletContext();
}
public void sessionCreated(HttpSessionEvent arg0) {
usercount++;
cxt.setAttribute("usercount",new Integer(usercount));
}
public void sessionDestroyed(HttpSessionEvent arg0) {
usercount--;
cxt.setAttribute("usercount",new Integer(usercount));
}
}
xml文件配置也没出错
下面是servlet代码
@WebServlet("/TestUserCount")
public class TestUserCount extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestUserCount() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext cxt = this.getServletContext();
HttpSession session = request.getSession();
int usercount = Integer.parseInt(cxt.getAttribute("usercount").toString());
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<title>");
out.println("在线人数");
out.println("</title>");
out.println("</head>");
out.println("<body>");
out.println(usercount);
out.println("</body>");
out.println("</html>");
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
异常提示第27行(int usercount = Integer.parseInt(cxt.getAttribute("usercount").toString());)出现错误
java.lang.NullPointerException
com.lzm.countlistener.TestUserCount.doGet(TestUserCount.java:27)