Po angielsku nie potrafisz?
javax.servlet.Filter napisał(a)
A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.
Filter pozwala odpalać kod filtrujący na żądaniach albo odpowiedziach. Interesują nas tu żądania.
javax.servlet.Filter napisał(a)
Examples that have been identified for this design are
- Authentication Filters
Yeah, właśnie o uwierzytelnianie nam chodzi.
javax.servlet.Filter napisał(a)
The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. The FilterChain passed in to this method allows the Filter to pass on the request and response to the next entity in the chain.
A typical implementation of this method would follow the following pattern:-
- Examine the request
- Optionally wrap the request object with a custom implementation to filter content or headers for input filtering
- Optionally wrap the response object with a custom implementation to filter content or headers for output filtering
- a) Either invoke the next entity in the chain using the FilterChain object (chain.doFilter()),
- b) or not pass on the request/response pair to the next entity in the filter chain to block the request processing
- Directly set headers on the response after invocation of the next entity in the filter chain.
Punkcik 4 jest najważnieszy. Mówi on że możemy odpalić chain.doFilter(), aby obsługa żądania przebiegła normalnie, albo nie wywoływać tej metody, aby zablokować dalsze obrabianie i zamiast tego np wywalić stronę o błędzie, wkleić do niej kontrolki do logowania, a nawet wkleić do HTMLa nasz docelowy link - dzięki temu po logowaniu nasz user od razu przejdzie do strony do której chciał przejść.
Jakbyś miał więcej trudności to polecam Google Translate.