Tomcat/Struts2 Benutzer bestimmt Name der URL

dmike

Bekanntes Mitglied
Hallo,

in der Web-Anwendung, die ich schreibe, kann der Benutzer eine persönliche Info-Seite im Web anlegen.
Die Anwendung selbst kann man unter http://www.server.de erreichen.
Dann legt der Anwender einen Namen für seine Info-Seite fest. Zum Beispiel "chucks-persoenliche-seite"

Jetzt kann jeder unter
http://wwww.server.de/chucks-persoenliche-seite
nachschauen was dort steht.

http://wwww.server.de/ ist also fest vorgegeben und "chucks-persoenliche-seite" wurde vom Anwender zuvor in einem entsprechenden Formular reingeflippert.

Vielleicht dumme Frage, aber wie lässt sich "chucks-persoenliche-seite" die ja auch völlig anders heißen kann auf eine bestimmte Struts-Action mappen? Uzw. immer auf die selbe Action.
 
Zuletzt bearbeitet:

dmike

Bekanntes Mitglied
Die Idee ist, dass der Servlet-Container falls eine URL nicht auf *.action oder *.css/*.js/etc. endet, eine Display.action aufruft (über einen Filter). In der möchte dann nachschauen ob http://www.server.de/chucks-info-seite als Datensatz in der Datenbank existiert oder nicht. Wenn ja sollen die Infos zu dieser "ID" einfach angezeigt werden.

Leider kann man per <filter-mapping>-Tag keine excludes vornehmen. Also so etwas geht ja leider nicht

[XML]
<filter-mapping>
<filter-name>DisplayFilter</filter-name>
<url-pattern>/*</url-pattern>
<exclude>/css/*,/js/*,/image/*</exclude>
<exclude>*.action, *.css, *.js, *.png</exclude>
</filter-mapping>
[/XML]


Ich habe also versucht die excludes einfach in der Filter-Klasse "URLFilter" nachzubauen

[XML]
<filter>
<description>Custom URL Filter</description>
<display-name>Custom URL Filter</display-name>
<filter-name>cuf</filter-name>
<filter-class>de.web.filters.URLFilter</filter-class>
<init-param>
<param-name>HompagePresentation</param-name>
<param-value>myHomepage/Display.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cuf</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[/XML]


Die URLFilter-Klasse schaut in der URL nach, ob es sich um etwas erlaubtes handelt (also keine *.action, *.jpg.usw.). Wenn das soweit ok ist, wird die Display.action Klasse aufgerufen, per sendRedirect(homepagePresentation);

Problem bei der Sache ist, dass jetzt keine *.css, *.js usw. Dateien an den Browser durchgereicht werden. Ich nehme an, dass das Mapping <url-pattern>/*</url-pattern> einfach zu stark und meine Idee mit dem exclude in der URLFilter Klasse nicht funslt.


Java:
public class URLFilter implements Filter {

        private static final Logger logger = Logger.getLogger(URLFilter.class);

        private String homepagePresentation;

        public void destroy() {
        }


        /* (non-Javadoc)
         * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
         */
        public void init(FilterConfig fConfig) throws ServletException {
           homepagePresentation = fConfig.getInitParameter("HomepagePresentation");
        }

        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
             if(shouldExclude(req)) {
                 chain.doFilter(req, res);
             }

             //Dispatch funktioniert nicht bei Struts2, deshalb ein Redirect
             ((HttpServletResponse) res).sendRedirect(homepagePresentation);
        }

        private boolean shouldExclude(ServletRequest req) {
            if(req instanceof HttpServletRequest) {
                HttpServletRequest hreq = (HttpServletRequest) req;
                return (   hreq.getRequestURI().endsWith(".css")
                        || hreq.getRequestURI().endsWith(".js"))
                        || hreq.getRequestURI().endsWith(".png")
                        || hreq.getRequestURI().endsWith(".jpg")
                        || hreq.getRequestURI().endsWith(".gif")
                        || hreq.getRequestURI().endsWith(".pdf")
                        || hreq.getRequestURI().endsWith(".action");
            }
            return false;
       }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu Servlet Tomcat Versionsproblem? Web Tier 4
I JSF JSF, Tomcat, Server Faces und maven Web Tier 3
feinperligekohlensaeure JSF JSF + Tomcat 9 | HTTP Status 404 |(com.sun.faces.config.ConfigureListener?) Web Tier 1
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
puba mit JDev entwickelter WS auf Tomcat deployen Web Tier 2
R JSF Tomcat 7 & JSF - UnsupportedOperationException Web Tier 1
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S Tomcat 8.0.9 logging Web Tier 0
S Servlet Tomcat 8.0.9 logging Web Tier 13
D JSP Anfängerfrage - Ändern von JSP / Tomcat Web Tier 4
R Tomcat 7 und SSL Web Tier 3
J JSP Web Applikation auf virtuellem Tomcat Server Web Tier 1
T JSF in Eclipse mit Tomcat Web Tier 0
S JSF Tomcat in Eclipse einbinden (JSF) Web Tier 0
G Magnolia CMS - jedes mal Tomcat restart Web Tier 7
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
M tomcat anwendungsabhängige konfigdateien Web Tier 6
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
C Tomcat wirft keine ViewExpiredException Web Tier 8
C Tomcat + Eclipselink = NotSerializable Exception? Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
T Tomcat mit Servlets Problem Web Tier 7
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
P JSF Umgebungsvariablen bei Tomcat-Start setzen Web Tier 4
T Tomcat: Packete dynamisch auslesen und Klassen erzeugen Web Tier 3
S Servlet Problem mit Tomcat Web Tier 3
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
reibi Tomcat : Änderbare Config-Files Web Tier 5
reibi Servlet Tomcat : Display name und version setzen Web Tier 3
JCODA Tomcat ohne Fenster starten Web Tier 5
P Eclipse zeigt Errors an, die auf Tomcat nicht auftreten Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
L Services in Tomcat einbinden? Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
N JSP org.apache.tomcat cannot be resolved to a type InstanceManager cannot be resolved to a type Web Tier 4
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
M Geschwindigkeit von Tomcat / JavaWebanwendungen Web Tier 3
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
T jsf Tobago in Tomcat classpath aufnehmen Web Tier 2
A Beispiel wirft Fehler. JSF 2.0 / Tomcat / Eclipse Web Tier 2
J Tomcat-Server mit JSF auf Eclipse einrichten Web Tier 7
F umzug von tomcat 4 auf tomcat 6 Web Tier 2
J tomcat webapp restarten Web Tier 2
ruutaiokwu tomcat autodeploy Web Tier 7
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
T Tomcat-Projektverzeichnis Web Tier 13
E JSF Applikation läuft nicht über Tomcat Web Tier 3
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
T Tomcat, JSP, UTF-8 und URL-Codierung Web Tier 4
A Hat Tomcat einen Cache? Web Tier 5
S Tomcat Heap Memory erhoehen..? Web Tier 4
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
S Tomcat / Eclipse Probleme Web Tier 2
T Tomcat Projekt ohne Eclipse starten Web Tier 11
A Tomcat - JSP läuft nicht Web Tier 2
reibi access.log in Tomcat ... ist das möglich? Web Tier 2
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat - JSP ausführen Web Tier 8
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
thE_29 Tomcat - Applications(Context) bekommen Web Tier 19
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
T Hibernate, Debuggingparameter Tomcat Web Tier 3
A JDBC in Tomcat einbinden Web Tier 3
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
C Tomcat total memory Web Tier 11
C Apache-Tomcat Web Tier 13
F ssl, tomcat und jsp anwendungen Web Tier 5
G Tomcat 4.1 Experimente 8) Web Tier 3
S Tomcat JSP context.xml - Standartpfad einstellen Web Tier 3
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
jann Tomcat und Kompression Web Tier 9
Q tomcat konfiguration - rewrite Web Tier 3
A TomCat will nicht - Wieso? Web Tier 5
Q Auth. per Tomcat Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
G Probleme mit Tomcat Web Tier 14
G Tomcat findet angeblich die Datei nicht. Web Tier 8
J Tomcat - web.xml und package . Web Tier 4
L JSP Tomcat Login Web Tier 6
G SCHWERWIEGEND: NullPointerException bei Tomcat Web Tier 4
U Java Application auf Tomcat Web Tier 5
Y JSF - Exception bei Tomcat Start Web Tier 4
O Source-Code vom Tomcat kompilieren lassen Web Tier 6
M Struts Struts2 / Freemarker / Maven2: Markieren von Deployment-Stufen in der View-Schicht Web Tier 4
M STRUTS2 - Array als Parameter übergeben Web Tier 2
B (JSP)+(Struts2)+(Servlet) Konfiguration web.xml Web Tier 2
O JSP struts2 tag: Problem mit Dezimalzahlen Web Tier 2
P Struts Struts2 if tag Problem mit getText() Web Tier 3
O struts2: iterator status in name-Feld benutzen Web Tier 7
D Struts2 Combobox ohne Eingabefeld Web Tier 2
O struts2: Zeilenumbruch in textarea verwenden Web Tier 3
7 struts2-jquery-Plugin Einbindung Web Tier 11
7 Struts2 in webbasierter Anwendung Web Tier 39
O struts2 - Probleme mit parametrisierten URLs Web Tier 5
O Struts2 - vollständige Beschreibung der Tags gesucht Web Tier 6
P Struts2 - Mehrere Methoden/Actions in einer Klasse + Validation Web Tier 2
J struts2 result="input" Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben