# Struts 2 - Startseite festlegen



## Tandibur (17. Mai 2010)

Hi,

ich programmiere eine kleine Webanwendung mit Struts2 auf NetBeans.

Das neu angelegte Projekt funktioniert ("Struts is up and running ..."). Nun möchte ich meine eigene Startseite festlegen. Die voreingestellte ist example/HelloWorld.jsp.
Lege ich die "Startseite.jsp" in den example-Ordner und ändere den Eintrag in der web.xml, funktioniert es. Lege ich sie jedoch in einen anderen Ordner (z.B. public/Startseite.jsp), oder lege sie auf die gleiche Ebene wie die Ordner und passe den Einrag entsprechend an, wirft Tomcat die 404.

Wo ist noch eingestellt, dass in example/ gesucht werden soll?

Lars


----------



## Noctarius (17. Mai 2010)

Vermutlich im Pattern


----------



## Tandibur (17. Mai 2010)

hui, das ging ja schnell.

Bloß, was meinst du damit? Welche Datei ist das üblicherweise?

In den Büchern und Tutorials steht immer nur der Verweis auf die web.xml.

Lars


----------



## Noctarius (17. Mai 2010)

Zeig mal deine web.xml und Struts-Config


----------



## Tandibur (17. Mai 2010)

Hier die web.xml:

[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <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>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>example/Startseite.jsp</welcome-file>
    </welcome-file-list>
</web-app>[/XML]

und hier die struts.xml:

[XML]<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <include file="example.xml"/>
    <!-- Configuration for the default package. -->
    <package name="default" extends="struts-default">
    </package>
</struts>
[/XML]

und der Vollständigkeit halber, die example.xml:

[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>
    <package name="example" namespace="/example" extends="struts-default">
        <action name="HelloWorld" class="example.HelloWorld">
            <result>/example/HelloWorld.jsp</result>
        </action>
    </package>
</struts>

[/XML]

example.xml bindet die einzelnen actions ein, struts.xml die Konfiguration einzelner Pakete und die web.xml definiert den struts-Deployment-Deskriptor als Default-Controller - hab ich das so richtig verstanden?

Lars


----------



## Tandibur (17. Mai 2010)

jetzt geht es.

Habe einen neuen Ordner "pub" angelegt und in der web.xml den Eintrag geändert:
[XML]<welcome-file-list>
        <welcome-file>pub/Startseite.jsp</welcome-file>
    </welcome-file-list>[/XML]

und nun geht es.

Vorher wurde immer noch eine andere Seite gerufen, die nur "Loading ..." zeigte, bis die "HelloWorld.jsp" gezeigt wurde. Also eine Seite mit einer direkten Weiterleitung. Ich konnte aber nirgends im Projektverzeichnis eine solche finden.

Na jedenfalls funktioniert es nun.  Vielen Dank für die schnellen Antworten.

Lars


----------

