小弟遇到JDBC方面的问题解决不了,求助
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriverconn error...
fffffdddddeeeeeeeTue Apr 03 23:32:44 CST 20072007-4-3 23:32:45 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.save_jsp._jspService(save_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
我不明白为什么报了:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriverconn error...这样的错啊。我用的是myeclipse,JDBC那3个jar包我已经导入项目了,连接的代码我测试过了,没有问题。
ConnectBean.java
package com.liuyanban;
import java.sql.DriverManager;
import java.util.Properties;
import java.sql.Connection;
public class ConnectBean{
private String driver= "com.microsoft.jdbc.sqlserver.SQLServerDriver ";//SQL的驱动
private String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jade ";//连接数据源
private String user= "sa ";//用户名
private String password= " ";//密码
public Connection getConnection(){
Connection conn=null;
try {
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,user,password);//得到一个数据库的连接。
}
catch (Exception ex) {
System.out.println(ex+ "conn error... ");
}
return conn;
}
public static void main(String[] args) {
Connection conn = new ConnectBean().getConnection();
if(conn!=null){
System.out.println( "conn ok ");
}
}
}
save.jsp
<%@ page language= "java " import= "java.util.*,java.sql.* " pageEncoding= "GBK "%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+ ":// "+request.getServerName()+ ": "+request.getServerPort()+path+ "/ ";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN ">
<html>
<head>
<base href= " <%=basePath%> ">
<title> My JSP 'save.jsp ' starting page </title>
<meta http-equiv= "pragma " content= "no-cache ">
<meta http-equiv= "cache-control " content= "no-cache ">
<meta http-equiv= "expires " content= "0 ">
<meta http-equiv= "keywords " content= "keyword1,keyword2,keyword3 ">
<meta http-equiv= "description " content= "This is my page ">
<!--
<link rel= "stylesheet " type= "text/css " href= "styles.css ">
-->
</head>
<jsp:useBean id= "connBean " class= "com.liuyanban.ConnectBean "/>
<body>
<%
Connection conn=connBean.getConnection();
String name=request.getParameter( "Name ");
System.out.print(name);
String title=request.getParameter( "Title ");
System.out.print(title);
String messages=request.getParameter( "messages ");
System.out.print(messages);
String time=new java.util.Date().toString();
System.out.print(time);
String sql= "insert into liuyanban values( ' "+name+ " ', ' "+title+ " ', ' "+time+ " ', ' "+messages+ " ') ";
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeQuery(sql);
/*ps1.setString(1,name);
ps1.setString(2,title);
ps1.setString(3,time);
ps1.setString(4,messages);
ps1.executeUpdate();*/
out.print( "您的信息已提交 ");
%>
<br> <a href= "chap7-9.jsp "> 返回 </a>
<a href= "show.jsp "> 查看留言板 </a>
</body>
</html>
请各位大虾帮帮忙啊!!!!!
[解决办法]
需要导入jdk\jre\lib\ext下面
还有tomcat\commons\lib
[解决办法]
没有导入sql server的jdbc包吧
[解决办法]
报conn
是因为System.out.println(ex+ "conn error... ");
是没有获得连接
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,user,password);