【问题标题】:Struts2 isn't loading my webapp...404 error?Struts2 没有加载我的 webapp...404 错误?
【发布时间】:2015-04-01 00:46:27
【问题描述】:

我是 Struts2 的新手,无法在 Eclipse/浏览器中的 Tomcat 上运行任何涉及它的东西。当我只是在 web.xml 文件中映射 servlets/jsp 时,Tomcat 工作正常,但是当我尝试切换到 struts2 时,我无法让它工作。当我尝试在服务器上运行时,它甚至不会进入我的索引 jsp...只是加载 404 错误。当我无法让我的班级运行我的应用程序并且我也无法运行该教程时,我遵循了一个在线教程。这是我添加到 tomcat lib/build path jars 中的 jar 文件-

asm-5.0.2.jar             
asm-commons-5.0.2.jar       
asm-tree-5.0.2.jar         
commons-fileupload-1.3.1.jar      
commons-io-2.2.jar     
commons-lang3-3.2.jar   
commons-logging-1.1.3.jar   
commons-logging-api-1.1.jar   
freemarker-2.3.19.jar   
javassist-3.11.0.GA.jar   
ognl-3.0.6.jar    
struts-core-1.3.10.jar    
struts2-dojo-plugin-2.3.20.jar    
xwork-core-2.3.20.jar    

过滤器添加到 web.xml -

<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>

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>
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">

  <action name="hello" 
        class="com.struts2.files.HelloWorldAction" 
        method="execute">
        <result name="success">/HelloWorld.jsp</result>
  </action>
</package>
</struts>

关于为什么我在尝试运行应用程序时收到 404 的任何想法?

【问题讨论】:

  • 使用浏览器中的开发者工具查看请求。我想也许“/HelloWorld.jsp”是一个错误的路径。
  • PS:在中设置属性为“redirect”,然后你就可以在开发者工具中看到你的请求了。否则,它将使用默认的转发方法。

标签: java jsp tomcat jar struts2


【解决方案1】:

我猜,您将错误的struts-core-1.3.10.jar 添加到您的类路径。这可能属于 Struts 1.x。您需要包含来自 Struts 2 框架的最新 struts2-core-2.x.x.jar

一个典型的 Struts 2 应用程序在WEB-INF/lib 目录下有以下 jars。

commons-fileupload-1.2.1
commons-io-1.3.2
commons-logging-1.1
freemarker-2.3.13
junit-3.8.1
ognl-2.6.11
xwork-2.1.2
struts2-core-2.1.6
struts2-convention-plugin-2.1.6 (if using annotations)

尝试从struts.apache.org下载最新的jar。

【讨论】:

    【解决方案2】:

    过滤器类org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter属于Struts2但你使用struts1 jar文件struts-core-1.3.10.jar

    按照 Ravi 的建议,从 Struts-2.3.20 下载 Jar 文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 2019-09-17
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多