【问题标题】:Getting warning while using struts.xml file.使用 struts.xml 文件时收到警告。
【发布时间】:2012-06-11 04:21:42
【问题描述】:

我正在使用 Struts2.0。当我编写程序时,在 struts.xml 文件中收到警告“文件无法验证,因为存在连接问题”:-“!DOCTYPE struts PUBLIC”-//Apache Software Foundation//DTD Struts 配置 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" "

当我执行应用程序时,第一页已加载但提交后,下一页未加载并显示如下错误:“请求的资源(/TestProject/login)不可用。”

我用的是struts2.0,Tomcat6.0,包括jar文件有:

  1. commons-logging-1.1
  2. freemarker-2.3.8
  3. ognl-2.6.11
  4. struts2-core-2.0.6
  5. xwork-2.0.1

请帮助我为什么这个错误是由于警告或其他原因而出现的。

【问题讨论】:

  • 检查 !Doctype 之前是否有任何不需要的字符或空格
  • 试试下面几行,<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> 看看 之前没有空格
  • 打开 devMode,打开日志到 DEBUG,然后检查你的控制台。您需要提供有关您要提交到的操作的操作配置、如何访问第一页(通过操作,还是直接访问 JSP?)等的更多信息。这也是 S2 的非常早期版本,真的不应该使用。我不记得那么久了,但你可能还需要 Commons IO 和 Commons fileupload——你真的应该使用 Maven 来管理你的依赖项。

标签: struts2


【解决方案1】:

第一个错误可能是因为您的项目无法找到 tld。

-检查你的 sturts-core.jar 是否包含 struts-2.0.dtd - 你的 struts.xml 是这样开始的

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

第二个错误是因为当您部署应用程序并且 struts.xml 没有被部署时,似乎您正在使用 eclipse 并且您的 struts.xml 在资源文件夹中。

确保您的资源文件夹已添加到 src 目录中,

Project - > Build Path - > Configure Build Path - > Source (If resources is not present here click on Add Folder and select Resources.

如果您刚开始使用 Struts,请升级到最新版本 Struts2.3

【讨论】:

  • 顶级域名?!我认为我们不知道为什么该页面不可用。没有足够的信息继续下去。
  • @DaveNewton,我从 Struts2 开始时遇到了类似的问题,在 eclipse 中添加了一个资源文件夹但没有在源文件夹中标记它,因为在 web.xml 中定义了索引页面没有任何问题,但是之后的任何操作都会导致相同的错误。
  • 谢谢 mprabhat。你的建议对我帮助很大。
猜你喜欢
  • 1970-01-01
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多