读取文本中的字符串到jsp中

时间:2012-11-13 12:20:47

标签: java html jsp

我想为网站写一个访客计数器并获得此代码

<html>
<head>
<title>Counter</title>
</head>
<body>
<%@ page import="java.io.*" %>
<%
String datei="pathtotxt/count.txt";
String wert ="";
try{
FileReader eingabestrom= new FileReader(new File(datei));
BufferedReader input=new BufferedReader(eingabestrom);
wert=input.readLine();
input.close();

int count=Integer.parseInt(wert);
count++;
FileWriter ausgabestrom=new FileWriter(new File(datei));
BufferedWriter output=new BufferedWriter(ausgabestrom);
output.write(String.valueOf(count));
output.close();
out.println("<h2>Sie sind der ");
out.println(count);
out.println(". Besucher auf unserer Site!</h2>");
}
catch(IOException e) {
out.println("Fehler: "+e);
}
%>

</body></html>

在txt文件中只有一个零。 当我打开网站时,会出现:

java.io.FileNotFoundException:pathtotxt / count.txt(Permission denied)

但我已经更改了此文件的权限。在终端中它说-rwxrwxrwx +所以应该可以读/写这个文件。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为在服务器端更好地实现此功能。例如:

  • 创建一个类,在其构造函数中读取文件中的值并保存
  • 此类将有一个返回先前保存的值的公共方法(int getCounter())。
  • 此类将有一个公共方法,可以增加值并将其写入文件,始终保持同步。

然后,JSP代码将为:

<html>
<head>
<title>Counter</title>
</head>
<body>
<%@ page import="package.of.class.ClassName" %>
<%
ClassName cl = new ClassName();
out.println("<h2>Sie sind der ");
  out.println( cl.getCount());
out.println(". Besucher auf unserer Site!</h2>");
cl.increase();
%>

这样,您将提高效率呈现JSP,并且您不会遇到读取文件的权限问题