Jeśli bieżące żądanie pochodzi z "wewnątrz serwera aplikacji" przekazującego lub dołączającego, serwer aplikacji powinien zachować informacje o żądaniu jako atrybuty żądania. Konkretne atrybuty i ich zawartość zależą od tego, czy robisz forward lub include.
Dla <jsp:include>
, oryginalny rodzic URL zostaną zwrócone przez request.getRequestURL()
oraz informacje o dołączonego stronie będzie można znaleźć w następującym wniosku atrybuty:
javax.servlet.include.request_uri
javax.servlet.include.context_path
javax.servlet.include.servlet_path
javax.servlet.include.path_info
javax.servlet.include.query_string
Dla <jsp:forward>
, nowy adres URL zostanie zwrócony przez request.getRequestURL()
, a informacje o pierwotnym żądaniu znajdują się w następujących atrybutach żądania:
javax.servlet.forward.request_uri
javax.servlet.forward.context_path
javax.servlet.forward.servlet_path
javax.servlet.forward.path_info
javax.servlet.forward.query_string
Zostały one przedstawione w punktach 8.3 i 8.4 specyfikacji serwletu 2.4.
Należy jednak pamiętać, że te informacje są zachowywane tylko w przypadku żądań wysłanych wewnętrznie. Jeśli masz zewnętrzny serwer WWW lub wysyłany poza bieżący kontener, wartości te będą miały wartość null. Innymi słowy, możesz nie mieć możliwości znalezienia oryginalnego adresu URL żądania.
odpowiedź w link poniżej zdecydowanie komuś pomóc. [http://stackoverflow.com/questions/8024344/user-login-with-jsf-2-0/39379256#39379256](http://stackoverflow.com/questions/8024344/user-login-with-jsf -2-0/39379256 # 39379256) –