如何为 SQL Server 2008 配置 Tomcat 7 以在 java servlet 程序中使用?
我搜索了整个互联网和这个网站,但我无法得到答案。我正在开发一个servlet 和jsp 应用程序。在其中,我在 jsp 中创建了一个表单,该表单会将其输入的数据重定向到 servlet,并且该 servlet 会将该数据传输到数据库类,该数据库类会将其插入到数据库中。我的项目经理希望我使用 SQL Server 2008。我安装了 tomcat 7 和 SQL Server 2008。我将 CLASSPATH 设置为 sqljdbc.jar 的路径。我已经按照网上教程完成了所有设置。但我遇到了一个例外,如下所述。
我运行的是 Windows 7 家庭高级版 64 位。请任何人告诉我为 sql server 2008 数据库连接配置 tomcat 7 的干净且分步的过程。拜托,这真的很紧急,因为我必须在下个月 5 号之前提交我的项目。提前谢谢你……
我遇到了例外……
java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver 堆栈跟踪: 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(未知 来源)于 java.lang.Class.forName0(本机 方法)在 java.lang.Class.forName(未知 来源)于 DatabaseClass.openConnection(DatabaseClass.java:22) 在 数据库类。(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(未知 来源)于 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知 来源)于 java.lang.Thread.run(来源不明)
I searched whole internet and on this site but I was unable to get the answer. I am developing an servlet and jsp application. In which I created a form in jsp which will redirect its entered data to a servlet and that servlet will transfer that data to a database class that will insert it in a database. My project managers want me to use SQL Server 2008. I installed tomcat 7 and SQL Server 2008. I set the CLASSPATH to the path of sqljdbc.jar. I had done all the settings as found on a tutorial on net. But I am getting an exception as mentioned below.
I am running Windows 7 Home Premium 64-bit. Please anyone tell me clean and step by step procedure to configure tomcat 7 for sql server 2008 database connectivity. Please its really urgent because I have to submit my project before 5 of next month. Thank you in advance.........
Exception I'm getting......
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver Stack Trace: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at
java.lang.ClassLoader.loadClassInternal(Unknown
Source) at
java.lang.Class.forName0(Native
Method) at
java.lang.Class.forName(Unknown
Source) at
DatabaseClass.openConnection(DatabaseClass.java:22)
at
DatabaseClass.(DatabaseClass.java:49)
at
BankMasterAddServlet.doPost(BankMasterAddServlet.java:10)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:286)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:272)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1730)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source) at
java.lang.Thread.run(Unknown Source)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不相信 Tomcat 使用您定义的任何 CLASSPATH 环境属性。
您可以将 jar 文件部署在 web 应用程序的
WEB-INF/lib
目录中,也可以将其添加到服务器的lib
目录中,以使所有应用程序都可以使用这些类。I do not believe that Tomcat uses any
CLASSPATH
environment properties that you have defined.You can either deploy the jar file in the
WEB-INF/lib
directory of your webapp or add it to the server'slib
directory to have the classes available to all applications.我在MSDN网站上找到了解决方案。我使用旧的表示法 com.microsoft.jdbc.sqlserver.SQLServerDriver 加载 SQL Server 驱动程序,但在 SQL Server 2008 等较新版本中,他们将驱动程序名称更改为 com.microsoft。 sqlserver.jdbc.SQLServerDriver 现在它可以工作了。
I found the solution on the MSDN site. I was loading the SQL Server driver using the old notation as
com.microsoft.jdbc.sqlserver.SQLServerDriver
but in newer versions like in SQL Server 2008 they changed the driver name tocom.microsoft.sqlserver.jdbc.SQLServerDriver
and now it's working.