问题:复习及完善对filter的了解
filter是对请求和响应进行截取,有以下4种方式,request,forward,include,error;
request为默认方式,通常情况下设置为request
forward处理转发,但不处理请求
include处理包含目标资源的请求
error处理出现404错误的请求
org.springframework.web.filter.delegatingFilterProxy其主要作用是将web.xml中的filter与spring中的bean联系在一起,详细配置在spring中实现,而web.xml只装配使用它,
用法:web.xml中的filter名字要与spring中bean的名字相同。或者在web.xml中设置参数targetBeanName,对应spring中的bean名字
org.springframework.web.filter.CharacterEncodingFilter其主要作用是解决传输过程中乱码问题。主要有两个参数,encoding与forceEncoding,第一个为即将过滤到request中的数据设定字符集,如UTF-8等参数,第二个为boolean值,如果为true,则response的字符集与request相同
org.jasig.cas.security.RequestParameterPolicyEnforcementFilter 只要作用是检查request中的参数是否符合期望。主要有三个参数。
allowMultiValueParameters为boolean值,指定request.getparametermap返回的map中一个key只能对应0/1个对象
parametersToCheck 使用StringUtils.commaDelimitedListToSet() 指定set<string> 集合
charactersToForbid 指定禁止出现的字符串 类似parametersToCheck
onlyPostParameters 指定只能post出现的字符串 类似onlyPostParameters。该方法若出错均报IllegalArgumentException异常
org.springframework.web.context.ContextLoaderListener 启动web容器时自动加载applicationcontext,默认是在WEBINF下面,可由contextConfigLocation指定具体位置