Tomcat
在linux下,开发一个web应用,期间调用数据库时总是不成功,如果单独写一个类,并编译执行访问数据库,正常,但是用web应用来调这个类连接数据库,就会出现错误:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
-g uDgO 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应用访问数据库的权限。
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn