为什么userLogin.htm文件将表单传给try_2.jsp文件后,第一个客户的姓名会被第二个客户姓名覆盖。
userLogin.htm文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>首页</title>
</head>
<body>
<center>
<form action="try_2.jsp" method="get" name="userForm">
  <h1>欢迎光临本站!</h1>
  <p>请输入用户名:<input name="username" type="text" id="username" size="20" maxlength="20"></p>
  <p><input name="Submit" type="submit" value="确定"></p>
</form>
</center>
</body>
</html>try_2.jsp文件:
<%@ page contentType="text/html; charset=gbk" import="java.util.*" %>
<%!
   class User
   {
     private String userName;
     private GregorianCalendar loginTime;
     User(GregorianCalendar loginTime ,String UserName)
     {
     setUserTime(loginTime);
     setUserName(UserName);
     }
     void setUserTime(GregorianCalendar loginTime )
     {
        this.loginTime=loginTime;
     }
     void setUserName(String userName)
     {
       this.userName=userName.trim();
     }
     
     String getUserName()
     {
      return userName;
     }
     String getLoginTime()
     {
     int year=loginTime.get(loginTime.YEAR);
     int month=loginTime.get(Calendar.MONTH);
     int day=loginTime.get(Calendar.DATE);
     int hour=loginTime.get(Calendar.HOUR);
     int minute=loginTime.get(Calendar.MINUTE);
     int second=loginTime.get(Calendar.SECOND);
     String s=year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒"+'a';
     return s;
     }
   }
    class userList extends Vector
   {
    userList()
    {
     super(1,1);
    }
    void addUser(User ue)
    {
    addElement(ue);
    }
   }   userList userlist=new userList();
%>
<html>
<body>
<center>
<%
String userName=request.getParameter("username");
GregorianCalendar gc=new GregorianCalendar();
User user=new User(gc,userName);
userlist.addUser(user);
Enumeration e=userlist.elements();
out.print("<table border=1>");
out.print("<tr>");
out.print("<th>"+"名字");
out.print("<th>"+"时间");
out.print("</tr>");
while(e.hasMoreElements())
{
User user_1 = (User)e.nextElement();
out.print("<tr>");
out.print("<td>"+user_1.getUserName());
out.print("<td>"+user_1.getLoginTime());
out.print("</tr>");}
out.print("</table>");
%>
</body>
</html>

解决方案 »

  1.   

    userList userlist=new userList();这个对象并没有放到application对象或者session对象中去,每次到这个jsp都是新建一个,原来的当然就没有了
      

  2.   

    不是啊,我是把客户的信息User引用变量放在userList对象中的,userList是Vector类的子类,可以当容器使用。
      

  3.   

    一楼正解,就是说你的userList是个局部变量,每次用完就扔了,下次要用就新建一个可以用session保存下来
      

  4.   

    我的userList对象是放在<%! %>中的,它的作用范围应该是在所有网页都有效的
      

  5.   

    嗯,运行了一下你的程序,在我机器上能够正常运行没注意你用的是 <%! !>,这个里边的方法是servlet的方法,变量是servlet里边的属性,但是你的类定义在这里,这个类就变成包含在Servlet里边的内部类了,这种方法不好,还是弄成Java Bean比较好
      

  6.   

    你还是用session保存下来吧 可以try