最近碰到一个问题:Web项目在本机和现网服务器的Tomcat里部署运行的挺好,在内网里却出现如下的错误:
HTTP Status 404 - /desktop/admin_login.htm
type Status report
message /desktop/admin_login.htm
description The requested resource is not available.
Apache Tomcat/7.0.42
最终,发现是内网服务器,修改过网络配置后,无法联网(ping www.baidu.com都不通),才出现了这种情况。
将IP,DNS之类的网络配置,设置好之后,就可以了,汗啊!
该问题的原因在于:之前,Sitemesh的配置文件(decorators.xml)中,报如下这个警告:
No grammar constraints (DTD or XML Schema) referenced in the document.
我为了消除这个警告,给该文件加了如下所示的DOCTYPE,而产生的。
<?xml version="1.0" encoding="utf-8"?>
<!--DOCTYPE decorators PUBLIC "-//OpenSymphony//SiteMesh 1.5 Decorators//EN"
"http://www.opensymphony.com/sitemesh/dtd/sitemesh_1_5_decorators.dtd"-->
<decorators defaultdir="/page/layout">
<excludes>
<pattern>*login.*</pattern>
<pattern>/query_revenue_info*</pattern>
<pattern>/query_iqiyoo_income*</pattern>
<pattern>/query_game_income*</pattern>
</excludes>
<decorator name="default" page="default.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
由此看来,现在只能采用第二种消除该警告的方法了:Windows => Preferences => Xml => Xml files => Validation => No grammar specified,选择Ignore即可。或者:
Project => Properties => Validation => XML syntax => Enable project special settings=> No grammar specified。