Username: Password:

解决Linux下tomcat连接MySQL数据库
来源:ccidnet.com作者:ccidnet.com 发布时间:2008-04-15 06:15:30

在linux下,研发一个web应用,期间调用数据库时总是不成功,假如单独写一个类,并编译执行访问数据库,正常,但是用web应用来调这个类连接数据库,就会出现错误:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

  ** BEGIN NESTED EXCEPTION **

  java.security.AccessControlException
  MESSAGE: access denied (java.net.SocketPermission localhost resolve)

  STACKTRACE:

  java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)

  看来错误不在数据库,还应该在和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文档,他们的作用各不相同,里面都有注释,在相应的地方插入如下代码:

  grant codeBase "file:/var/lib/tomcat5.5/webapps/项目名称/-" {
   permission java.security.AllPermission;
  };

  这样该项目就会有相应的权限了,假如实在是不知道应该放在哪个文档下,那么就每个文档里放一句,肯定管用。

  这样,tomcat就会开放web应用访问数据库的权限。


喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅