Java 配置Tomcat,以便将JSP页面连接到MySQL
我需要使用Java 配置Tomcat,以便将JSP页面连接到MySQL,java,mysql,jsp,jdbc,Java,Mysql,Jsp,Jdbc,我需要使用DriverManager.getConnection()方法从JSP页面连接到MySQL数据库。我已经将MySQL连接器-J JAR文件放在Tomcat库中。我已经运行了与普通Java应用程序相同的代码,并且可以正常工作,这让我觉得Tomcat存在问题。我遇到了很多异常,第一个是ClassNotFoundException,接下来是许多jaspereexception 您能告诉我在配置servlet以从JSP页面与MySQL交互时需要遵循的步骤吗 更新:我已尝试将Tomcat安装根
DriverManager.getConnection()
方法从JSP页面连接到MySQL数据库。我已经将MySQL连接器-J JAR文件放在Tomcat库中。我已经运行了与普通Java应用程序相同的代码,并且可以正常工作,这让我觉得Tomcat存在问题。我遇到了很多异常,第一个是ClassNotFoundException
,接下来是许多jaspereexception
您能告诉我在配置servlet以从JSP页面与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-jjar文件没有正确地放置在类路径中
事实上,将它放在Tomcat的/lib
文件夹中应该可以解决这个问题。然而,既然您似乎已经这样做了,那么这只能意味着要么您根本没有将正确的JAR文件放在那里,要么您所说的/lib
文件夹实际上是错误的文件夹。对于Tomcat 6.0或更新版本,它应该是Tomcat安装文件夹中的/lib
文件夹(它应该已经存在,您不应该自己创建!)。对于Tomcat 5.5或更早版本,它应该是Tomcat安装文件夹中的/shared/lib
文件夹(同样,它应该已经存在)
另一种方法是将JAR文件放在WEB应用程序的/WEB-INF/lib
文件夹中。唯一的缺点是JAR文件将只在所使用的webapp的类路径中结束。对于同一servletcontainer中的所有其他WebApp,必须复制JAR文件。此外,您将无法利用Tomcat提供的连接池功能来提高连接性能
更新:根据您的stacktrace:
类名是错误的。Java区分大小写。它应该是
com.mysql.jdbc.Driver
假设ClassNotFoundException
引用的是jdbc驱动程序com.mysql.jdbc.Driver
,那么这意味着Connector-jjar文件没有正确地放置在类路径中
事实上,将它放在Tomcat的/lib
文件夹中应该可以解决这个问题。然而,既然您似乎已经这样做了,那么这只能意味着要么您根本没有将正确的JAR文件放在那里,要么您所说的/lib
文件夹实际上是错误的文件夹。对于Tomcat 6.0或更新版本,它应该是Tomcat安装文件夹中的/lib
文件夹(它应该已经存在,您不应该自己创建!)。对于Tomcat 5.5或更早版本,它应该是Tomcat安装文件夹中的/shared/lib
文件夹(同样,它应该已经存在)
另一种方法是将JAR文件放在WEB应用程序的/WEB-INF/lib
文件夹中。唯一的缺点是JAR文件将只在所使用的webapp的类路径中结束。对于同一servletcontainer中的所有其他WebApp,必须复制JAR文件。此外,您将无法利用Tomcat提供的连接池功能来提高连接性能
更新:根据您的stacktrace:
类名是错误的。Java区分大小写。应该是
com.mysql.jdbc.Driver
哪个代码?我没有看到任何;)那么,找不到哪个类?i、 例如,显示完整的堆栈跟踪,以及发生这种情况的相关代码。还显示获取连接的代码(仅显示DriverManager.getConnection()是不够的),因为您有多个用户帐户。请返回您发布此问题的PC/webbrowser。然后使用OpenID注册您的帐户,然后您就可以从其他每台PC/webbrowser登录相同的帐户,还可以编辑/评论您自己的问题。哪种代码?我没有看到任何;)那么,找不到哪个类?i、 例如,显示完整的堆栈跟踪,以及发生这种情况的相关代码。还显示获取连接的代码(仅显示DriverManager.getConnection()是不够的),因为您有多个用户帐户。请返回您发布此问题的PC/webbrowser。然后使用OpenID注册您的帐户,然后您就可以从其他每台PC/webbrowser登录相同的帐户,还可以编辑/评论您自己的问题。
java.lang.ClassNotFoundException: com.mysql.jdbc.driver