Una forma sería la implementación de un Filter
Por ejemplo:
package package;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FilterImplementation implements Filter
{
public void init(FilterConfig filterConfig) throws ServletException {...}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
// if you detect an illegal request, throw an exception or return without calling chain.doFilter.
chain.doFilter(request, response);
}
public void destroy() {...}
}
añada lo siguiente a web.xml:
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>package.FilterImplementation</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
EDITAR
Todo lo necesito saber sobre whi La página ch se está solicitando en el parámetro request
. El tipo de parámetro es ServletRequest
sin embargo, casi siempre será un HttpServletRequest
por lo que se puede hacer lo siguiente:
if (request instanceof HttpServletRequest)
{
HttpServletRequest hrequest = (HttpServletRequest) request;
String uri = hrequest.getRequestURI(); // you should be able to just use this
String uri = hrequest.getRequestURL(); // otherwise there are more in-depth fields
}
¿Cómo puedo obtener la página solicitada? – shay