我最近在我的localhost上部署了一个有效的webapp到亚马逊网络服务。 我遇到的问题是 - 尽管context.xml的用户名为'james',否则异常stacktrace会另外提及。
org.apache.jasper.JasperException: org.apache.jasper.JasperException: org.apache.jasper.JasperException: javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
它正在尝试使用用户名“root”连接到数据库。这是因为文件的缓存(context.xml)?我该如何解决这个问题?我也重新启动了Web服务器,但它还没有生效。
先谢谢。
EDIT:
这是context.xml的内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<Resource
name="jdbc/NetmarketDB"
auth="Container"
type="javax.sql.DataSource"
removeAbandoned="true"
removeAbandonedTimeout="30"
maxActive="100"
maxIdle="30"
maxWait="1000"
username="james"
password="xxxxxxxxxx"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/ams"/>
</Context>
您可以点击页面上的Login
或Register
来查看相关信息:
http://184.73.118.76/Links.jsp
我需要做些什么才能使context.xml更改生效?
我已经采取了两项行动:
1. WEB-INF中的touch web.xml
2.重启tomcat服务器。
在这里迫切需要帮助。
再次感谢。 詹姆斯。
答案 0 :(得分:1)
检查你的$ CATALINA_BASE / conf / [enginename] / [hostname] / [webapp] .xml,默认Tomcat这应该是$ CATALINA_BASE / conf / Catalina / localhost / [webapp] .xml,tomcat创建副本您的context.xml,这可能在您更新context.xml时未更新
Tomcat Context Container Reference
$ CATALINA_BASE / conf / [enginename] / [hostname] /,位于单个文件中 应用程序文件中的/META-INF/context.xml。如果是网络 应用程序打包为WAR,然后是/META-INF/context.xml 复制到$ CATALINA_BASE / conf / [enginename] / [hostname] /并重命名为 匹配应用程序的上下文路径。一旦这个文件存在,它就会 如果带有较新的/META-INF/context.xml的新WAR,则不能替换 放在主持人的appBase中。
答案 1 :(得分:0)
确保没有名为$ CATALINA_BASE / conf / Catalina / localhost / yourapp.xml的文件,或者它不包含使用用户名'james'的同一数据库的其他数据源定义。