谁能帮我看看错在什么地方,程序如下: 
<%@ page contentType="text/html; charset=gb2312" import="java.util.*" %> 
<%! 
class User 

private String name; 
private GregorianCalendar loginTime; 
User(String name,GregorianCalendar loginTime) 

setName(name); 
setLoginTime(loginTime); 

void setName(String name) 

this.name=name; 

String getName() 

return name; 

void setLoginTime(GregorianCalendar loginTime) 

this.loginTime=loginTime; 

String getLoginTime() 

int year=loginTime.get(Calendar.YEAR); 
int month=loginTime.get(Calendar.MONTH)+1; 
int day=loginTime.get(Calendar.DATE); 
String am_pm=(loginTime.get(Calendar.AM_PM)==0?"上午":"下午"); 
int hour=loginTime.get(Calendar.HOUR); 
int minute=loginTime.get(Calendar.MINUTE); 
int second=loginTime.get(Calendar.SECOND); 
String s=year+"年"+month+"月"+day+"日"+am_pm+hour+"时"+minute+"分"+second+"秒"; 
return s; 

} class UserList extends Vector{ 
UserList(){ 
super(1,1); 

void addUser(String name,GregorianCalendar loginTime){ 
User user=new User(name,loginTime); 
add(user); 

User[] getUserList(){ 
int num=size(); 
User[] userAry=new User[num]; 
for(int i=0;i<num;i++) 
userAry[i]=(User)elementAt(i); 
return userAry; 


UserList userList=new UserList(); int count=0; 
synchronized int incCount(){ 
return ++count; 

%> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>登录</title> 
</head> 
<body> 
<center> 
<% 
String userName=request.getParameter("username"); 
if(userName.equals(null)||userName.trim().length()==0){ 
%> 
<p>用户名不能为空,请重新输入!</p> 
<p><a href="userLogin.htm" target="_self">如果浏览器没有跳转,请点击这里</a></p> 
<meta http-equiv="Refresh" content="5;URL=userLogin.htm"> 
<% 

else{ 
userName=new String(userName.getBytes("ISO-8859-1"),"gb2312"); 
GregorianCalendar loginTime=new GregorianCalendar(); 
userList.addUser(userName,loginTime); 
User[] userAry=userList.getUserList(); 
%> 
<h1><%= "Hello! "+userName %></h1> 
<p><%= "您是第 "+incCount()+" 个光临本站的人" %></p> 
<p>访问过本站的用户有:</p> 
<table border="1" cellspacing="1" cellpadding="5" bordercolor="#9966CC" bgcolor="#E1E1FF"> 
<tr> 
<td align="center" valign="middle">用户名</td> 
<td align="center" valign="middle">访问时间</td> 
</tr> 
<% 
for(int i=userAry.length-1;i>=0;i--){ 
%> 
<tr> 
<td align="center" valign="middle"><%= userAry[i].getName() %></td> 
<td align="center" valign="middle"><%= userAry[i].getLoginTime() %></td> 
</tr> 
<% 

%> 
</table> 
<% 

%> 
</center> 
</body> 
</html> 程序报错: 
The server encountered an internal error () that prevented it from fulfilling this request。