解决Linux下tomcat连接MySQL数据库_MySQL
时间:2021-07-01 10:21:17
帮助过:45人阅读
Tomcat
在linux下,开发一个web应用,期间调用数据库时总是不成功,如果单独写一个类,并编译执行访问数据库,正常,但是用web应用来调这个类连接数据库,就会出现错误:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: -g uDg<O
XX_fn *s]
** BEGIN NESTED EXCEPTION ** #(R.; Fz
w*xeyA
java.security.AccessControlException X&)mDn
MESSAGE: access denied (java.net.SocketPermission localhost resolve) PujB>5^1{
B%C%f7hj6
STACKTRACE: %N-Pivt'*V
VyTH 8rSx=
java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve) Gng=6> uR
Dva 1eOmO
看来错误不在数据库,还应该在与web有关的地方。检查了各个端口,发现都开放,并且文件的权限也对其它用户开放了。上网一搜,有人说是java的安全配置的问题,更改/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/security/java.policy下的策略文件,更改后,还是无法访问,看来问题不在这里,在tomcat文件夹下,也有几个策略文件,在/etc/tomcat5.5/policy.d下,我们应该能看到5个.policy文件,它们的作用各不相同,里面都有注释,在相应的地方插入如下代码: ! G}xz=M
Hwd[$G) :/
grant codeBase "file:/var/lib/tomcat5.5/webapps/项目名称/-" { *0,U?8#h(
permission java.security.AllPermission; `5\zssE
}; QCO&z($)oy
JJ+4w
这样该项目就会有相应的权限了,如果实在是不知道应该放在哪个文件下,那么就每个文件里放一句,肯定管用。 W.,6I t
i2s5_yC
这样,tomcat就会开放web应用访问数据库的权限。