Struts上的HTTP状态404项目与tomcat

时间:2016-06-19 13:25:22

标签: java jsp java-ee struts2 http-status-code-404

我正在尝试关注如何开始使用Struts的this教程。 我按照确切的步骤操作,但最后我收到了此错误HTTP Status 404 - /Struts2-HelloWorldExample/

我知道404错误意味着我能够与服务器通信,但服务器找不到我要求的内容。我怀疑我的库有问题,但我在解决方案中找不到同样问题的任何内容。

我的java代码:

package com.aziz;

public class HelloWorldExample {

    private String name;

    public String execute() throws Exception {
        return "success";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
  <display-name>Struts 2 - Hello World Example</display-name>
  <welcome-file-list>
     <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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>

的hello.jsp:

<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
    <title>Hello World Example</title>
</head>
<body>
    Hello <s:property value="name"/>!
</body>
</html>

的index.jsp:

<!DOCTYPE html>
<html>
<head>
    <title>Hello World Example</title>
</head>
<body>
    <h1>Hello World Example</h1>
    <form action="hello">
        <label for="name">Enter your name</label><br/>
        <input type="text" name="name"/>
        <input type="submit" value="Submit"/>
    </form>
</body>
</html>

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="default" namespace="/" extends="struts-default">
        <action name="hello"
                class="com.aziz.HelloWorldExample">
                <result name="success">hello.jsp</result>
        </action>
    </package>
</struts>

而且我不确定我在做什么是对还是错,但我刚刚在WEB-INF / lib文件夹中添加了从here(完整发行版)下载的手动struts库,所以我在这个文件夹中有这些JAR:

最后一件事,我没有错误,但我的标记上有这些警告:

我已经检查了这个错误,Idk是什么意思,因为当我看到解决方案时,有人说我需要决定是否以及在项目属性中将哪些库复制到WAR中 - &gt; Java EE模块依赖项。但是在我的项目属性中,没有Java EE模块依赖项。 我真的需要你的帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

确保您已将jsp文件放在WEBCONTENT内而不是WEB-INF中,并尝试仅放置我在下面给出的库。

公地集合-3.1.jar, 公地文件上传-1.3.1.jar, 公地IO-2.2.jar, 公共琅2.4.ja河 公地lang3-3.2.jar, 共享记录-1.1.3.jar, freemarker的-2.3.22.jar, Javassist进行-3.11.0.GA.jar, OGNL-3.0.13.jar, Struts2的核心 - 2.3.28.jar, XWork的核 - 2.3.28.jar,

尝试此操作并尝试重新启动服务器并检查它。希望它能正常工作。

此致 Dhanya