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 + -
显示快捷键?