Jax-RS + HTTP Request auf WebContent abfangen

Kosta.Kos

Mitglied
Hallo Leute,

versuche die Anmeldeprozedur von Tomcat (via Web.xml) auf meinen RESTful Web Service umzustellen.
Dabei habe ich folgendes Problem:

Requests auf Java-Resourcen kann ich mittlerweile mit einem 'ContainerRequestFilter' ohne Probleme abfangen und überprüfen.
Genau so möchte ich verfahren bei Requests auf meinen WebContent --> also alle html-Files, die sich in diesem Ordner befinden. Der von mit verwendete Filter reagiert jedoch nur bei HTTP Requests auf Java-Ressourcen. Gibt es eine Möglichkeit die Requests, welche eine HTML-Seite anfragen, Java-seitig abzufangen?
Hintergrund: Ich möchte checken, ob der User angemeldet ist.

Hier meine derzeitiger Filter:
Java:
public class MyRequestFilter implements ContainerRequestFilter 
{
	@Override  
	public ContainerRequest filter(ContainerRequest arg0) 
	{
		System.out.println("ContainerRequest");
		return arg0;
	}
}



Grüße
Kosta
 
Zuletzt bearbeitet:

eso

Mitglied
Sind deine HTML-Dateien alle statisch? Wenn ja, dann finde ich deinen Ansatz nicht so toll. Falls du mit Jersey arbeitest, kannst du dir mal die Klasse Viewable anschauen.
Ansonsten: schon versucht die HTML-Dateien mit ins Servlet-Mapping des JAX-RS Servlets zu integrieren?
 

Kosta.Kos

Mitglied
Hi eso,

danke für die Antwort. Nein die Klassen sind alle dynamisch. Content wird aus einer DB geladen und je nach Auswahl dargestellt u.s.w.
Jersey verwende ich auch.

Bei meiner derzeitigen Lösung wird demnach ohne erfolgte Authentifizierung nur der statische "HTML-Teil" angezeigt, ohne wirkliche Informationen. Trotzdem würde ich gerne auch die Darstellung des HTML ohne erfolgreiche Anmeldung unterbinden.
Beide Tipps von dir werde ich mal genauer recherchieren. Ich kenne beides noch nicht.


@Update: Hier ein Versuch die HTML Dateien ins Mapping zu integrieren, jedoch leider ohne Erfolg.
Der Filter feuert jetzt, aber die Seite wird nicht mehr angezeigt.

[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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>de.vogella.jersey.first</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>de.vogella.first</param-value>
</init-param>
<!-- -->
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>de.vogella.first.MyRequestFilter</param-value>
</init-param>
<!-- -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>

[/XML]

Grüße
Kosta
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben