- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个Filter必须实现javax.Servlet.Filter接口,即实现下面的三个方法: (1)doFilter(ServletRequest, ServletResponse, FilterChain)。用来实现过滤行为的方法。引入的 FilterChain 对象提供了后续Filter所要调用的信息。 (2)init(FilterConfig) (3)destroy() 2)在web.xml中进行配置 ??? filter filter-name 自己取,但要和filter-mapping中的对应 filter-name filter-class Filter类的全限定名 /filter-class init-param param-name.../param-name param-value.../param-value init-param ??? /filter 在程序中通过FilterConfig.getInitParameter(name)取 ??? filter-mapping filter-name 和filter中的对应 /filter-name url-pattern Filter所限制访问的资源路径 /url-pattern ??? /filter-mapping ??? 比如我们将url-pattern设为/ch5/*,那么我们在浏览器中访问/ch5下的 ??? 资源时Filter就会自动被调用 Filter的生命周期: ? 1)init(FilterConfig) ??? 由容器调用,并且只调用一次 ? 2)doFilter(ServletRequest,ServletResponse,FilterChain) ??? 访问限定资源时,被调用,会被调用多次,注意考虑多线程问题, ??? 处理方式和Servlet中的一样 ? 3)destroy() ??? 由容器调用,并且只调用一次 FilterChain.doFilter(ServletRequest,ServletResponse):可以认为是处理请求和 ? 响应的分界限,在chain.doFilter(...)之前处理请求,在chain.doFilter(...)之后 ? 处理响应 ? 注意:一旦写了Filter一定要在Filter.doFilter(...)中调用FilterChain.doFilter() ? 方法,将请求交由其他资源继续处理 编码转换: ? request.setCharacterEncoding(UTF-8); ? chain.doFilter(request, response); ? response.setCharacterEncoding(UTF-8); ? 过滤的url: /* ? 相同的资源可以被多个Filter过滤,Filter的执行顺序取决于web.xml中配置的 ? filter-mapping的顺序 * 第三章 Servlet编程 * Session什么时候失效? 1:程序中调用HttpSession.invalidate()方法;??? 2:Session过期,在Session的最大有效时间以外; ??? 3:关闭应用服务器。 设置Session的有效时间: ??? 1:HttpSession.setMaxInactiveIntervale(int second) 单位秒 ??? 2:在web.xml中进行配置 ??? session-conf session-timeout.../session-timeout!-- 单位分钟 -- ??? /session-conf * 第三章 Servlet编程 * 编程中经常使用的HttpSession 接口方法有以下几种: isNew()。如果客户机还不知道会话,则返回true。如果客户机已经禁用了Cookie,则会话在每个请求上都是新的。 getId()。返回包含分配给这个会话的唯一标识的字符串。在使用URL 改写以标识会话时比较有用。 setAttribute()。使用指定的名称将对象绑定到这个会话 getAttribute()。返回绑定到此会话的对象(带有指定名称)。 setMaxInactiveInterval()。指定在 Servlet 使该会话无效之前客户机请求间的时间。负的时间表示会话永远不会超时。 invalidate()。终止当前会话,并解开与它绑定的对象。 * 第三章 Servlet编程 * P57 :Servlet 中使用HttpServletRequest 对象的getSession()方法来取得当前的用户会话。
文档评论(0)