设置访问记录
通过实现ServletRequestListener;强转成父类HttpServletRequest获取各类信息
通过io流进行输入文件
package com.msb;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebListener
public class listenDemo implements ServletRequestListener {
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
@Override
public void requestDestroyed(ServletRequestEvent sre) {
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
//获得发出的请求
//获得发出的url
//获得响应时间
HttpServletRequest req =(HttpServletRequest) sre.getServletRequest();
String remoteHost = req.getRemoteHost();
String requestURL = req.getRequestURL().toString();
//使用自定义格式,这里可以参考log4j
String format = simpleDateFormat.format(new Date());
PrintWriter writer =null;
try {
//将请求打印到文件中
/*
* new创建一个对象file一个file文件,引入;路径
* 在PrintWriter方法中传入FileOutputStream的参数,文件对象
* 调用println方法换行
* */
File file = new File("d:/msb.txt");
writer = new PrintWriter(new FileOutputStream(file,true));
writer.println(remoteHost);
writer.println(requestURL);
writer.println(format);
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
if (null!=writer){
writer.close();
}
}
}
}