JBuilder2005 Servlet开发之过滤器

过滤器可以在请求到达JSP或Servlet之前或响应返回客户端之前添加一些额外的操作。如果有多个JSP页面和Servlet都需要进行一个相同或相似的操作,我们可以把这个操作抽取到一个Servlet过滤器中,并通过匹配路径截获感兴趣JSP或Servlet。

我们举几个典型的过滤器应用的例子,读者可以推而广之:

·编码转换

乱码问题困扰了不少的Web应用程序开发者,这是因为基于Java的Web应用程序可能运行于不同的Web应用程序器、操作系统平台或硬件服务器上,不同的环境有自己默认的编码类型,在数据的转换过程中不同的默认编码是乱码问题的始作俑者,所以在开发JSP时常常需要将数据进行编码转换。我们可以创建一个Servlet过滤器在请求进入服务程序前都进行编码转换。

·添加统一的标题或脚注

有些网页需要添加统一的标题头或脚注,可以通过Servlet过滤器在响应返回到客户端前给网页添加上统一的标题和脚注。

·进行安全的控制

登录系统后,一般都会将用户信息对象放入到session中,可以通过Servlet过滤器在请求进入JSP或Servlet前判断session中是否有用户信息对象,如果有,则说明用户已经登录,如果没有,则说明用户还没有登录,将请求重定向到登录页面。

本节所提供的Servlet过滤器就是为了实现安全控制,下面我们就来开发这个Servlet。

1.打开创建Servlet过滤器的向导。

通过File->New...->Web->双击Filter Servlet图标启动创建Servlet过滤器的向导,如下图所示:


图7 指定Servlet过滤器的名字

和创建标准的Servlet相似,在这步里指定过滤器的类名和包名。在Class name中输入LoginCheckFilter,包名依就为bookstore.servlet。按Next到下一步。

2.指定过滤器的路径匹配模式


图8 指定过滤器的匹配路径模式

·Name:logincheckfilter,指定过滤器的名字

·URL pattern:/*,指定过滤器路径匹配模式,这里我们使过滤器对所有的请求都进行过滤。

时间: 2024-12-30 09:46:54

JBuilder2005 Servlet开发之过滤器的相关文章

JBuilder2005 Servlet开发之开发必备

servlet 用Servlet可以创建协议.平台无关的Web应用程序,Applet运行于浏览器的JRE中,而Servlet则运行于Web应用服务器的Servlet容器中,Servlet没有用户图形界面,Servlet和Web应用服务器的Servlet容器交互以接收请求返回响应.请求最先由Web应用服务器的Servlet容器处理并传给Servlet,Servlet通过Web应用服务器返回响应给客户端.客户端程序可以使用任何可向Web应用服务器发送请求的语言开发. Servlet最大的优势在于它的

JBuilder2005 Servlet开发之自启动

servlet Servlet和JSP的一个重大的区别即是Servlet可以通过web.xml文件的配置让Servlet在Web容器启动时就自动启动Servlet.可以利用Servlet的这个特性不变化的数据事先加载到Web应用服务器中以便缓存使用. 假设,我们系统的用户在系统部署前就已经创建好,以后不常发生变化,那么我们可以在Web应用程序启动时就将其下载缓存到Web应用服务器内存中,如果用户发生变化可以手工调用这个Servlet进行刷新.下面我们就通过Servlet向导创建这个UserCac

JBuilder2005 Servlet开发之下载型

servlet|下载 在这节里,我们对welcome.jsp页面进行改造,在页面中添加一个链接,这个链接调用Servlet下载上节所记录的系统日志文件. 通过向导创建ExcelFileServlet 1.File->New...->Web->双击Standard Servlet图标,启动创建标准Servlet的向导. 指定Servlet类名为ExcelFileServlet,将包名设为bookstore.servlet,按Next到下一步. 2.选择覆盖doGet()处理方法. 开发之下

JBuilder2005 Servlet开发之程序改造

原登录模块的不足 在JBuilder 2005实战JSP开发专题中,我们完全用JSP技术实现了一个用户登录模块.它提供了一个登录的页面,在用户登录成功后转向欢迎页面,而登录失败后转向登录失败的页面,并且为每个页面提供了一个错误处理页面,当功能页面发生错误时,以一种友好的方式向用户报告错误.但这个模块还存在一些问题: 问题一:没有在每个JSP页面检验用户是否有登录 Web应用程序的JSP页面几乎都需要在验证用户的身份之后才可以访问,也即必须保证JSP页面处理请求之前用户已经确实登录系统了,否则应该

servlet和JSP过滤器Filter

js|servlet 或许,servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器.过滤器提供了某些早期服务器所支持的非标准"servlet链接"的一种功能强大且标准的替代品.过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上.过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息.在这之后,过滤器可以作如下的选择:l 以常规的方式调用资源(即,调用servlet或JSP页面).l

【JSP开发】过滤器Filter原理(转)

      过滤器就是在源数据和目的数据之间起过滤作用的中间件.        Web应用中,在处理请求时,经常有一些公共的工作,比如设置字符集.这样的工作需要写在每个页面,这样的写法费力且不好修改.使用过滤器就像在这些流程前加了一道拦,将需要进行的操作放到拦里执行,而所有经过这道拦的流程都会"被"执行该操作.            开发一个过滤器必须实现Java定义好的javax.servlet.Filter接口:       这一接口含有三个过滤器必须执行的方法: ·       

servlet开发初步

servlet Servlet是Java语言在WEB服务器端的一种应用技术,未来Servlet将可能彻底取代CGI.本讲座将具体介绍Servlet的概念.开发.调试以及相应的应用实例. 一.什么是Servlet? ·Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面. ·Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servle

Servlet开发入门(5) 取得初始化配置信息

在Servlet开发中要取得初始化参数用到了JSP内置对象中的config对象,此对象实际上就是ServletConfig对象的接口实例.这一篇文章讲解 Servlet初始化的参数的取得.就是在Servlet初始化的时候可以取得一个设置的参数. 初始化的方法可以使用init()方法来完成,在上一篇文章中也讲过了,init()是用来初始化一个Servlet程序的.在init()方法中可以传入一个ServletConfig的对象,此对象就是可以接受初始化配置参数的操作,因为所有的初始化参数都必须在w

Servlet开发入门(4) Servlet的生命周期

Servlet的开发标准来说,Servlet是有自己的小框架的,一个标准的Servlet程序要有完整的生命周期,生命周期是什么东西呢?我们来看一下标准的Servlet开发是怎样的. Servlet生命周期 生命周期,是一个程序存在的周期,Servlet由于受到容器的管理,所以容器来决定生命周期. Servlet程序是运行在服务器端的一段Java程序,其生命周期将受到WEB容器的控制,生命周期包括: 加载程序.初始化.服务.销毁.卸载五个部分 生命周期就是如上图所示的,它是一个程序的一个周期. 1