Struts -Hello World - HTTP状态[404]

时间:2017-05-06 12:50:52

标签: java jsp struts2

我只是想创建Hello World Struts应用程序。我已经实现了所有可能的配置,仍然没有解决仍然404错误。

  1. 我的服务器配置和项目结构
  2. enter image description here enter image description here

    1. 的index.jsp
    2. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
      <%@ taglib prefix="s" uri="/struts-tags"%>
         <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
      "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <title>Hello World</title>
      </head>
      <body>
         <h1>Hello World From Struts2</h1>
         <form action="hello">
            <label for="name">Please enter your name</label><br/>
            <input type="text" name="name"/>
            <input type="submit" value="Say Hello"/>
         </form>
      </body>
      </html>

      3.HelloWorld.jsp

      <%@ page contentType="text/html; charset=UTF-8" %>
      <%@ taglib prefix="s" uri="/struts-tags" %>
      <html>
      <head>
      <title>Hello World</title>
      </head>
      <body>
         Hello World, <s:property value="name"/>
      </body>
      </html>

      4.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=".HelloWorldAction" 
                  method="execute">
                  <result name="success">/HelloWorld.jsp</result>
            </action>
         </package>
      </struts>

      5.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" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         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</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.FilterDispatcher
            </filter-class>
         </filter>
      
         <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
         </filter-mapping>
      </web-app>

      5.HelloWorldAction.java类

      public class HelloWorldAction{
         private String name;
      
         public String execute() throws Exception {
            return "success";
         }
         
         public String getName() {
            return name;
         }
      
         public void setName(String name) {
            this.name = name;
         }
      }

      我可以修改什么来获得线索出错?

1 个答案:

答案 0 :(得分:1)

首先创建一个包并将HelloWorldAction.java和Product.java移动到该包(Good Practice)。然后在 <action name="hello" class="demo.struts.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp</result> </action> 中指定路径 像: - 包名称demo.struts

Struts.xml

struts.xml更改为{{1}}