运行struts2 hello world程序时出错

时间:2014-03-12 05:51:43

标签: java struts2

我是Struts2的新手。使用struts创建一个hello world程序。当我运行它得到第一个屏幕,我输入我的输入,但点击提交按钮给出以下错误。

此helloworld示例的来源:http://www.tutorialspoint.com/struts_2/index.htm

HTTP状态404 - / HelloWorldStruts2 / hello


输入状态报告

message / HelloWorldStruts2 / hello

description请求的资源(/ HelloWorldStruts2 / hello)不可用。


Apache Tomcat / 6.0.29

建议问题是什么?

2 个答案:

答案 0 :(得分:1)

得到了解决方案。

在index.jsp中有<form>个标记。当我将其更改为<s:form>时工作正常。

或从

更改
<form action="hello"> 

<form action="hello.action">

答案 1 :(得分:0)

这对我有用,特别针对这个问题。使用Tomcat 8:

确保您已在classes下创建了WebContent\WEB-INF文件夹。 在其中创建logging.properties文件并向其添加以下内容。 (如果文件单独跳转到Java Resources&gt; Libraries,则无关紧要): -

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = \ java.util.logging.ConsoleHandler

然后在Tomcat webapps文件夹的位置删除您的HelloWorldStruts2.war文件。

现在按照网站的说明将项目导出到新的HelloWorldStruts2.war文件(如果存在,请记住用同名的文件覆盖现有的.war文件)。

再次,通过将此文件复制到Tomcat目录的webapps文件夹来部署该文件。

在浏览器中,再次转到http://localhost:8080/HelloWorldStruts2/index.jsp,但我不确定这次是否可行。

但这一次,请观看Tomcat服务器应用程序的详细输出。你会得到一些像这样的例外(暂时没有警告):

30-Mar-2014 17:39:29.273 SEVERE [localhost-startStop-7] org.apache.catalina.core.StandardContext.filterStart Exception starting filter struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
       at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:213)
       at org.apache.struts2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:102)
       ...

看到这一点,我立即做的是将commons-lang3-x.y.z.jar复制到WebContent\WEB-INF\lib文件夹,然后再次导出和部署项目。

这一次,页面再次显示,所以我看了日志,发现Tomcat没有明确清除webapps\HelloWorldStruts2文件夹的内容。

删除HelloWorldStruts2HelloWorldStruts2.war并刷新浏览器中的index.jsp页后,我的项目工作正常!