同事说过滤器只能过滤http请求中参数的值不能过滤参数的名称,是这样吗?为啥不能过滤参数名称呢?
可以吧 过滤的东西都是自己设定的 如果if里面你去getattribute这个参数 结果不就是能或者不能 不就可以操作了 至少我认为是这样的
if(request.getAttribute("userName")!=null){
//写内容
}
过滤器是一种设计模式,与过滤器相关的还有两个名词:filter chain、上下文。
其中上下文是过滤器过滤点上的切面,如果说是servlet中的过滤器链,我们可以中上上下文拿到request、response、chain。
所以是可以过滤参数的,这就是servlet filter chain的设计目标。
你指的是servlet的过滤器吧,如果你认真研究下过滤是使用,你会发现,当然是可以的,通过过滤器可以得到request和response对象,这两个对象分别是对
浏览器(请求)数据的一个封装,和响应数据的封装。但凡能够通过request获取的数据,都可以通过相关业务逻辑进行拦截控制。比如你想对包含指定参数名称
的请求进行过滤,那也是可以的,只要通过request。geteparameter看看得到的参数是否为空就可以了
我觉得应该有可行性,一般通过参数名才能拿到参数的具体值,如果参数名不是你想要的,可以把request中所有参数名都拿出来,然后找特定的参数名,没有的话拦截,也是可以实现的
想过滤的话当然可以,获取request中的参数名,删除修改等过滤操作都可以