Java Reference
In-Depth Information
LISTING 8‐2: Dei ne the Servlet Filter
<?xml version= "1.0" encoding= "UTF‐8" ?>
<web-app xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
xmlns=" http://java.sun.com/xml/ns/javaee"
xmlns:web=" http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<filter>
<filter‐name>LineSsoFilter</filter‐name>
<filter‐class>com.devchronicles.interceptor.filter</filter‐class>
</filter>
<filter‐mapping>
<filter‐name>SecurityFilter</filter‐name>
<url‐pattern>/*</url‐pattern>
</filter‐mapping>
</web-app>
It is even easier to implement i lters using Servlet 3.0 like in Listing 8‐3 because it uses annotations
and does not need XML coni guration.
LISTING 8‐3: Simple implementation of a servlet i lter in Servlet 3.0
package com.devchronicles.interceptor.filter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
@WebFilter(filterName = "TimeOfDayFilter", urlPatterns = {"/*"})
public class SecurityFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
Log.info(((HttpServletRequest) request).getRemoteAddr());
//perform some security check
}
}
Search WWH ::




Custom Search