复制代码 代码如下:
//过滤器类
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,从而实现当关闭服务的时候,把文件保存在磁盘中。下次从磁盘中读取。
相关推荐:
仿写AI:智能时代的创作革命,洛江区移动房网站推广
AI撰写大数据解决方案:开启智能数据时代的新篇章,ai头号公敌
AI一键生成文章免费:革新写作方式,提升创作效率
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
AI免费试用不需要登录:体验智能科技的魅力,轻松开启未来,华为ai身材
《SEO教材:打造网站流量的核心利器,教你轻松SEO优化技巧》,咖啡网站建设总结文案
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
SEO优化:如何让网站更具有吸引力,散文ai写作咒语是什么
AI撰写率:让创作变得更高效,助力内容产业腾飞,人力ai
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
人工AI软件的未来:智能时代的创新驱动力
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
怎么让AI写文章,轻松实现内容创作的智能化
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
seo组建需要什么条件,seo建站的步骤 ,ai肌肉宝宝
打造内容创作新时代:有言AI生成助力创作者释放灵感
UCMS:引领智慧医疗新时代,打造数字化健康未来,推广工作谈营销
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
AI文章精简-高效提炼与优化你的内容创作,ai quid
AI代谢文章:从灵感到成果的创作革命
AI写作免费一键生成下载,助您轻松创作!
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
AI自动帮写,轻松应对内容创作挑战,赋能写作新未来,嘿科技ai
SEO优化流程:助力网站快速提升排名的关键策略,1745ai
SEO收集:如何通过有效数据收集提升网站排名,鞍山商城网站建设报价
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
高效创作之路:文章AI生成器的力量
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
ChatGPT遇到问题?如何解决“您的应用遇到问题,无法正常启动”困境?,ai下载增强版
什么是seo的豆子,何为seo ,ai圆复制
什么叫改写-解读“改写”背后的艺术与技巧,网站制作建设模板图片
文章缩写AI:高效编辑的未来之光
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
Bing搜索的注意事项-提高搜索效率与准确性,轻松获取所需信息,最近ai写作软件推荐
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO门户:打造高效网站流量的关键利器,创意网站建设要求