首页 > 编程知识 正文

corswebfilter(Java filter中的chain.doFilter详解)

时间:2023-05-05 11:34:48 阅读:123406 作者:4222

一. chain.doFilter作用1 .一般来说filter是一条链,只要配置在web.xml上就有几条。 一个个相连

请求过滤器1 -过滤器2 -过滤器3----请求资源。

2.chain.doFilter将请求转发到过滤器链中的下一个filter。 如果没有过滤器,那就是你请求的资源

2 .示例input.jsp提交用于提交输入的:后,过滤器检测名称和年龄。 正常的话提交给output.jsp,不正常的话提交给erroroutput.jsp。 其中,还有防止乱码问题的过滤器,该过滤器检测是否在一页上设定了字符编码,如果未设定则进行设定的1.input.jsp

formaction=' output.JSP ' name=' form ' method=' post ' tabletrtdname/tdtd input type=' text ' name=' name/TD ttd

过滤器描述/描述显示- nameencodefilter/display-name filter-nameencodefilter/过滤器-名称过滤器- cl ter filter-class init-param param-name编码/param-name param-value GB 2312/param-value/过滤器过滤器过滤器- name URL-pattern/*/URL-pattern/filter-mappingfilterdescription/description display-name myfilter 显示过滤器-名称过滤器- classervletbean.myfilter/filter-class/filter filter-mapping filter-name myfilter/filter

package servletbean; publicclassencodefilterimplementsfilter { publicvoiddofilter (servletrequestrequest,ServletResponse response,filterchainchal ) servlet exception (if (request.getcharacterencoding )==null (系统. out.) )。 request.setcharacterencoding; }chain.dofilter(request,response ); //到下一条链}公共void init (过滤器配置文件配置) throwsservletexception (this.config=fconfig; encoding=fconfig.getinitparameter (encoding ); //获取目标的编码格式}} 2.web.xml

package servletbean; import javax.swing.JOptionPane; publicclassmyfilterimplementsfilter { publicvoiddofilter (servletrequestrequest,servlet响应响应响应,filterchainchain response.setcharacterencoding (GB 2312 ); printwriter out=response.get writer (; String name=' '; String age=' '; int age1; name=request.getparameter (' name ); age=request.getparameter('age ); requestdispatcherdispatch=request.getrequest dispatcher (' error output.JSP ' ); if (name==null|| name==' '|name==' '|| age==null ({ joptionpane.show message dialog (null,),'输入用户名和年龄); dispatch.forward (请求,响应; 返回; } else { try } age1=integer.parseint (age; }catch(exceptione )//joption pane.show message dialog (null,'年龄必须是数字!' ); dispatch.forward (请求,响应; 返回; //如果页面错误,则在erroroutput.jsp中}//此处表示正确。 也就是说,他会回去找下一条链,但下面已经没有了,所以跳页面。 此跳转的页面是action=' output.JSP ' chain.do filter }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。