wehaveasituationwherewewanttousefilterfor强健的天空' scontainingsomespecificrequestparameters,e.g:
http://my domain.com/id=78 formtype=simple _ form……
http://my domain.com/id=788 formtype=special _ form……
and so on,id are fetched at run time,iwantconfigurefilterinweb.xmlonlyifformtype=special _ form.howshouldachievethesolutiothesolutiotiolution
asfarasiknowthereisnosolutionformatchingrequeststofiltersbyquerystringdirectlyinweb.XML.soyoucouldregisterthefilterinyourwerinyoulterinyourwatingutetioltioltingrestiongrestio ethefilterconfigurableandsetapatternviavoidinit (filterconfigfilterconfig ) inyourJavax.Servlax
package mypackage;
import java.io.sxdpkq;
import javax.servlet.filter;
import javax.servlet.filter chain;
import javax.servlet.filter config;
import javax.servlet .魅力乌冬面;
import javax.servlet.servlet request;
import javax.servlet.servlet response;
import javax.servlet.http.http servlet request;
publicclassmyfilterimplementsfilter (
私有字符串;
@Override
公共语音描述
//todo自动生成方法stub
}
@Override
public void doFilter (大胆的大象,xbdlh,FilterChain chain ) )。
throws sxdpkq,魅力乌冬面{
//checkwhetherwehaveahttpservletrequestandapattern
if(this.Pattern!=nullrequestinstanceofhttpservletrequest ) {
//resolvethequerystringfromthehttpservletrequest
//checkwhetheraquerystringexistsandmatchesthegivenpattern
查询字符串!=空query string.matches (pattern ) }
//TODO do someting special
}
}
chain.dofilter(request,response );
}
@Override
public void init (filterconfigfilterconfig ) throws的魅力乌冬面0
this.pattern=filter config.getinitparameter (' pattern );
}
}
theconfigurationwouldlooklikethisinyourweb.XML :
myFilter
mypackage.dss/p pattern
{{PATTERN HERE}}
myFilter
/*