欢迎来到天天文库
浏览记录
ID:45027439
大小:209.50 KB
页数:11页
时间:2019-11-07
《11Servlet中的过滤器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Servlet中的过滤器主讲教师:关东升si92@sina.com概述JSP和Servlet相同点JSP和Servlet的不同点:Servlet比较适合作为控制类组件,比如视图控制器等。另外,Servlet还可以作为过滤器、监听器等。Servlet不仅可以动态生成HTML内容,还可以动态生成图形。Servlet处理一些后台业务。JSP则作为显示组件。过滤器过滤器:对客户的请求进行过滤处理,当它处理完成后,它会交给下一个过滤器处理,就这样,客户的请求在过滤链里一个个处理,直到请求发送到目标。过滤器当过滤器处理成功后,把提交的数据发送到最终目标;如果过
2、滤器处理不成功(比如客户端的会话无效),它将把视图派发到指定的错误页面。可以看出,过滤器就像一扇门,客户端要和服务端的某个目标交互,必须通过这扇门。用过滤器解决中文乱码问题问题产生JSP和Servlet对中文支持不好提交解决方法转码方法:Stringname=request.getParameter(param_name);name=newString(name.getBytes("ISO8859_1"));缺点:1.从request中取出的每个中文变量都要转换。2.不能动态的改变编码。解决方法过滤器方法:过滤器类(CharacterEncodin
3、gFilter):实现javax.servlet.Filter类覆盖doFilter方法publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{if(ignore
4、
5、request.getCharacterEncoding()==null){if(encoding!=null){request.setCharacterEncoding(encoding);}}chain.d
6、oFilter(request,response);}解决方法解决不能动态的改变编码:在过滤器类(CharacterEncodingFilter):覆盖init方法,这个方法从web.xml文件中读取配置信息。覆盖构造方法中初始化默认编码覆盖destory方法释放资源解决方法解决不能动态的改变编码:配置web.xml文件配置编码方式配置是否使用这个配置配置要过滤的url问题解决了!
此文档下载收益归作者所有