求一个简单java的sql数据库连接抛异常的问题

wdpc2009 2010-01-09 08:33:37
在Servelt中编写如下代码
package servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.StudentInfo;

public class ServletTest extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;
List<StudentInfo> list=null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test","sa","wdpc");
pst=conn.prepareStatement("select * from studentInfo");
rs=pst.executeQuery();
System.out.print("连接成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


会报错:(怎么解决,本人认为doPost方法里的第24行没错)
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at servlet.ServletTest.doPost(ServletTest.java:36)
at servlet.ServletTest.doGet(ServletTest.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
...全文
68 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
crazylaa 2010-01-10
  • 打赏
  • 举报
回复
java.lang.UnsupportedClassVersionError: Bad version number in .class file
servlet版本错误???
不清楚到底是哪个东东有冲突。
wdpc2009 2010-01-10
  • 打赏
  • 举报
回复
楼主回复:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");应改成
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")(正确);
本人导包(tomcat里也导包了)成功后运行出现500异常:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception


root cause

java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:621)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
test.ServletTest.doPost(ServletTest.java:32)
test.ServletTest.doGet(ServletTest.java:22)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.13
silencexk212112 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fengfengye 的回复:]
引用 4 楼 newcman 的回复:
没导包



正解
[/Quote]


没导包....
silencexk212112 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fengfengye 的回复:]
引用 4 楼 newcman 的回复:
没导包



正解
[/Quote]


没导包....
crazylaa 2010-01-10
  • 打赏
  • 举报
回复
1.驱动包没导。
2.没打补丁
culzf0410 2010-01-10
  • 打赏
  • 举报
回复
jar包没import
IloveChinatoo 2010-01-10
  • 打赏
  • 举报
回复
既然在其他电脑上成功过,证明代码是没有问题的。应该还是数据库驱动包没有导入,仔细对比一下成功过的工程里的lib包。或者干脆把本机工程lib下的所有包移除,重新导入成功工程的lib包。
wdpc2009 2010-01-09
  • 打赏
  • 举报
回复
楼主继续发言 改程序 在其他电脑上能 成功 本人的不行 请高人指点指点迷津 该么搞?
wdpc2009 2010-01-09
  • 打赏
  • 举报
回复
楼主补充发言:
看到空间中间的一张小图 就是导包后的 (用MyEclipse8.0) 结果还那样 这么解决?
fengfengye 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 newcman 的回复:]
没导包
[/Quote]


正解
newcman 2010-01-09
  • 打赏
  • 举报
回复
没导包
duannianping 2010-01-09
  • 打赏
  • 举报
回复
把驱动包引入一下
wdpc2009 2010-01-09
  • 打赏
  • 举报
回复
??
Arceibald 2010-01-09
  • 打赏
  • 举报
回复
帮顶.!
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2010-01-09 08:33
社区公告
暂无公告