Wpis z mikrobloga

@efem:

Usually, you'd like to use /* on a Filter only. It is able to let the request continue to any of the servlets listening on a more specific URL pattern by calling FilterChain#doFilter().


Czyli pewnie trzeba ogarnąć go pod filtr w tagach i . Ja korzystam ze Spring Security i tak własnie mam podpięty /*
  • Odpowiedz
@efem:
Wrzuć to w doFilter:
response.sendRedirect("link do stronki co chcesz miec np. google");
chain.doFilter(reqest, response);

być może trzeba będzie castować na HttpServlet
wywal jeszcze te linijki z i wtedy zobacz
  • Odpowiedz
@efem: Obiekt chain: chodzi o filterChain w twoim przypadku. W metodzie doFilter ograniczasz dostęp requestów do poszczególnych servletów i możesz też przekerowywać na poszczególne servlety (dlatego filtr łapie wszystko czyli /* ) - tyle że jak masz springa mvc to tego nie potrzebujesz bo zajmuje się tym dispatcher springa i moduł spring security. Może w twoim ćw chodzi własnie o to żebyś odkrył że nie można tego zrobić - szczerze
  • Odpowiedz
@efem: Sprawdziłem i po zmianie z / na /* zmienia się jedna rzecz: zamiast zrenderowanej przez jsp stronki dostaję jej kod źródłowy. Pisałeś, że dostałeś pustą stronę i nie było żadnego 404, więc działa ok - tylko pewnie trzeba by jakoś przekonfigurować springowego view resolvera. Ale nie chce mi się tego drążyć.
  • Odpowiedz
@efem: Ale ten przykład z książki nie tyczy się bezpośrednio Springa.
Jak dostajesz 404 to albo klasa servletu nie została znaleziona albo jakiś zasób statyczny. Dodatnie gwiazdki w mapowaniu zmienia też odniesienie do ścieżki URI jako względne. Może tu jest gdzieś błąd - posprawdzaj jakieś inne ewentualne url.
  • Odpowiedz