我在部署我的 Web 应用程序时遇到了问题,在不断指责我们的托管公司和他们的服务器之后,这让我困惑了 3 周。
首先,在 tomcat 5 上使用管理器可以很好地部署 Web 应用程序。
然后我要求更改为 tomcat 6,他们这样做了,现在应用程序没有部署,并给出了现在非常熟悉的严重:部署配置描述符 XXXX.xml 时出错。
但是在 Eclipse 中,我在 Tomcat 6 上构建并运行我的应用程序,效果很好!但是当我再次尝试通过管理器在本地服务器上部署打包的战争时,我得到了严重的错误。
我的部署描述符有问题,它对 tomcat 敏感,但在 eclipse 中不敏感。我在某处读到了关于区分大小写的信息,并且我已经仔细检查了这一点。
然后我尝试并注释掉了上下文 - 仍然无法正常工作,web.xml 中的所有内容除了欢迎文件列表。我仍然得到同样的错误。
我没有想法,很困惑。
下面我发布了 web.xml 和 context.xml (出于保密原因,我必须 XXXX 出名称)。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>XXXX</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>restSdkService</servlet-name>
<servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.XXXX.core.TestWebApp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>restSdkService</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<resource-ref>
<description>MySQL Datasource example</description>
<res-ref-name>jdbc/XXXX</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
上下文.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/emotifi" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="XXXX" password="XXXX"
driverClassName="com.mysql.jdbc.Driver"
url="XXXX"/>
<Resource name="jdbc/emotifi_web" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="XXXX" password="XXXX"
driverClassName="com.mysql.jdbc.Driver"
url="XXXX"/>
</Context>