import java.io.ioexception;import java.util.stringtokenizer;import javax.servlet.filter;import javax.servlet.filterchain;import javax.servlet.filterconfig;import javax.servlet.servletexception;import javax.servlet.servletrequest;import javax.servlet.servletresponse;import javax.servlet.http.httpservletresponse;public class ipfilter implements filter { private filterconfig config; public final static string ip_range = "192.168"; public ipfilter() { } public void init(filterconfig filterconfig) throws servletexception { this.config = filterconfig; } public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception { string ip = request.getremoteaddr(); httpservletresponse httpresp = null; if (response instanceof httpservletresponse) httpresp = (httpservletresponse) response; stringtokenizer toke = new stringtokenizer(ip, "."); int dots = 0; string byte1 = ""; string byte2 = ""; string client = ""; while (toke.hasmoretokens()) { ++dots; //if we've reached the second dot, break and check out the indx // value if (dots == 1) { byte1 = toke.nexttoken(); } else { byte2 = toke.nexttoken(); break; } }//while //piece together half of the client ip address so it can be compared // with //the forbidden range represented by ipfilter.ip_range client = byte1 + "." + byte2; if (ip_range.equals(client)) { httpresp.senderror(httpservletresponse.sc_forbidden, "that means goodbye forever!"); } else { chain.dofilter(request, response); } }// dofilter public void destroy() { /* * called before the filter instance is removed from service by the web * container */ }}