大家好!我在写一JSP页面功能是将所有用户信息显示,可是总是报错
错误信息如下:
HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unable to compile class for JSP An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token " <", invalid AssignmentOperator An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token "=", != expected An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token " <", ( expected An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token "(", invalid Expression
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs. 问题非常奇诡,我用其它页面调用我的User类里的getUser()方法时,一切正常,我的页面代码如下(删了很多代码了) UserList.jsp 页面代码
<%@ page language="java" pageEncoding="GB18030"%>
<%@ page import="com.pf.shop.user.*"%>
<%@ page import="java.util.*" %>
<%
List <User> users = new ArrayList <User> ();
users = User.getUsers();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title> 用户列表 </title>
</head>
<body>
<table>
<tr>
<td> ID </td>
<td> Username </td>
<td> Phone </td>
<td> Addr </td>
<td> Rdate </td>
</tr>
<%
for(Iterator it = users.iterator();it.hasNext();) {
User u = (User)it.next();
%>
<tr>
<td> <%=u.getId() %> </td>
<td> <%=u.getUsername() %> </td>
<td> <%=u.getPhone() %> </td>
<td> <%=u.getAddr() %> </td>
<td> <%=u.getRdate() %> </td>
</tr>
<%} %>
</table>
</body>
</html> User里面的getUser()方法如下:
public static List <User> getUsers() {
List <User> users = new ArrayList <User> ();
Connection conn = DB.getConn();
String sql = "select * from user";
Statement stmt = DB.getStatement(conn);
ResultSet rs = DB.getResultSet(stmt, sql); try {
while(rs.next()) {
User u = new User();
u.setId(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPassword(rs.getString("password"));
u.setPhone(rs.getString("phone"));
u.setAddr(rs.getString("addr"));
u.setRdate(rs.getTimestamp("rdate"));
users.add(u);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DB.close(rs);
DB.close(stmt);
DB.close(conn);
}
return users;
}
错误信息如下:
HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Unable to compile class for JSP An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token " <", invalid AssignmentOperator An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token "=", != expected An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token " <", ( expected An error occurred at line: 4 in the jsp file: /Admin/UserList.jsp
Generated servlet error:
Syntax error on token "(", invalid Expression
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs. 问题非常奇诡,我用其它页面调用我的User类里的getUser()方法时,一切正常,我的页面代码如下(删了很多代码了) UserList.jsp 页面代码
<%@ page language="java" pageEncoding="GB18030"%>
<%@ page import="com.pf.shop.user.*"%>
<%@ page import="java.util.*" %>
<%
List <User> users = new ArrayList <User> ();
users = User.getUsers();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title> 用户列表 </title>
</head>
<body>
<table>
<tr>
<td> ID </td>
<td> Username </td>
<td> Phone </td>
<td> Addr </td>
<td> Rdate </td>
</tr>
<%
for(Iterator it = users.iterator();it.hasNext();) {
User u = (User)it.next();
%>
<tr>
<td> <%=u.getId() %> </td>
<td> <%=u.getUsername() %> </td>
<td> <%=u.getPhone() %> </td>
<td> <%=u.getAddr() %> </td>
<td> <%=u.getRdate() %> </td>
</tr>
<%} %>
</table>
</body>
</html> User里面的getUser()方法如下:
public static List <User> getUsers() {
List <User> users = new ArrayList <User> ();
Connection conn = DB.getConn();
String sql = "select * from user";
Statement stmt = DB.getStatement(conn);
ResultSet rs = DB.getResultSet(stmt, sql); try {
while(rs.next()) {
User u = new User();
u.setId(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPassword(rs.getString("password"));
u.setPhone(rs.getString("phone"));
u.setAddr(rs.getString("addr"));
u.setRdate(rs.getTimestamp("rdate"));
users.add(u);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DB.close(rs);
DB.close(stmt);
DB.close(conn);
}
return users;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货