由于系统是以前的2.16的struts,因为发布了漏洞,需要升级到2.3.15,在网络查了相关资料,当在本机升级顺利成功后,于是去服务器上升级,但奇葩的发现,启动后就报了一个
Caused by: java.net.UnknownHostException: struts.apache.org的错误,于是查资料,很多热心的哥们都说是由于读不到struts的DTD文件,所以导致这个错误,后面就把DTD文件拷贝出来放到本地。开始怀疑是struts-default.xml,和struts.xml,于是还是报错,后面直接跟踪发现是在检验 validators.xml的时候报的错,打开这个文件发现,他的头部声明是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//ApacheStruts//XWork Validator Config 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
终于找到头了,于是去xwork中拿出这个dtd,放到class目录下面,然后修改头部为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//ApacheStruts//XWork Validator Config 1.0//EN"
"xwork-validator-config-1.0.dtd">
然后结果发现,报 tomcat\bin\xwork-validator-config-1.0.dtd找不到,于是把它放到TM的bin目录下,结果OK了
这个地方也想问问其他朋友怎么写才可以让他读到web-inf/class下的地址