我在一台服务器(Ubuntu 18.04)上安装了一个新的Tomcat9。 我正在尝试设置treeanno(https://github.com/nilsreate/treeanno/releases)并部署web应用程序存档(war),它在github Repos中给出。 为了部署WAR文件,我使用了tomcat manager应用程序,并按照下面的描述配置tomcat以使用相应的数据库资源:https://github.com/nilsreiter/Treeanno/blob/master/install.md。 根据简短的描述,这将被添加到tomcat安装的context.xml中:
maxActive="100" maxIdle="30" maxWait="10000"
username="USERNAME" password="PASSWORD" driverClassName="com.mysql.jdbc.Driver"
url="DATABASE URL"/>
由于我是tomcat的新手,我不清楚需要设置什么属性,特别是“URL”。 如果我尝试访问应用程序,我会遇到以下错误,指出由于url不够,无法构建数据库连接:Type Exception Report
Message An exception occurred processing [/index.jsp] at line [12]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: An exception occurred processing [/index.jsp] at line [12]
9: doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
10: doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
11: omit-xml-declaration="false" />
12:
13:
14:
15:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:626)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql:3306'"
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666)
org.apache.jsp.index_jsp._jspService(index_jsp.java:270)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql:3306'"
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(QueryTagSupport.java:285)
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(QueryTagSupport.java:168)
org.apache.jsp.index_jsp._jspx_meth_sql_005fquery_005f0(index_jsp.java:296)
org.apache.jsp.index_jsp._jspService(index_jsp.java:134)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
我已经知道url应该链接到数据库服务器,包括密码和用户,但这似乎不适合这个配置文件。
我在这里找到了以下内容(https://ci.apache.org/projects/tomcat/tomcat9/docs/jndi-datasource-examples-howto.html):url=jdbc:mysql://localhost:3306/javatest"/
但是调整端口等不起作用:url=jdbc:mysql:/localhost:8080/Treeanno-1.0.2“/
现在,我需要如何制定url以允许应用程序连接/启动MySQL数据库?