2016-06-19 4 views
0

Ich versuche zu folgen this Tutorial über, wie Sie zu Struts beginnen. Ich folgte die genauen Schritte, aber am Ende habe ich diesen Fehler HTTP Status 404 - /Struts2-HelloWorldExample/HTTP-Status 404 auf Struts-Projekt mit Tomcat

Ich weiß, Fehler 404 bedeutet, dass ich in der Lage war, an den Server zu kommunizieren, aber Server konnte nicht gefunden, was ich gebeten hatte. Ich vermutete, dass etwas mit meiner Bibliothek nicht stimmte, aber ich konnte in der Lösung für das gleiche Problem nichts finden.

Mein Java-Code:

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> 

Und ich bin mir nicht sicher, was ich tue richtig oder falsch ist, aber ich nur manuell Streben Bibliothek hinzugefügt, die ich von here (vollständige Distribution) heruntergeladen haben im WEB-INF/lib-Ordner, so habe ich diese JAR in diesem Ordner:

Und das letzte, was habe ich keine Fehler, aber diese Warnung auf meinem Marker:

ich diesen Fehler bereits geprüft, Idk was das ist, bedeuten, denn wenn ich die Lösung zu sehen, jemand sagen, dass ich entscheiden müssen, ob und welche der Bibliotheken auf den Krieg im Projekt Eigenschaften kopieren -> Java EE Modulabhängigkeiten. Aber in meinen Projekteigenschaften gibt es keine Java EE Module Dependencies. Ich brauche wirklich deine Hilfe. Vielen Dank im Voraus.

+0

Versuch durch diese Modifikation -> /WebContent/index.jsp

+0

alle Gläser aus der vollständigen Verteilung beinhaltet nicht.Wenn Sie nicht wissen, was Sie enthalten sollen, laden Sie die Distribution 'Essential Dependencies Only' herunter. –

+0

Sie haben wahrscheinlich eine falsche Projektkonfiguration in Eclipse und falsche Abhängigkeiten. Erstellen Sie ein Projekt mit Maven neu. –

Antwort

0

Stellen Sie sicher, dass Sie die JSP-Dateien in WEBCONTENT nicht in WEB-INF abgelegt haben und versuchen Sie, nur die Bibliotheken, die ich unten angegeben habe, zu setzen.

commons-Sammlungen-3.1.jar, commons-Fileupload-1.3.1.jar, commons-io-2.2.jar, commons-lang-2.4.ja, r commons-lang3-3.2.jar , commons-logging-1.1.3.jar, Freemarker-2.3.22.jar, Javassist-3.11.0.GA.jar, OGNL-3.0.13.jar, struts2-Core-2.3.28. jar, xwork-core-2.3.28.jar,

Versuchen Sie dies und versuchen Sie den Server neu starten und überprüfen Sie es.Hope es funktioniert.

Grüße, Dhanya

+0

Warum denken Sie, dass es falsch ist, Dateien im Web-Inf zu speichern? –

+0

@AleksandrM: Sie haben keinen direkten Zugriff auf den Inhalt des WEB-INF-Ordners, so dass Sie Ihre jsp-Datei, die im WEB-INF-Ordner erstellt wurde, nicht aufrufen können. Versuchen Sie einfach, Ihre jsp-Dateien außerhalb von WEB-INF zu erstellen. –

+1

Warum benötigen Sie direkten Zugriff? Aktion -> JSP. Nicht anders herum. –

Verwandte Themen