NetBeans WebApp - web.xml

NT2005

Mitglied
Hallo Ihr,

Ich kämpfe mich zurzeit gut durch was J2EE angeht. Jedoch habe ich hier und da noch ein paar Schwierigkeiten, manche Sachen ganz zu verstehen.

1. Problem

Und zwar scheint die Url, die oben im Browser steht, etwas hinterher zu hinken. Wenn ich zum Beispiel einen commandLink folge (JSF, Hibernate) der auf die Seite edit.xhtml verweist, wird dann in der neuen Seite url/index.xhtml angezeigt. Komm ich zurück zur Index-Seite: url/edit.xhtml

Woran liegt das?

Meine web.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Mein App</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Mein App</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Mein Ordner</servlet-name>
<servlet-class>servlet.MeinOrdner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Mein Ordner</servlet-name>
<url-pattern>/MeinOrdner</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>
[/XML]

2. Problem

Die Klasse "MeinOrdner" ist ein Servlet. Diese kann ich aber nicht über:
[XML]
<h:commandLink action="#{controller.prepareMeinOrdner}" value="Edit"/>
[/XML]
im Controller:
Java:
public String prepareMeinOrdner() {
        return "MeinOrdner";
    }
aufrufen. Datei nicht gefunden.
Zurzeit verwende ich eben einen normalen Link. (<a.../>)

3. Problem

Bei dem Servlet habe ich viele Zeilen die immer out.println( und dann die html-Tags haben. Sieht erstens nicht schön aus und zweitens werden die HTML Tags ja nicht wirklich gut hervorgehoben. Lässt sich das nicht besser lösen?

Ich hoffe ihr versteht meine Fragen etwas und könnt mir helfen sie zu beantworten. Ich danke schonmal fürs durchlesen und für die Antworten. ;)
 

faetzminator

Gesperrter Benutzer
Also ich kenn das so. Ich arbeite zwar mit Struts und JSP, aber bei mir ist es logischerweise gleich - ausser da wüsste ich etwas nicht ???:L . Ich mach eine Form auf meine Action, mit welcher ich reinkam. Da mach ich einen Dispatcher, welcher mich zur gewünschten Action weiterleitet. In dieser hab ich wieder einen Dispatcher etc. Somit ruft die Seite (sofern man mehr als eine weiterführende Action hat) immer die eigene Action auf.
 

NT2005

Mitglied
Also zusammendfassend:
Es lässt sich nicht ändern, das auf der Seite "edit" in der URL-Leiste index.xhtml steht und auf der "index" Seite - edit.xhtml.

Das klingt für mich ja sehr spanisch... ???:L Aber danke erstmal für deine Anwort, vielleicht lernen wir ja beide noch von jemanden. :D

Edit: Das habe ich gefunden:
PrettyFaces - JSF 2 | Servlet | Java EE | URL Rewrite Filter | Bookmarks | OCPsoft

Finde es aber umständlich aber ich werde es wohl benutzen, sollte keine bessere Lösung vorhanden sein.
 
Zuletzt bearbeitet:

NT2005

Mitglied
Ich habe noch eine Frage:

Auf meiner Seite verwende ich ein ManageBean was hauptsächlich Datenbankarbeiten bewerkstelligt, also so etwas wie add, edit, delete. Desweiteren auch getAll (alle Daten bekommen).

Auszug aus ManagedBean1:
Java:
    DataModel data;
    public DataModel getAll() {
        if (data== null) {
            data= new ListDataModel(helper.getData());
        }
        return data;
    }

Nun habe ich zum Beispiel ein weiteres ManageBean, welches die Daten aus der Datenbank verarbeitet und noch dazu ein dynamisches Bild (Servlet) was wieder alle Daten verabeitet, aber eben nichts an der Datenbank ändert.

Ich könnte jetzt bei allen ManageBean und Servlets schreiben:
Code:
ListModel data= new ListDataModel(helper.getData());
. Find ich aber nicht so gut, da ich mehere gleiche Request an die Helperklasse und somit an die Datenbank schicke.

Habt ihr eine gute Idee, dies zu umgehen?
 

Ähnliche Java Themen

Neue Themen


Oben