如何为SQL Server 2008配置Tomcat 7以用于java servlet程序?

时间:2011-06-27 17:42:51

标签: java sql-server tomcat configure

我搜索了整个互联网和这个网站,但我无法得到答案。我正在开发一个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(未知来源)

2 个答案:

答案 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,现在它正在运行。