2

在 Struts 2 升级过程中,我们面临下面提到的问题。

“HTTP 状态 404”错误消息。

我们已经完成了以下步骤来将 struts 从 Struts 2.1.8.1升级到 Struts 2.3.24

  1. 更换了罐子:

    • struts2-core-2.3.24.jar
    • struts2-dojo-plugin-2.3.24.jar
    • struts2-json-plugin-2.3.24.jar
    • xwork-core-2.3.24.jar
    • ognl-3.0.11.jar
    • log4j-1.2-api-2.4.jar
    • log4j-api-2.4.jar
    • freemarker-2.3.22.jar
    • commons-fileupload-1.3.1.jar
    • commons-digester-2.1.jar
    • commons-io-2.4.jar
  2. 添加了罐子:

    • asm-3.3.1.jar -asm-tree-3.3.jar
    • asm-commons-3.3.jar
    • commons-lang3-3.4.jar
    • commons-collection-3.2.1.jar
    • hamcrest-core-1.3.jar
    • javassist-3.11.0.GA.jar
    • junit-4.12.jarjunit-4.12.jar
    • struts2-convention-plugin-2.3.24.jar
  3. StrutsPrepareAndExecuteFilter在 web.xml 中用作过滤器。

  4. 将 DTD 从 struts 2.1 和 2.0 更改为 struts 2.3。

  5. 更改了由于 commons-lang3 与 xwork-core 分离而导致错误的导入类。

  6. <constant name="struts.additional.excludedPatterns" value="^(action|method):.*"/>
    
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    

    在 struts.xml 中。

  7. 使用 ant build 构建类。并替换我们本地开发中的构建。环境。

  8. 启动 Apache Tomcat 服务器(V7.0.54) 。

服务器启动成功,但我们无法打开应用程序;应用程序上下文未启动,网络上产生 404 错误。

如果我们做了一些错误的步骤,您能否指导我们并帮助我们诊断问题?

我们已将 log4j.properties 文件更改为 log4j2.xml,如下所示

    <Configuration>
      <Appenders>
        <RollingFile name="syslog" fileName="/var/log/stor/gui/gui.log">
          <PatternLayout>
            <pattern>%d %p %m%n</pattern>
        </PatternLayout>
        <Policies>
          <TimeBasedTriggeringPolicy />
          <SizeBasedTriggeringPolicy size="16 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="1"/>
      </RollingFile>
    </Appenders>
    <Appenders>
      <RollingFile name="requestUrilog"    fileName="/var/log/stor/gui/requestUrilog.log">
        <PatternLayout>
          <pattern>%d %p %m%n</pattern>
        </PatternLayout>
        <Policies>
          <TimeBasedTriggeringPolicy />
          <SizeBasedTriggeringPolicy size="8 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="4"/>
      </RollingFile>
    </Appenders>
    <Appenders>
      <RollingFile name="userlog" fileName="/var/log/stor/gui/userlog.log">
        <PatternLayout>
          <pattern>%d %p %m%n</pattern>
        </PatternLayout>
        <Policies>
          <TimeBasedTriggeringPolicy />
          <SizeBasedTriggeringPolicy size="8 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="4"/>
      </RollingFile>
    </Appenders>
    <Loggers>
      <Logger name="com.sys" additivity="false" level="info">
        <AppenderRef ref="syslog"/>
      </Logger>
      <Logger name="com.requestUri" additivity="false" level="info">
        <AppenderRef ref="requestUrilog"/>
      </Logger>
      <Logger name="com.user" additivity="false" level="info">
        <AppenderRef ref="userlog"/>
      </Logger>
      <Root level="info">
        <AppenderRef ref="syslog"/>
      </Root>
    </Loggers>
  </Configuration>

但是我们仍然无法打印日志

现在正在调用我们的操作,但现在命令行命令没有运行。

我们没有得到,用struts运行命令行命令的依赖是什么

请指导我们知道我们做错了什么

4

0 回答 0