繁体   English   中英

配置Tomcat,以便我可以将JSP页面连接到MySQL

[英]Configure Tomcat so that I can connect a JSP page to MySQL

我需要使用DriverManager.getConnection()方法从JSP页面连接到MySQL数据库。 我将MySQL Connector-J JAR文件放置在Tomcat库中。 我已经运行了与普通Java应用程序相同的代码,并且可以正常工作,这使我认为Tomcat存在问题。 我收到了很多异常,第一个是ClassNotFoundExceptionJasperException是许多JasperException

您能否告诉我从JSP页配置Servlet与MySQL交互所需遵循的步骤?


更新 :我尝试将Tomcat安装根目录的lib文件夹以及/WEB-INF/lib ,但是问题仍然存在。 jar文件名为mysql-connector-java-5.1.13-bin.jar 这是正确的吗?

这是我得到的例外

java.lang.ClassNotFoundException: com.mysql.jdbc.driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
    at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:75)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    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:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)

假设ClassNotFoundException引用了JDBC驱动程序com.mysql.jdbc.Driver ,则意味着未将Connector-J JAR文件正确放置在类路径中。

实际上,将其放在Tomcat的/lib文件夹中应该可以解决此问题。 但是,由于您似乎已经完成了此操作,因此这仅意味着您根本没有在其中放置正确的JAR文件,或者您正在谈论的/lib文件夹实际上是错误的文件夹。 对于Tomcat 6.0或更高版本,它应该是Tomcat安装文件夹中的/lib文件夹(该文件夹应该已经存在,您不应该自己创建一个文件夹!)。 对于Tomcat 5.5或更早的版本,它应该是Tomcat安装文件夹中的/shared/lib文件夹(同样,它应该已经存在)。

一种替代方法是将JAR文件放在/WEB-INF/lib程序的/WEB-INF/lib文件夹中。 唯一的缺点是JAR文件将最终仅出现在所用Webapp的类路径中。 对于同一servlet容器中的所有其他Web应用程序,您必须复制JAR文件。 另外,您将无法利用Tomcat提供的连接池功能来提高连接性能。


更新 :根据您的堆栈跟踪:

 java.lang.ClassNotFoundException: com.mysql.jdbc.driver 

类名错误。 Java区分大小写。 它应该是com.mysql.jdbc.Driver

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM