有关web.xml配置中的DOCTYPE的问题

本文描述了在使用Tomcat5.5.23部署ECV2.0时遇到的问题,特别是在断网情况下因web.xml文件中的DTD链接无法访问而导致的应用加载失败。通过对比Tomcat自带的web.xml文件,作者移除了问题配置并解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在调试EC V2.0, web程序中的web.xml继承自EC V1.2的web.xml,这个web.xml文件应该是在Netbeans 3.6自动生成的一个框架上修改得来的。里面有这样的一段配置: 

CODE:  SELECT ALL
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">


从这段配置上来看,似乎程序会到http://java.sun.com/j2ee/dtds/web-app_2_2.dtd去寻找dtd文件,但以前EC V1.2运行在Tomcat 4.1.x上的时候,一直没什么问题,系统就算不能联网,也能正常运行。

但是这种情况在EC 2.0上有点问题。EC 2.0要运行在Tomcat 5.5.23上,今天测试了一下,在断网的情况下,启动tomcat的时候,tomcat在装载EasyCluster的时候,出现了如下的错误:

CODE:  SELECT ALL
=[ERROR]2007-04-09 15:54:51,267 [org.apache.struts.action.ActionServlet:1732] The /WEB-INF/web.xml was not found.
java.net.UnknownHostException: java.sun.com
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:382)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:509)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
        at sun.net.www.http.HttpClient.New(HttpClient.java:304)
        at sun.net.www.http.HttpClient.New(HttpClient.java:316)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:817)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:769)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:694)


从这个错误来看,struts无法找到我们的web.xml文件,其实这个文件是存在的,关键错误在于下面一行,无法找到java.sun.com,于是就开始怀疑web.xml文件中上述的一段配置。于是参考了tomcat自带的一个web.xml(位于$CATALINA_HOME/conf/web.xml,这个web.xml是tomcat会自动装载的,也就是说,这里面的配置会影响所有的web应用,tomcat先装载这个web.xml,然后才会去装载每个web app的web.xml,发现这个web.xml中就没有上述的一段配置。 

于是在EC 2.0中,去掉了web.xml中上述的那段配置,再启动tomcat,装载我们的应用,就OK了,当然是在断网的情况下了。 

看来在tomcat 5中,还是有一些地方和4.x不一样的。以后写web.xml看来不能写上那段配置了。

转载于:https://www.cnblogs.com/super119/archive/2011/01/11/1933319.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值