• 大小: 4KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Java
  • 标签: jsp计数器  

资源简介

仅仅用一个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+““);
}

评论

共有 条评论

相关资源