一、Servlet过滤器基础
Servlet过滤器是一个小型的Web组件,能拦截请求和相应,主要用来完成一些通用的操作。比如编码的过滤,判断用户的登陆状态等等。Servlet过滤器的适用场合:
A.认证过滤
B.登录和审核过滤
C.图像转换过滤
D.数据压缩过滤
E.加密过滤
F.令牌过滤
G.资源访问触发事件过滤
二、Servlet过滤器接口的构成:
所有的Servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有3个过滤器类必须实现的方法:
- init(FilterConfig cfg) 这是Servlet过滤器的初始化方法,性质等同与servlet的init方法。
- doFilter(ServletRequest,ServletResponse,FilterChain) 完成实际的过滤操作,当请求访问过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器
- destroy() Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。,性质等同与servlet的destory()方法。
三、Servlet过滤器的创建步骤:
A.实现javax.servlet.Filter接口的servlet类
B.实现init方法,读取过滤器的初始化函数
C.实现doFilter方法,完成对请求或过滤的响应
D.调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应
F.在web.xml中配置Filter
四、Filter体系结构及应用:
1、FilterConfig接口:
public abstract String getFilterName();
public abstract ServletContext getServletContext();
public abstract String getInitParameter(String s);
public abstract Enumeration getInitParameterNames();
2、FilterChain接口
由容器实现,容器将其实例作为参数传入过滤器对象的doFilter方法中。过滤器对象使用FilterChain对象来调用过滤链中下一个过滤器。
public abstract void doFilter(request,response);
2.使用过滤器处理中文问题
当用用户登陆页面输入帐号时,如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!将ISO-8859-1转码为GBK的那段代码!
3.使用过滤器认证用户:
每个过滤器也可以配置初始化参数,可以将不需要过滤的地址配置到这个Filter的配置参数中,过滤时,如果请求地址在配置参数中,则放行,这样就避免了在程序中硬编码。每个Filter中初始化时,都可以得到配置对象,在Filter中配置二个不需要过滤的地址,一个是登陆页面,一个是执行登陆认证的servlet;
五、Servlet监听器
1、Servlet监听器概述
类似与Swing界面应用开发,Servlet也可以创建监听器,以对Servlet容器,或Servlet中以象的事件做出反应。Servlet监听器主要有以下几种:
ServletRequestListener ,ServletRequestAttributeListener,
HttpSessionActivationListener ,HttpSessionBindingListener ,
HttpSessionAttributeListener,HttpSessionListener,
ServletContextListener等等。
这些监听器主要用来监听session,request,application这三个对象里存取数据的变化。
与过滤器一样,监听器需要在web.xml中声明:
<listener>
<listener-class>实现类的完整包路径</listener-class>
</listener>
2、监听器的作用
更加方便的控制application、session和request对象发生的特定事件,并对这些事件做集中处理。
分享到:
相关推荐
JAZZ Web基础组件开发是Web应用程序开发领域中的一个重要概念,尤其在企业级软件开发中。JAZZ项目由IBM发起,旨在提供一个开放、可扩展的平台,用于协作式软件开发。它提供了多种工具和服务,包括需求管理、配置管理...
Web组件:Web组件基础概念.docx
《深入理解Web弹层组件Layer:打造丰富友好的交互体验》 在Web开发领域,用户界面的友好性和交互性是衡量一个网站或应用质量的重要标准。Layer,作为一款备受好评的Web弹层组件,以其全面的功能和易用性赢得了...
3. **Web_Widgets_v1.1.rplib**:这是一个早期版本的Web组件库,版本号为1.1,可能包含了一些基础的Web设计元素。虽然版本较早,但它可能包含一些经典或者通用的组件,对于需要复古风格或者基础功能的原型设计仍然有...
1. java.util.Timer类和TimerTask类:这是Java标准库中最基础的定时器组件。Timer创建一个后台线程,TimerTask是可调度的任务。通过调用Timer的schedule方法,可以在指定时间或周期执行TimerTask。 2. javax.servlet...
【鸿蒙Web组件使用示例Demo】是基于HarmonyOS操作系统的一个开发项目,它展示了如何在ArkTS API9版本中利用Stage模式来有效地构建和管理Web组件。HarmonyOS是华为推出的面向全场景的分布式操作系统,旨在提供跨平台...
IIS不仅提供了基础的Web服务,还支持ASP(Active Server Pages)、JAVA、VBscript等动态网页技术,允许开发者创建交互式的网页应用。此外,IIS集成了FRONTPAGE(带有编辑环境的界面)、INDEX SERVER(全文检索)和...
在深入研究这份指南之前,读者需具备一定的J2EE Web技术基础,如servlet和JSP页面的使用知识。此外,理解Web应用程序框架体系结构及Sun Java Studio Enterprise 7开发环境对于充分利用这些组件至关重要。 ### 相关...
WEB打印组件是一种在Web环境下实现打印功能的技术,它允许用户在网页上直接进行文档或数据的打印操作,而无需下载或安装额外的软件。这种组件通常由JavaScript、HTML和CSS等Web技术构建,以实现与浏览器的兼容性和跨...
然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大规模应用也在急速兴起。 第1 章 memcached的基础 第2章 理解memcached的内存存储 第3 章 memcached的删除机制和发展方向 第4 章 ...
总结,AntDesign3.0.x的Axure Web端组件库为设计师提供了全方位的UI组件支持,无论是基础的界面元素还是复杂的交互组件,都能够满足设计需求。通过熟练掌握和应用这些组件,设计师可以在短时间内构建出功能完备、...
Apache Web组件,特别是Jakarta ...总之,Apache Web组件为Java Web开发提供了丰富的功能库,使得开发者可以更加专注于业务逻辑,而不是基础功能的实现。熟练掌握这些组件的使用,将极大地提升开发效率和代码质量。
1. **基本组件**:按钮、文本输入框、复选框、单选按钮、切换开关等,这些都是网页和桌面应用中最基础的交互元素。 2. **导航组件**:包括导航栏、面包屑、侧边栏、下拉菜单等,用于帮助用户在页面间或应用内进行...
1. **Vue实例**:组件的基础是Vue实例,它是Vue应用的入口点。在这个消息组件中,Vue实例可能包含数据模型(如消息列表、用户信息等)和方法(如加载、发送、删除消息)。 2. **组件化**:VueJS的强大之处在于其...
了解这些组件及其相互作用是进行Web测试的基础。 Web系统的运作离不开网络协议,其中最核心的是TCP/IP协议族。TCP(传输控制协议)保证数据的可靠传输,而IP(互联网协议)负责数据包的路由。在Web应用中,HTTP(超...
【Java Web常用实用组件】指的是在开发Java Web应用程序时经常使用的工具和库,这些组件能够提升开发效率,增强用户体验。本章重点介绍了如何在JSP中集成和使用在线编辑器,特别是CKEditor。 CKEditor是一个广泛...
原生态开发模式的 Web UI 组件库是一种专为前端开发者设计的工具集合,它强调遵循Web标准和最佳实践,以实现高效、灵活且易于维护的网页界面构建。在这个组件库中,layui-main作为核心文件,可能包含了整个框架的...
在React-Baseweb中,这些基础组件是根据Web设计的最佳实践来创建的,旨在提供一致的视觉样式和交互体验。 1. 设计原则:React-Baseweb遵循了几项关键设计原则,包括可访问性(Accessibility)、响应式布局...
1. **XML Web服务基础** XML Web服务基于开放标准,如SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现和集成)。SOAP用于在Web服务之间传递消息,WSDL描述服务的功能和调用方式,而UDDI...