环境变量的设置:(应该没问题,测试的Java,JSP,Severlet,JavaBean均通过,Java和Connector都是5.0以上的版本,Tomcat也是最新的)
.;
%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
%JAVA_HOME%\lib\mysql-connector-java-5.0.5-bin-g.jar;
%JAVA_HOME%\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar;
%TOMCAT_HOME%\common\lib\servlet.jar
不连接数据库,只将
html><body><center> 
Now time is: <%=new java.util.Date()%> 
</center></body></html> 
存放到Tomcat下的相应位置,运行正常。当需要连接Mysql时,Tomcat报错:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
Only a type can be imported. com.mysql.jdbc.Driver resolves to a package
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
Only a type can be imported. com.mysql.jdbc.Driver resolves to a package
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:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
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.20 logs.这是怎么回事啊。另付程序代码:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
  //驱动程序名
  String driverName="com.mysql.jdbc.Driver";
  //数据库用户名
  String userName="root";
  //密码
  String userPasswd="";
  //数据库名
  String dbName="test";
  //表名
  String tableName="t_gbk";
  //联结字符串
  String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  Connection connection=DriverManager.getConnection(url);
  Statement statement = connection.createStatement();
  String sql="SELECT * FROM "+tableName;
  ResultSet rs = statement.executeQuery(sql); 
  //获得数据结果集合
   ResultSetMetaData rmeta = rs.getMetaData();
  //确定数据集的列数,亦字段数
   int numColumns=rmeta.getColumnCount();
  // 输出每一个数据值
 out.print("id"); 
 out.print("|");
 out.print("num");
 out.print("<br>");
while(rs.next()) {
out.print(rs.getString(1)+" ");   
out.print("|");
out.print(rs.getString(2));
out.print("<br>");  
}   
out.print("<br>");
out.print("数据库操作成功,恭喜你"); 
rs.close();   
statement.close();   
connection.close();   
%>

解决方案 »

  1.   

    mysql-connector-java-5.0.5-bin-g.jar这个文件应该拷贝到tomcat的lib目录下
      

  2.   

    应该是你的jdk没有设置好,错误提示说不能编译JSP文件,你再检查一下jdk的设置吧。
      

  3.   

    <%@ page import="com.mysql.jdbc.Driver.*" %>
    不过我没有把mysql-connector-java-5.0.5-bin-g.jar放到java下,一般都是放到tomcat下。
      

  4.   

    mysql-connector-java-5.0.5-bin-g.jar这个文件应该拷贝到tomcat的lib目录下
    已经考了,在common 和 shared目录下的Lib里都有这个jar文件,又出错了:
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org/aspectj/lang/Signature
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause javax.servlet.ServletException: org/aspectj/lang/Signature
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:92)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Unknown Source)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:61)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    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.20 logs.