我在定义tomcat上下文元素时产生了一种奇怪的效果。在开发过程中,我使用了META-INF/context.xml$TOMCAT_HOME/conf/engine/myfooservice.xml
是一个简单的上下文定义路径和数据源:
<Resource
name="dataSourceName"
type="javax.sql.DataSource"
password="s3cr3t"
driverName="oracle.jdbc.OracleDriver"
maxIdle="32"
maxWaitMillis="5000"
username="stupidLooser"
url="jdbc:oracle:thin:@HHHHHHH:1521:XXX"
maxTotal="64"/>
使用META-INF,一切如愿以偿。使用$TOMCAT_HOME/conf/engine/myapp.xmlURL的不同行为。
一些"应用程序"调用rest服务(myfooservice),在登录屏幕上领域登录之前显示一些信息。App---AJAX---->myfooservice在同一Tomcat上(/App/myfooservice)。
使用$TOMCAT_HOME/conf/engine/myapp.xml,登录时的url更改为http://$host:$port/APPContext/index/$myfooserviceCONTEXT/RestURL,这是非常错误的-不存在(所有浏览器)。中断登录。
使用META-INF/context.xml,登录工作如预期。j_security被调用URL是预期的http://$host:$port/APPContext/index(所有浏览器)。
我不知道$TOMCAT_HOME/conf/engine/myfooservice.xml的行为为何不同。从医生那里我会得出没有区别的结论。
属性命名错误-opps。上下文也在META-INF/Context.xml-correct中定义,driverClassName="oracle.jdbc.OracleDriver".
conf/。。。条目的优先级高于META-INF/context.xml。似乎我得到了一个混合(数据源有效)和一个奇怪的副作用(路径问题)。