配置Struts.xml DTD文件报错

报错信息为: The content of element type "struts" must match "((package|include|bean|  constant)*,unknown-handler-stack?)"

先来说说Struts框架的使用。1,下载Struts开发包;2,将需要的jar包导入到项目中

http://archive.apache.org/dist/struts/source/      struts历史版本源码包下载地址

http://struts.apache.org/下载Struts开发包(struts-2.3.31-all.zip链接地址    http://struts.apache.org/download.cgi#struts2510),解压后将jar包导入到eclipse中(注意导入jar包时,不光是复制进项目中的lib目录下,还要在properties/build pach中add jar进项目中,可以参照http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html进行参考)
点击Download,进入下载页面,上面是struts2的下载连接
struts-2.3.24-all.zip 所有包,包括下面4个部分(jar包,源代码,文档,例子)
struts-2.3.24-apps.zip 例子
struts-2.3.24-lib.zip jar包和其他一些依赖jar包
struts-2.3.24-docs.zip 文档
struts-2.3.24-src.zip 源代码

在新建Struts.xml时需要导入DTD信息,如<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd"> 
 <struts>

导入方法为在struts2文件夹下的lib目录,找到struts2-core.jar包文件并解压,打开解压的目录下即可找到struts2.3.dtd (注:该dtd文件可用txt文本编辑器打开)

该处报错指Struts定义的内容元素不匹配,实则是里面标签元素拼错了,讲package拼成了pavage.....后面的由于是系统自动匹配生成的,一时没看出来

 <package name ="default" namespace="/" extends="struts-default">
         <action name="hello" class="com.action.TextAction">
                <result>/success.jsp</result>
          </action>
</package>

报错信息:

The public identifier must begin with either a single or double
公共标识符必须开始与单个或双

content is not allowed in prolog.
在 prolog 中不允许内容。

实际上是有多余的空格符或占位符
sax错误:org.xml.sax.SAXParseException: Content is not allowed in prolog解决
http://blog.sina.com.cn/s/blog_6d5d8b580100txon.html

原文地址:https://www.cnblogs.com/DZayxj520/p/6100174.html