-
大小: 4KB文件類型: .java金幣: 1下載: 0 次發(fā)布日期: 2021-05-22
- 語(yǔ)言: Java
- 標(biāo)簽: jsp計(jì)數(shù)器??
資源簡(jiǎn)介
僅僅用一個(gè)servlet中的過(guò)濾器,即可實(shí)現(xiàn)網(wǎng)站的統(tǒng)計(jì)人數(shù),可以防止刷新。每次登陸的時(shí)候加1.可以保存在本地磁盤。很實(shí)用,簡(jiǎn)單有注釋。
代碼片段和文件信息
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;
//過(guò)濾器類
public?class?EcondingFilter?implements?Filter?{
private?String?charset?=?null;
private?ServletContext?context?=?null;
private?String?path?=?““;
/**
?*??在銷毀前將數(shù)據(jù)存入本地文件中
?*/
public?void?destroy()?{
//獲取servleContext中的屬性的那個(gè)值
String?nums?=?(String)?context.getAttribute(“nums“);
//創(chuàng)建寫入流
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();//獲取每次訪問(wèn)的action的相對(duì)路徑
//判斷路徑,如果是登陸的,就讓保存的context里面的那個(gè)屬性加1
if(path.endsWith(“/login.action“)){
context.setAttribute(“nums“Integer.parseInt(context.getAttribute(“nums“).toString())+1+““);
}
評(píng)論
共有 條評(píng)論