[理学]1_第5章_Serlet_4.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]1_第5章_Serlet_4

5)禁用激活器servlet 指定servlet名过滤 利用filter和filter-mapping指示名为SomeFilter的过滤器应用到名为SomeServlet的servlet filter ?filter-nameSomeFilter/filter-name ?filter-classsPackage.SFilterClass/filter-class /filter filter-mapping ??????filter-nameSomeFilter/filter-name ??????servlet-nameSomeServlet/servlet-name /filter-mapping 5)禁用激活器servlet 指定servlet的URL模式过滤 用servlet和servlet-mapping运行URL?? http://host/webAppPrefix/Blah 调用SomeSerlvet filter ?filter-nameSomeFilter/filter-name ?filter-classsPackage.SFilterClass/filter-class /filter filter-mapping ??????filter-nameSomeFilter/filter-name ????? url-pattern/Blah/url-pattern /filter-mapping 5)禁用激活器servlet 禁用激活器Servlet servlet ??servlet-nameError/servlet-name ??servlet-classsomePackage.ErrorServlet/servlet-class /servlet ?servlet-mapping ??servlet-nameError/servlet-name ??url-pattern/servlet/*/url-pattern /servlet-mapping 5.8.5 过滤器生命周期-对请求的过滤 A.Servlet容器创建一个过滤器实例 B.过滤器实例调用init方法,读取过滤器初始化参数 C.过滤器实例调用doFilter方法,根据初始化参数的 值判断该请求是否合法 D.如果该请求不合法则阻塞该请求 E.如果该请求合法则调用chain.doFilter方法将该请 求向后续传递 5.8.5 过滤器生命周期-对响应的过滤 A.过滤器截获客户端的请求 B.重新封装ServletResponse,在封装后的ServletResponse中 提供用户自定义的输出流 C.将请求向后续传递 D.Web组件产生响应 E.从封装后的ServletResponse中获取用户自定义的输出流 F.将响应内容通过用户自定义的输出流写入到缓冲流 G.在缓冲流中修改响应的内容后清空缓冲流,输出响应内容 5.8.6 过滤器使用注意事项 A.由于Filter、FilterConfig、FilterChain都是位于javax.servlet包下,并非HTTP包所特有的,所以其中所用到的请求、响应对象ServletRequest、ServletResponse在使用前都必须先转换成HttpServletRequest、HttpServletResponse再进行下一步操作。 B.在web.xml中配置Servlet和Servlet过滤器,应该先声明过滤器元素,再声明Servlet元素 5.8.7 过滤器示例-解决中文乱码 Servlet对中文支持不好(数据库存储) 提交 5.8.7 过滤器示例-解决中文乱码 Servlet中转码方法: String name = request.getParameter(param_name); name = new String( name.getBytes(ISO8859_1) ); 缺点: 1.从request中取出的每个中文变量都要转换。 2.不能动态的改变编码。 public class MyFilter implements Filter { private String tarEncoding = gb2312; protected FilterConfig filterConfig; public void init(FilterConfig config) throws ServletException { this.filterConfig = config; this.tarEncoding = config.getInitParameter(encoding); }

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档