急:jsp+sql server数据库连接的问题(高分求助)
在使用sql server 2000作为数据库时,JSP无法连接数据库。报错如下:
(本人是初学者)
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: 5 in the jsp file: /test/sql.jsp
Generated servlet error:
Unreachable catch block for ClassNotFoundException. This exception is never thrown from the try statement body
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
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 JSP
An error occurred at line: 5 in the jsp file: /test/sql.jsp
Generated servlet error:
Unreachable catch block for ClassNotFoundException. This exception is never thrown from the try statement body
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:409)
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:303)
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.15 logs.
这是怎么回事
问题点数:100、回复次数:6Top
1 楼huanbin(瓛)回复于 2006-03-14 23:13:39 得分 20
装 tomcat的时候,jvm的位置不对,造成无法编译java文件
解决办法最好是重装tomcat,将jvm的位置指向你的jdk目录,就ok了Top
2 楼fengzhuhai(风竹海)回复于 2006-03-14 23:37:33 得分 0
jvm的位置是对的,我试过用JAVA编写了一个连接数据库的小程序,可以连接数据库。可到了JSP的时候就出现上面的报错。而且我刚刚重新装过了TOMCAT,还是出现同样的问题。
我怀疑是数据源的驱动出了问题。有哪为大哥给出详细的SQL SERVER 2000和它的驱动程序的详细设置过程,万分感谢Top
3 楼doway(john)回复于 2006-03-14 23:45:46 得分 60
>Unreachable catch block for ClassNotFoundException. This exception is never thrown from the try statement body
这是说楼主的代码中有:
catch (ClassNotFoundException cnf) {
...
}
类似的代码,但包括在 try 块中的语句又都不可能抛出 ClassNotFoundException 这个异常。
这个 catch 应该这样用:
try {
Class.forName(...
}
catch (ClassNotFoundException cnf) {
...
}
也就是说对应的 try 块中应该有调用 Class 的 forName 方法的语句。
另外,如果一个 try 后根多个 catch 块,更具体的异常应该放在前头,如:
catch (ClassNotFoundException cnf) {
...
}
catch (Exception ex) {
...
}
这是正确的次序。如果两个 catch 次序颠倒就不正确了。
Top
4 楼konhon(优华)回复于 2006-03-15 08:17:27 得分 0
doway 講得很清楚啦.Top
5 楼pigengler(en)回复于 2006-03-15 09:12:48 得分 20
报错信息很清楚。
用数据库连接,一定要用
try{
}catch(Exception e){
}finally{
}Top
6 楼fbtdjs(bront)回复于 2006-03-15 09:46:51 得分 0
没有处理异常Top




