做java也有好多年了,今年碰到一个头疼的问题,一直没有搞明白,同样的war在一台机器上可以用,在另一台机器上却用不了,jsp页面在两台机器上都可以访问,区别是一个正常,一个找不到servlet。 一开始怀疑是tomcat配置好,做了若干修改,没有效果。后来在高手的提示下,估计是war有问题。重新找了台服务器,布暑后发现报如下在解析
struts-config.xml抛错。逐步修改struts配置文件,发现引用的dtd为公网的
!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
当启动后 怀疑是会去加载dtd校验文档,由于一台服务器可以上公网,一台不可以,从而造成前面的情况。
另外 tomat6在解析 struts-config.xml的时候,会去取 <?xml version="1.0" encoding="UTF-8" ?>的 endcoding,注意这里的encoding要和文件的编码
一致,当我在写为 ios-8859-1的时候,也会出现解析不了的情况。
仅此记录。