maybe a Filter helps you since you can know the remoteIP from the httprequest
http://java.sun.com/products/servlet/Filters.html
public class TestFilter implements Filter {
FilterConfig config = null;
public void init(FilterConfig filterConfig) throws ServletException {
this.config = filterConfig;
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String ssoToken=null;
System.out.println("+++++++ENTRANDO AL FILTER DE WS++++++++");
System.out.println("+++++++IPLOCAL++++++++"+request.getLocalAddr());
System.out.println("+++++++HOSTLOCAL++++++++"+request.getLocalName());
System.out.println("+++++++IPREMOTE++++++++"+request.getRemoteAddr());
System.out.println("+++++++HOSTREMOTE++++++++"+request.getRemoteHost());
System.out.println("+++++++REMOTE USER++++++++"+request.getRemoteUser());
System.out.println("+++++++Filter chein++++++++");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("***despues de doFilter****");
}
public void destroy() {
config = null;
}
}