天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jsp網頁計數器實現示例

復制代碼 代碼如下:
//過濾器類
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的相對路徑
<img alt="" src="http://img.blog.csdn.NET/20130728233435953?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2tyZ3diag==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center"><img alt="" src="http://img.blog.csdn.NET/20130728233445625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2tyZ3diag==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center"> //判斷路徑,如果是登陸的那個action,就讓保存的context里面的那個屬性加1
if(path.endsWith("/login.action")){
context.setAttribute("nums",Integer.parseInt(context.getAttribute("nums").toString())+1+"");
}
request.setCharacterEncoding(charset);
response.setCharacterEncoding(charset);
chain.doFilter(request, response);
System.out.println("doFilter后");

}

復制代碼 代碼如下:
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("filter初始化");
//獲取編碼格式
charset = filterConfig.getInitParameter("encoding");
//獲取servletContext
context = filterConfig.getServletContext();
System.out.println(charset);

path = context.getRealPath("");
File file = new File("D://text.txt");
if (!file.exists()) {//判斷文件是否存在
// 如果文件不存在,就創建一個文件,保存在D盤中
file = new File("d://text.txt");
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
bw.write(0 + "");// 寫入初始化數據0
} 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();

}
}
}
//當每次tomcat啟動服務時,進行讀取創建的那個文件
path = "d://text.txt";
// 從本地讀取訪問的人數的文件
FileReader fr = null;
BufferedReader bf = null;
String nums = "";
try {
fr = new FileReader(path);
bf = new BufferedReader(fr);
nums = bf.readLine();
System.out.println(nums);
} catch (Exception e) {
e.printStackTrace();
} finally {

try {
if (bf != null) {
bf.close();
}
if (fr != null) {
fr.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//將獲得到的數據保存在servletContext中
context.setAttribute("nums", nums);
}

}

用過濾器方便的一點,不需要我們每次手動去調用,當web服務啟動時候,自動會引用。首先說下,我寫到init方法的依據是,每次web服務啟動會調用一次init方法,當關閉服務的時候會調用一次destory方法,將計數的那個數據文件,這個方法寫到init方法和destory方法,這樣可以減少每次的不斷的讀取服務器和讀取寫入文件的次數,當我們每登陸一次,就讓servletContext中的那個attr加1,從而實現當關閉服務的時候,把文件保存在磁盤中。下次從磁盤中讀取。

jsp技術jsp網頁計數器實現示例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: G国产精品无马 | 在线不卡日本v二区 | 青柠在线观看免费完整版 | 国产亚洲精品视频亚洲香蕉视 | 青青青青青青草 | 动漫在线观看免费肉肉 | 一进一出抽搐gif免费60秒 | 91九色精品国产免费 | 中文在线无码高潮潮喷在线 | 国产成人免费全部网站 | 中文无码在线观 | 伦理79电影网在线观看 | 国产电影午夜成年免费视频 | 国产呦精品一区二区三区网站 | 国产原创剧情麻豆在线 | 国产三级精品三级在线观看 | 国产亚洲精品久久久闺蜜 | 成年私人影院网站在线看 | 国产AV白丝爆浆在线播放 | 尤物99久久久合集一区区 | 久久亚洲精品永久网站 | 亚洲色欲色欲综合网站 | 午夜国产精品影院在线观看 | 日欧一片内射VA在线影院 | 亚洲精品久久久久久蜜臀 | 激情欧美日韩一区二区 | 国产精品高清视亚洲一区二区 | 久久免费视频在线观看6 | 国产在线AV一区二区香蕉 | 99国产精品久久 | 久久亚洲精品AV成人无 | 男人到天堂a在538线 | 浪荡受自我调教纯肉BL | 色欲AV精品人妻一区二区三区 | 羞羞影院午夜男女爽爽影院网站 | 久就热视频精品免费99 | 和I儿媳妇激情 | 亲女乱h文小兰第一次 | 再深点灬舒服灬太大了在线视频 | 91黄色影院 | 亚洲 欧美 国产在线视频 |