我正在尝试关注如何开始使用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模块依赖项。 我真的需要你的帮助。 提前谢谢。
答案 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