jdbc.jsp
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
 String Dri = "com.mysql.jdbc.Driver";
 String URL = "jdbc:mysql://localhost:3306/mydata?user=root&password=123456";
%>testjdbc.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ include file="jdbc.jsp"%>
<% 
String sql="select * from user";
try{
Class.forName(Dri);
Connection conn = DriverManager.getConnection(URL);
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql); 
//ResultSetMetaData rsmd = rs.getMetaData();
//int cols = rsmd.getColumnCount();
%>
<table align="center">
<tr>
<td>id</td>
<td>username</td>
<td>password</td>
<td>email</td>
</tr>
<%
while(rs.next()){
%>
<tr>
<td><%= rs.getInt("id")%></td>
<td><%= rs.getString("username")%></td>
<td><%= rs.getString("password")%></td>
<td><%= rs.getString("email")%></td>
</tr>
<%
}
rs.close();
stm.close();
conn.close();
}catch(Exception e){
out.print(e);
}
%>
</table>怎么发生如下错误:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.ClassNotFoundException: org.apache.jsp.testjdbc_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.20

解决方案 »

  1.   

    请楼主检查你的jdbc.jsp和testjdbc.jsp的文件头
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %> 
    testjdbc.jsp的文件头中的contentType中分号后多了个空格使testjdbc.jsp中出现的两个文件头不一致而使testjdbc.jsp无法编译产生class文件