2016-06-27 13 views
0

Ich habe stundenlang nach den Antworten gesucht und alle Antworten verwendeten .htaccess in PHP.index.html root in Java (web.xml?)

Allerdings entwickle ich dies in Java EE, und ich fragte mich, ob es eine Möglichkeit gibt, zu tun, was ich unten ohne die Verwendung von Bibliotheken wie UrlRewriterFilter zu beschreiben.

Ok .. Also, wenn ein Benutzer auf www.mywebsite.com/index.html zu bekommen, möchte ich die URL als www.mywebsite.com gesehen werden

anschauliches Beispiel könnte sein www.yahoo.com/ index.html und die Seite leitet es an www.yahoo.com weiter

Gerade jetzt, wenn ich www.mywebsite.com eintippe, kann ich die index.html ohne das in der Verbindung sehen, aber wenn ein Benutzer WWW eingibt. mywebsite.com/index.html im Browser bleibt es so in URL.

Ich habe versucht, dies in web.xml: aber es war ein

no-go im Voraus
<servlet> 
    <servlet-name>welcome</servlet-name> 
    <jsp-file>/</jsp-file> 
</servlet> 

<servlet-mapping> 
    <servlet-name>welcome</servlet-name> 
    <url-pattern>/index.html</url-pattern> 
</servlet-mapping> 

Danke.

Antwort

0

Eine Möglichkeit, dies zu tun, ist in der Servlet-Anwendung

'response.sendRedirect("protocol://www.mysite.com");' 

möchte ich aber nicht, dass dies als die HTTP-Request an den Client zurückgesendet wird und an den Server dann zurück, stattdessen eine empfohlene Weg ist ich würde versuchen,

ich würde stattdessen versuchen,

request.forward(); 

Die Syntax oben ist nicht richtig

Forward-API funktioniert anders, es ist eine interne Serverumleitung und die Anfrage wird nicht zurück an den Client gesendet.

http://www.javatpoint.com/sendRedirect()-method hat einige Informationen nicht sicher, wie tief das ist. Die Verwendung von Servlet-Filtern ist eine andere Möglichkeit, dasselbe zu erreichen, aber es sieht so aus, als ob es ein Overkill wäre, wenn das URL-Re-Write das Einzige ist, was Sie erreichen wollen. Hoffe, das hilft, aber das ist vielleicht nicht die beste Lösung.

+0

Vielen Dank! Ich werde einen Blick auf diese Route werfen und Sie später über das Ergebnis informieren. – RedA