回 帖 发 新 帖 刷新版面

主题:[原创]向各位高手请教一个关于java Bean的问题

大家好:
  我有一个计数器程序,其中使用了java Bean,一共有四个文件和一个放图片(0到9)的文件夹,jsjsp,addone.java,display.java,counter.txt,其中addone.java和display.java分别是用来对访客数值加1和显示访客数值,并且显示的时候把数值转化成图片的形式,所有的代码都通过了,但是显示的时候遇到了这样的一个问题,结果应该是(假设是第201个访客):你是第0000000201个访问者,欢迎您!但是在显示的时候却是:你是第nullnullnullnullnullnullnullnullnullnull个访问者,欢迎您!不知为什么,我把代码附在下边,请大家帮我看看,[b]主要问题就是那个counter.txt和images文件夹应该放在哪个地方[/b],我的jsp虚拟目录是在ROOT下,java Bean在ROOT/WEB-INF/classes/popeyelin/下.
[color=FF0000][b]jsq.jsp[/b][/color]
<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<jsp:useBean id="a" scope="session" class="popeyelin.addone"/>
<jsp:useBean id="b" scope="page" class="popeyelin.display"/>
已经有<%
b.counter();
for (int i=9;i>=0;--i) out.print(b.img[i]);
%>人访问,欢迎您!
</body>
</html>
[b][color=0000FF]addone.java[/color][/b]
package popeyelin;
import java.io.*;
import java.lang.*;
public class addone
{
private String s1=new String();
public addone()
    {
    try
    {
    BufferedReader buff=new BufferedReader(new FileReader("counter.txt"));
    String s=buff.readLine();
    int i=Integer.parseInt(s);
    i++;
    System.out.println(i);
    buff.close();
    s=Integer.toString(i);
    PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter("counter.txt")));
    pw.println(s);
    pw.close();
    }
    catch(IOException e)
    {
    System.out.println(e.toString());
    }
    }
}
[b][color=FF0000]display.java[/color][/b]
package popeyelin;
import java.io.*;
import java.lang.*;
public class display
{
public String[] img=new String[10];
public void counter()
{
try
{
BufferedReader buff=new BufferedReader(new FileReader("counter.txt"));
String s=buff.readLine();
System.out.println("我的程序");
int i=Integer.parseInt(s);
int st=10;
int j=0;
while(j<=9)
{
img[j]=Integer.toString(i%st);
img[j]=img[j]+".GIF";
img[j]="images/"+img[j];
img[j]="<img src="+img[j]+">";
img[j]=img[j]+"</img>";
i/=10;
j++;
}
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
}

回复列表 (共3个回复)

沙发


[b][color=FF0000][size=6]请大家帮帮忙,我在线等候,不胜感谢!![/size][/color][/b][em18][em18][em18][em18][em19]

板凳

好失望呀,没人回答我!!!!
[em19][em19][em18][em18]

3 楼

<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<jsp:useBean id="a" scope="session" class="popeyelin.addone"/>
<jsp:useBean id="b" scope="page" class="popeyelin.display"/>
已经有<%
b.counter();
for (int i=9;i>=0;--i) out.print(b.img[i]);
%>人访问,欢迎您!
</body>
</html>

我提几个问题哦
第一 b.counter();这个你用来干什么,它什么东西也没返回看上去写不写都没用啊.
第二 你做了一个循环 循环10次输出这个叫img的数组,String[] img=new String[10];
     你这个数组就等于String[] img={"","","","","","","","","",""}; 而你写的
     那个JSP就是把这个空数组输出一遍,所以才会看到那么多null的结果

我来回复

您尚未登录,请登录后再回复。点此登录或注册