当前位置: 代码迷 >> Java Web开发 >> 统计访问人数,求高手!该如何解决
  详细解决方案

统计访问人数,求高手!该如何解决

热度:145   发布时间:2016-04-17 00:12:37.0
统计访问人数,求高手!!!!!!
Java code
public class Count implements ServletContextListener{     public void contextDestroyed(ServletContextEvent arg0) {          ServletContext sc = arg0.getServletContext();          Integer count = (Integer) sc.getAttribute("AccessCount");          try {           PrintWriter out = new PrintWriter(new FileWriter("d:/count.txt"));// 将人数保存到文本文件           System.out.println("count:"+count);           out.print(count++);           out.flush();           out.close();          } catch (IOException e) {           e.printStackTrace();          }         }     public void contextInitialized(ServletContextEvent arg0) {          Integer count = 0;          ServletContext sc = arg0.getServletContext();          try {           Scanner in = new Scanner(new FileReader("d:/count.txt"));// 读取已经产生的人数信息,然后进行累加           count = in.nextInt();           System.out.println(count+"--------------");           in.close();          } catch (FileNotFoundException e) {           e.printStackTrace();          }          sc.setAttribute("AccessCount", count);    }}public class Countp implements Filter{    private String id;    public void destroy() {        // TODO Auto-generated method stub            }    public void doFilter(ServletRequest request, ServletResponse response,            FilterChain filterchain) throws IOException, ServletException {        HttpServletRequest re=(HttpServletRequest)request;        HttpServletResponse pon=(HttpServletResponse)response;        HttpSession session=re.getSession();     if(session.getId()!=null){        //判断是否同一IP跟时间               Integer count = (Integer) session.getServletContext().getAttribute("AccessCount");              if(count!=null){                                 System.out.println(count+"=========");               session.getServletContext().setAttribute("AccessCount", count++);               id = session.getId();              }        }         System.out.println("-------");         filterchain.doFilter(re, pon);    }    public void init(FilterConfig arg0) throws ServletException {            }     


HTML code
<%=request.getSession().getServletContext().getAttribute("AccessCount")%>




怎么不累加啊!

------解决方案--------------------
ServletContext 和 Application 不是一样么?
  相关解决方案