我从Java Brains学习struts 2。我编写了一个简单的Hello world类型的struts 2 Web应用程序。它只显示成功页面或错误页面。我已完成教程中指示的所有内容,但遗憾的是页面未加载。以下是项目资源管理器。
我已编辑过web.xml文件,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts 2 Web Application</display-name>
<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>
根据教程,上面的web.xml配置将整个请求响应过程移交给struts。我已经配置了struts.xml文件,如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="getTutorial" class="action.TutorialAction">
<result name="success">/success.jsp</result>
<result name="failure">/error.jsp</result>
</action>
</package>
</struts>
我写了action.TutorialAction
类,如下所示。
package action;
public class TutorialAction {
public String execute(){
System.out.println("Hello From execute");
return "success";
}
}
在Tomcat 7下运行项目后,网址为#34; http://localhost:8080/Struts2Starter/getTutorial.action&#34;应该加载success.jsp页面。但它显示404错误。
success.jsp页面只是一个.jsp页面。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Success Page
</body>
</html>
我无法理解为什么它没有运行。我已经敲了一下头来解决它一个星期,最后它只是没有希望:(请帮帮我,谢谢你。
答案 0 :(得分:1)
请仔细阅读以下几点:
1)你必须添加struts2的所有jar文件,这些文件很容易在“javatpoint”上使用。
2)只使用getTutorial而不是getTutorial.action运行它,比如“http://localhost:8080/Struts2Starter/getTutorial”,有时它的工作。
希望它能为你效劳。
答案 1 :(得分:0)
同样的问题 - 我下载了struts-2.3.2,它是链接http://archive.apache.org/dist/struts/中提供的struts2中最早的版本,但仍然出现错误404-未找到上述指定的网址,即http://localhost:8080/Struts2Starter/getTutorial 和http://localhost:8080/Struts2Starter/getTutorial.action两者。
答案 2 :(得分:0)
请仔细阅读以下几点:
1)你必须添加struts2的所有jar文件,这些文件很容易在“javatpoint”上使用。
2)只使用getTutorial而不是getTutorial.action运行它,比如“http://localhost:8080/Struts2Starter/getTutorial”,有时它的工作。 您还可以从此处观看Java视频 https://www.youtube.com/channel/UCWJ9QB_Ng-dgEOFd_1Ouobg