資源簡介
僅僅用一個servlet中的過濾器,即可實現網站的統計人數,可以防止刷新。每次登陸的時候加1.可以保存在本地磁盤。很實用,簡單有注釋。
代碼片段和文件信息
package?com.accp.houserent.filter;
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.File;
import?java.io.FileReader;
import?java.io.FileWriter;
import?java.io.IOException;
import?javax.servlet.Filter;
import?javax.servlet.FilterChain;
import?javax.servlet.FilterConfig;
import?javax.servlet.ServletContext;
import?javax.servlet.ServletException;
import?javax.servlet.ServletRequest;
import?javax.servlet.ServletResponse;
import?javax.servlet.http.HttpServletRequest;
//過濾器類
public?class?EcondingFilter?implements?Filter?{
private?String?charset?=?null;
private?ServletContext?context?=?null;
private?String?path?=?““;
/**
?*??在銷毀前將數據存入本地文件中
?*/
public?void?destroy()?{
//獲取servleContext中的屬性的那個值
String?nums?=?(String)?context.getAttribute(“nums“);
//創建寫入流
FileWriter?fw?=?null;
BufferedWriter?bw?=?null;
try?{
fw?=?new?FileWriter(path);
bw?=?new?BufferedWriter(fw);
bw.write(nums);
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
try?{
if?(bw?!=?null)?{
bw.close();
}
if?(fw?!=?null)?{
fw.close();
}
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
System.out.println(“filter銷毀“);
}
public?void?doFilter(ServletRequest?request?ServletResponse?response
FilterChain?chain)?throws?IOException?ServletException?{
//?TODO?Auto-generated?method?stub
System.out.println(“doFilter前“);
String?path?=?((HttpServletRequest)request).getServletPath();//獲取每次訪問的action的相對路徑
//判斷路徑,如果是登陸的,就讓保存的context里面的那個屬性加1
if(path.endsWith(“/login.action“)){
context.setAttribute(“nums“Integer.parseInt(context.getAttribute(“nums“).toString())+1+““);
}
- 上一篇:java實現坦克大戰聯機
- 下一篇:公交管理系統java+MySQL源碼及設計報告
評論
共有 條評論