我搜索了整个互联网和这个网站,但我无法得到答案。我正在开发一个servlet和jsp应用程序。我在其中使用jsp创建了一个表单,该表单将其输入的数据重定向到servlet,并且该servlet将该数据传输到将其插入数据库的数据库类中。我的项目经理要我使用SQL Server 2008.我安装了tomcat 7和SQL Server 2008.我将CLASSPATH设置为sqljdbc.jar的路径。我完成了网络教程中的所有设置。但是我得到了如下所述的例外情况。
我正在运行Windows 7 Home Premium 64位。请任何人告诉我干净和一步一步的程序,为sql server 2008数据库连接配置tomcat 7。请非常紧急,因为我必须在下个月5点之前提交我的项目。提前谢谢.........
例外我正在......
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver Stack Trace: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 在 java.lang.ClassLoader.loadClassInternal(未知 来源)at java.lang.Class.forName0(母语 方法)at java.lang.Class.forName(未知 来源)at DatabaseClass.openConnection(DatabaseClass.java:22) 在 DatabaseClass(DatabaseClass.java:49) 在 BankMasterAddServlet.doPost(BankMasterAddServlet.java:10) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:286) 在 org.apache.coyote.http11.Http11AprProtocol $ Http11ConnectionHandler.process(Http11AprProtocol.java:272) 在 org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run(AprEndpoint.java:1730) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.runTask(未知 来源)at java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(未知 来源)at java.lang.Thread.run(未知来源)
答案 0 :(得分:8)
我将CLASSPATH设置为sqljdbc.jar
的路径
我不相信Tomcat使用您定义的任何CLASSPATH
环境属性。
您可以将jar文件部署到webapp的WEB-INF/lib
目录中,也可以将其添加到服务器的lib
目录中,以使所有应用程序都可以使用这些类。
答案 1 :(得分:1)
我在MSDN网站上找到了解决方案。我使用旧表示法com.microsoft.jdbc.sqlserver.SQLServerDriver
加载SQL Server驱动程序,但在SQL Server 2008等较新版本中,他们将驱动程序名称更改为com.microsoft.sqlserver.jdbc.SQLServerDriver
,现在它正在运行。