【问题标题】:Cant load any page with struts 2 . Issue with web.xml无法使用 struts 2 加载任何页面。 web.xml 的问题
【发布时间】:2012-06-11 19:33:47
【问题描述】:

我正在尝试使用 struts 2 运行 this 示例。我将库插入到 Eclipse 中动态 Web 项目的 Web-Inf 的 Lib 文件夹中。

我的 Web.xml 现在看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

我创建了 struts.xml 并将其放在源文件夹中,其内容是

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <!-- Configuration for the default package. -->
    <package name="default" extends="struts-default">
        <action name="UserAction" class="struts.UserAction">
            <result name="input">/index.jsp</result>
            <result name="success">/result.jsp</result>
        </action>
    </package>
</struts>

所以现在当我运行任何 jsp 时,我会在 Eclipse 控制台中收到以下错误

无法加载配置。 - bean - jar:file:/D:/Users/Don/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Mscs674-Struts2/WEB-INF/lib/struts2-gxp -plugin-2.3.4.jar!/struts-plugin.xml:8:162

网页上有这个

HTTP Status 404 -

type Status report

message

description The requested resource () is not available.

有什么建议吗?

【问题讨论】:

  • 当你告诉人们你把东西放在什么目录中时,在大小写等方面非常准确真的很重要。例如,现在,你的目录列表不正确 - 库应该放在 WEB-INF/lib 中,大写。
  • 另外,这是一个非常旧的 S2 版本,应该使用。 @Fidrizers 列表中的库更新(但仍然很旧),并且可能不适用于旧版本的 S2。此外,您看到与 GXP 插件有关的问题意味着您包含了您使用的库,而您应该这样做——插件可以改变S2 的默认行为。打开devMode 并检查您的日志。

标签: struts2


【解决方案1】:

我发现创建 struts 2 应用程序的最佳方法是使用 struts-blank.jar 文件。它为您完成了所有必需的配置,您可以删除一些示例文件。它将为您创建所有 jar 和 xml 文件。 如果您仍有问题,请立即尝试这样做...

【讨论】:

    【解决方案2】:

    先删除所有jar(添加所有lib不是解决方案)

    只添加必要的库

    所以问题是你有太多的库

    【讨论】:

      【解决方案3】:

      好像有些罐子不见了..!!

      常见的依赖有::

      commons-fileupload-1.2.1.jar
      - commons-io-1.3.2.jar
      - commons-logging-1.0.4.jar
      - commons-logging-api-1.1.jar
      - freemarker-2.3.15,jar
      - log4j-1.2.14.jar
      - ognl-2.7.3.jar
      - xwork-core-2.1.6.jar
      

      检查版本号并将 jars 添加到类路径。

      【讨论】:

      • 我将这些文件添加到 WEB-INF 下的 lib 文件夹中,然后我右键单击库选项卡中的文件夹选择“添加 JAR”,然后浏览到同一个项目并选择所有库我发布了。
      • 所有的rar文件都在那里,除了log4j
      • 你是如何构建这个项目的??转到 eclipse --> new--> Create new Dynamic web project --> Server(tomcat 或 jboss,无论你有什么) 和 2.5 模块 web 版本。给出项目名称 --> 并完成它 --> 从这个 zip 中复制粘贴所有内容并将其粘贴到 web-inf 文件夹中,然后将 java 类复制到 src 文件夹中。并运行它——>它会正常工作。问题是您的 web.xml 没有正确构建。
      • 最初我只是从我下载的 struts2.3.4 框架中复制了所有 jar 文件。现在我从库中删除了它们,只复制了上面的文件并得到了这个:严重:调度程序初始化失败 java.lang.RuntimeException:java.lang.reflect.InvocationTargetException
      • 看起来问题与 jar 无关。尝试按照我在 cmets 中指出的那样做
      【解决方案4】:

      你做一件事。添加 javassist-3.11.0.GA.jar 文件。它会像

      一样删除你的错误
      Dispatcher initialization failed java.lang.RuntimeException:
      java.lang.reflect.InvocationTargetException ..
      

      希望对你有帮助..

      【讨论】:

      • 它随发行版 2.3.4.1 提供。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 2014-08-24
      • 2018-08-13
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多