//test.jsp文件
<%@ page contentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
<TITLE>
计数器演示程序
</TITLE>
</HEAD>
<BODY>
<!--创建并调用bean(counter)-->
<jsp:useBean id="counter" class="counter" scope="request">
</jsp:useBean>
<%
//调用counter对象的ReadFile方法来读取文件lyfcount.txt中的计数
String cont=counter.ReadFile("/lyfcount.txt");
//调用counter对象的ReadFile方法来将计数器加一后写入到文件lyfcount.txt中
counter.WriteFile("/lyfcount.txt",cont);%>
您是第<font color="red"><%=cont%></font>位访问者
</BODY>
</HTML>
这是调用的javabeen,用来读取计数器:
//counter.java 读写文件的一个bean
import java.io.*;
public class counter extends Object {
private String currentRecord = null;//保存文本的变量
private BufferedReader file; //BufferedReader对象,用于读取文件数据
private String path;//文件完整路径名
public counter() {
}
//ReadFile方法用来读取文件filePath中的数据,并返回这个数据
public String ReadFile(String filePath) throws FileNotFoundException
{
path = filePath;
//创建新的BufferedReader对象
file = new BufferedReader(new FileReader(path));
String returnStr =null;
try
{
//读取一行数据并保存到currentRecord变量中
currentRecord = file.readLine();
}
catch (IOException e)
{//错误处理
System.out.println("读取数据错误.");
}
if (currentRecord == null)
//如果文件为空
returnStr = "没有任何记录";
else
{//文件不为空
returnStr =currentRecord;
}
//返回读取文件的数据
return returnStr;
}
//ReadFile方法用来将数据counter+1后写入到文本文件filePath中
//以实现计数增长的功能
public void WriteFile(String filePath,String counter) throws FileNotFoundException
{
path = filePath;
//将counter转换为int类型并加一
int Writestr = Integer.parseInt(counter)+1;
try {
//创建PrintWriter对象,用于写入数据到文件中
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
//用文本格式打印整数Writestr
pw.println(Writestr);
//清除PrintWriter对象
pw.close();
} catch(IOException e) {
//错误处理
System.out.println("写入文件错误"+e.getMessage());
}
}
}
我建了lyfcount.txt这个文本,里面就是一个0,用来保存计数器与javabeen放在一起,但是编译jsp后却抛出了这个错误:
500 Servlet Exception
Note: sun.tools.javac.Main has been deprecated.
/examples/test.jsp:12: Class _examples.counter not found.
counter counter;
^
/examples/test.jsp:13: Class _examples.counter not found.
counter = (counter) request.getAttribute("counter");
^
/examples/test.jsp:15: Class _examples.counter not found.
counter = new counter();
^
/examples/test.jsp:16: Variable counter may not have been initialized.
String cont=counter.ReadFile("/lyfcount.txt");
^
4 errors, 1 warning
这是什么原因,是不是lyfcount.txt放错了位置,应该放在哪里?
8 个解决方案
#1
和lyfcount.txt没有关系.
是楼主在jsp文件中没有import counter
是楼主在jsp文件中没有import counter
#2
我加了啊,怎么没有用啊
#3
你把counter这个类写道package里
pacakge com;
然后再jsp中引用
<jsp:useBean id="counter" class="com.counter" scope="session" />
pacakge com;
然后再jsp中引用
<jsp:useBean id="counter" class="com.counter" scope="session" />
#4
String cont=counter.ReadFile("/lyfcount.txt");
确定你放置文件的位置是你定义文件下的。
如果你去确定你的相对路径的话,你可以先打印出来看看。如果不会的话,干脆给绝对路径,这样最省事儿。
String cont=counter.ReadFile("C:/lyfcount.txt");
确定你放置文件的位置是你定义文件下的。
如果你去确定你的相对路径的话,你可以先打印出来看看。如果不会的话,干脆给绝对路径,这样最省事儿。
String cont=counter.ReadFile("C:/lyfcount.txt");
#5
我照了luckyfanjian(luckyfan) ( ) 的方法改了,却抛出了这样的错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
这是怎么回事!
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
这是怎么回事!
#6
在WEB-INF新建文件夹COM然后在试一下
#7
怎么还是不行啊
还是抛出那个错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
还是抛出那个错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
#8
怎么没有说话
#1
和lyfcount.txt没有关系.
是楼主在jsp文件中没有import counter
是楼主在jsp文件中没有import counter
#2
我加了啊,怎么没有用啊
#3
你把counter这个类写道package里
pacakge com;
然后再jsp中引用
<jsp:useBean id="counter" class="com.counter" scope="session" />
pacakge com;
然后再jsp中引用
<jsp:useBean id="counter" class="com.counter" scope="session" />
#4
String cont=counter.ReadFile("/lyfcount.txt");
确定你放置文件的位置是你定义文件下的。
如果你去确定你的相对路径的话,你可以先打印出来看看。如果不会的话,干脆给绝对路径,这样最省事儿。
String cont=counter.ReadFile("C:/lyfcount.txt");
确定你放置文件的位置是你定义文件下的。
如果你去确定你的相对路径的话,你可以先打印出来看看。如果不会的话,干脆给绝对路径,这样最省事儿。
String cont=counter.ReadFile("C:/lyfcount.txt");
#5
我照了luckyfanjian(luckyfan) ( ) 的方法改了,却抛出了这样的错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
这是怎么回事!
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
这是怎么回事!
#6
在WEB-INF新建文件夹COM然后在试一下
#7
怎么还是不行啊
还是抛出那个错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
还是抛出那个错误:
500 Servlet Exception
/examples/test.jsp:13: expected </jsp:root> at </jsp:useBean>. Closing
tags must match opened tags.
#8
怎么没有说话