关于Jsp和tomcat的问题,高手们帮忙看看吧!

zouzhejun 2004-11-15 11:33:45
我运行一个连接数据库的JSP程序:
<%@ page language="java" import="java.sql.*"%>
<%
sSQL = "select * from XXX";
Connection conn = null;
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/cs?useUnicode=true&characterEncoding=gb2312","root","");
Statement stat=conn.createStatement();
ResultSet rest=null;
rest=stat.executeQuery(sSQL);
%>
出现如下报错:

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
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:434)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

Compile failed; see the compiler error output for details.
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:938)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:402)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.
//我都是按照网上的环境变量设置的,如果错了,正确的设置方法是什么?还有是不是JDBC连接数据库也有问题?高手们帮忙看看吧。我用的是JDK1.5.0+TOMCAT5.0.29+MYSQL4.0.21
...全文
248 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
易点互联 2004-11-16
  • 打赏
  • 举报
回复
Unable to compile class for JSP
应该是你的配置问题
lmyabc 2004-11-16
  • 打赏
  • 举报
回复
给楼主处理这种问题的方法: 排除法,你去掉所有的jsp页面中的代码,看能否编译?

然后逐渐地增加,看到哪里发生错误,找到错误地相关信息,看能否解决?

如果还不能解决,贴出那段代码...

mxlmwl 2004-11-16
  • 打赏
  • 举报
回复
将mysql的驱动拷贝到tomcat/commons/lib下,或者是你自己应用目录,比如ROOT的WEB-INF/lib下,lib没有就自己新建一个,然后重启服务器,ok。
zouzhejun 2004-11-16
  • 打赏
  • 举报
回复
我用的不是SQLSERVER,我用的是MYSQL SERVER。
YLENTER 2004-11-15
  • 打赏
  • 举报
回复
你应该是配置错了,不过不清楚你的是否从配置了没有?
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
各位帮帮忙啊!
YLENTER 2004-11-15
  • 打赏
  • 举报
回复
import java.sql.*;
import java.util.*;


/**
*\u00CA\u00FD\u00BE\u00DD\u00C1\u00AC\u00BD\u00D3\u00C0à
*/

public class DBConn {
private String userid = "sa";
private String conn_str = "jdbc:microsoft:sqlserver://127.0.0.1:1433;SelectMethod=Cursor;DatabaseName=EnterCenter";
private String pwd = "";
private String classFor = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
public Connection dConn = null;

java.util.Vector batchSQL = new java.util.Vector();
public DBConn() {
try {

Class.forName(classFor);
dConn = DriverManager.getConnection(conn_str, userid, pwd);
//System.out.println("Database connection is connected ! ");
}
catch (Exception ex) {
System.out.println("Database connection is not connected ! ");
System.out.println("DBConn.DBConn" + ex.toString()) ;

}
}
你对比看看,如果有问题的话,是不是你的sqlserver的驱动没有加到tomcat
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
环境变量CLASSPATH应该设哪几个?
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
环境变量应该设哪几个?
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
"不要污染环境变量CLASSPATH"是什么意思呢?
皮鲁 2004-11-15
  • 打赏
  • 举报
回复
环境变量的问题~ 不要污染环境变量CLASSPATH
htl 2004-11-15
  • 打赏
  • 举报
回复
你的情况好像是JSP不能编译,应该将jdk下的LIB下的dt.jar,tools.jar拷到TOMCAT下COMMON下的LIB中,重启TOMCAT就可以了
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
up
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
我来描述一下我的问题吧,比如说我的TOMCAT 的JSP-EXANPLE在没有改变目录的情况下都是可以执行的,然后我放到我ROOT这个文件夹里运行(或者其他任何文件夹),报的错误都是相同的,这究竟是什么问题呢?
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
还是这个: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
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:434)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

Compile failed; see the compiler error output for details.
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:938)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:402)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.
funcreal 2004-11-15
  • 打赏
  • 举报
回复
错误不可能依旧,我这里都没有那个错误了。
如果是jdbc就不应该抱刚才的错误了
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
错误依旧,应该不是程序代码的问题了吧,会不会是我JDBC和环境变量还是有问题呢?
funcreal 2004-11-15
  • 打赏
  • 举报
回复
你的user=root&password=&useUnicode=true&characterEncoding=8859_1";后面没有分号。!!!!!
而且不要让< %中间有个空格
funcreal 2004-11-15
  • 打赏
  • 举报
回复
是啥环境,编译一下,看看有什么错
如果是jb,project->make "aaa.jsp";看看报什么错误
我给你改好了,错误太多了阿
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=8859_1";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
zouzhejun 2004-11-15
  • 打赏
  • 举报
回复
我用这段:< %@ page contentType="text/html;charset=gb2312"% >
< %@ page import="java.sql.*"% >
< html >
< body >
< %Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=8859_1"
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {% >
您的第一个字段内容为:< %=rs.getString(1)% >
您的第二个字段内容为:< %=rs.getString(2)% >
< %}% >
< %out.print("数据库操作成功,恭喜你");% >
< %rs.close();
stmt.close();
conn.close();
% >
< /body >
< /html >
得到的错误还是一样的:
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
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:434)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

Compile failed; see the compiler error output for details.
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:938)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:402)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.
加载更多回复(3)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧