contextlistener.java

来自「针对网络跑步爱好者作为用户而开发的」· Java 代码 · 共 91 行

JAVA
91
字号
package com.briup.run.web.listener;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ContextListener implements ServletContextListener {

	public void contextInitialized(ServletContextEvent event) {
		/*ServletContext sc = event.getServletContext();
		String path = sc.getRealPath("/images/counters");
		long accessers = 0L;
		File file = new File(path);
		DataInputStream dis = null;
		if (file.exists() && file.canRead()) {
			try {
				dis = new DataInputStream(new FileInputStream(file));
				accessers = dis.readLong();
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (dis != null) {
					try {
						dis.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}
		Counter.setCounter(accessers);
		event.getServletContext().setAttribute("totalAccessNum",Counter.getCounter());*/
		
		ServletContext sc = event.getServletContext();
		String path = sc.getRealPath("/images/counters");
		long accessers = 0L;
		File file = new File(path);
		Properties prop= new Properties();
		if (file.exists() && file.canRead()) {
			try {
				prop.load(new FileInputStream(file));
				accessers=Long.parseLong(prop.getProperty("totalAccessNum"));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		Counter.setCounter(accessers);
		event.getServletContext().setAttribute("totalAccessNum",Counter.getCounter());
	}

	public void contextDestroyed(ServletContextEvent event) {
		/*ServletContext sc = event.getServletContext();
		long accessers = ((Long)sc.getAttribute("totalAccessNum")).longValue();
		String path = sc.getRealPath("/images/counters");
		File file = new File(path);
		DataOutputStream dos = null;
		IMemberService service = (IMemberService) BeanFactory.getBean("memberService");
		try {
			dos = new DataOutputStream(new FileOutputStream(file));
			dos.writeLong(accessers);
			service.updateOnlineStatus();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (dos != null) {
				try {
					dos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}*/
		
		ServletContext sc = event.getServletContext();
		long accessers = ((Long)sc.getAttribute("totalAccessNum")).longValue();
		String path = sc.getRealPath("/images/counters");
		File file = new File(path);
		Properties prop= new Properties();
		prop.setProperty("totalAccessNum", accessers+"");
		try {
			prop.store(new FileOutputStream(file), "The total access number!");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?