这是我的servlet.xml文件
<GlobalNamingResources>
<Resource auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
initialSize="5"
maxActive="120"
maxIdle="5"
maxWait="5000"
name="jdbc/EPRT_DEV"
password="admin"
url="jdbc:oracle:thin:hr/password@192.168.178.83:1521:XE"
username="system"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"
type="javax.sql.DataSource" />
</GlobalNamingResources>
<!--
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
-->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="jdbc/EPRT_DEV"/>这是我的context.xml文件
<ResourceLink name="jdbc/EPRT_DEV"
global="jdbc/EPRT_DEV"
type="javax.sql.DataSource"/>有什么想法吗?请帮帮我..。
发布于 2013-01-05 14:29:00
首先,没有Tomcat识别的名为servlet.xml的文件。我希望你是指CATALINA_BASE/conf/server.xml。
其次,您的<Resource>定义完全混乱:您需要阅读关于资源定义的Tomcat文档。MemoryUserDatabaseFactory的目的是读取由<Resource>定义的path属性指定的文件,但您似乎试图使用<Resource>数据库进行身份验证。
同样,您使用的是UserDatabaseRealm (打算与MemoryUserDatabaseRealm配对)‘,然后尝试将其连接到已损坏的DataSource。
如果要使用Oracle,则从factory定义中删除<Resource>和pathname属性,并将<Realm>中的className更改为className。也要阅读DataSourceRealm文档,因为它的配置与这里的配置非常不同。
如果您必须重新发布,请包括您遇到的任何错误的完整堆栈跟踪,并编辑您的文章,以包括适当的细节,而不是做所有从内存。
发布于 2013-05-03 10:38:44
可能是你们写了些在tomcat-users.xml中不允许的东西
早些时候,我在" roles“中添加了admin,得到了同样的错误.我刚刚从tomcat-users.xml中删除了该角色。
https://stackoverflow.com/questions/14169545
复制相似问题