最近在学做网站计数器。想在用户登录的时候才计算,但是一直返回servletcontext是空值,下面是我的一部分代码public void init() {
try {
//创建一个FILEREADER
FileReader f=new FileReader("f:\\myCounter.txt");
BufferedReader br=new BufferedReader(f);
//读取一个数据
String numVal=br.readLine();
//将TIMES 值放入servlet中
this.getServletContext().setAttribute("visittimes",numVal);
br.close();
System.out.println("init!!!");
System.out.println(this.getServletContext().getAttribute("visittimes"));//这里老是返回空值
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void destroy() {
try {
//将新的次数写回去
FileWriter fw=new FileWriter("f:\\myCounter.txt");
BufferedWriter bw=new BufferedWriter(fw);
//在文件中写入数据
bw.write(this.getServletContext().getAttribute("visittimes").toString());
bw.close();
System.out.println("destroy!!");//这里没有被调用
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
还有当我tomcat reload的时候发现destroy好像没被调用,请问是什么原因?
try {
//创建一个FILEREADER
FileReader f=new FileReader("f:\\myCounter.txt");
BufferedReader br=new BufferedReader(f);
//读取一个数据
String numVal=br.readLine();
//将TIMES 值放入servlet中
this.getServletContext().setAttribute("visittimes",numVal);
br.close();
System.out.println("init!!!");
System.out.println(this.getServletContext().getAttribute("visittimes"));//这里老是返回空值
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public void destroy() {
try {
//将新的次数写回去
FileWriter fw=new FileWriter("f:\\myCounter.txt");
BufferedWriter bw=new BufferedWriter(fw);
//在文件中写入数据
bw.write(this.getServletContext().getAttribute("visittimes").toString());
bw.close();
System.out.println("destroy!!");//这里没有被调用
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
还有当我tomcat reload的时候发现destroy好像没被调用,请问是什么原因?
解决方案 »
- 请教 spring struts3 hibernate3 配置问题
- 汉字乱码的问题
- 请大家赐教 : 怎么才能撤销一个提交到Java BUGDatabase的BUG呢?
- jsp如何获取fckeditor上传文件的路径?
- 我写了一个小例子,感觉没错,但还是报错,大家帮忙看看
- 关联表操作的问题!帮帮忙初学者!
- 用户注册时,如何在有ID重复的情况下回到以前页面且不删除上次输入的内容?
- 在线等待,版主请进!!!
- 如何把两字节变成一个字符啊!我都搞晕了,求高手帮忙!
- 如果得到二维数组的一个维度的数目啊!
- Javascript的value方法 得值的问题 ?????????
- 【还是回来web开发】专家诊断系统中 Drools 规则编写问题
在这里设断点,看numVal是多少?如果这里为空,检查你的输入文件路径还有不要写死路径成你本机的一个目录,Web的应用都用相对路径
String numVal=br.readLine();修改后:
int numVal=br.readLine();可以试一试!