Javaweb高级编程技术.ppt_第1页
Javaweb高级编程技术.ppt_第2页
Javaweb高级编程技术.ppt_第3页
Javaweb高级编程技术.ppt_第4页
Javaweb高级编程技术.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章 Java web高级编程技术,本章主要内容介绍Java web的高级编程技术,主要内容包括访问权限控制、使用连接池技术优化数据库连接。 本章任务: 应用过滤器进行权限控制。 使用连接池优化数据库连接。 本章技能目标:掌握Java web高级编程技术。,访问权限控制,完成系统某些模块的受限访问。即当用户未登录访问位于admin目录下的系统后台页面时,给出如图8-1所示的提示,当用户单击该提示对话框中的确定按钮后,跳转至如图8-2所示的登录页面。,实现过程: 1. 创建过滤器类FilterAdminLogin,放在src目录下的chapter8.filter包中,具体代码如程序8-1所示. 2. 在项目的web.xml文件中配置过滤器,如程序8-2所示.,3. 在WebContent的chapter8目录下创建admin目录,在admin目录创建后台主页exam8_1_index.jsp,见程序8-3所示: 4. 在chapter8目录下创建login目录,在login目录下创建登录页面exam8_1_ adminlogin.html,如程序8- 4所示:,新知识点Filter,Filter(过滤器)是在源数据和目的数据之间起过滤作用的中间组件。对Web应用来说,过滤器是一个驻留在服务器端的Web组件,它可以截取客户端和资源之间的请求与响应信息,并对这些信息进行过滤。,过滤器在Web开发中的一些主要应用如下: (1) 对用户请求进行统一认证; (2) 对用户的访问请求进行记录和审核; (3) 对用户发送的数据进行过滤或替换; (4) 转换图像格式; (5) 对响应内容进行压缩,减少传输量; (6) 对请求或响应进行加解密处理; (7) 触发资源访问事件。,2. 过滤器的实现 在javax.serlvet和javax.servlet.http包中提供了开发过滤器的相关API,其中过滤器类要实现的接口是javax.servlet.Filter,该接口的具体使用方法见节。 3. 过滤器的部署 在实现一个过滤器后,需要在部署描述文件web.xml中对过滤器进行配置,这是通过和元素来完成的。,过滤器的API 与过滤器开发相关的接口和类都包含在javax.serlvet和javax.servlet.http包中,接口和类主要有:javax.servlet.Filter接口、javax.servlet.FilterConfig接口、javax.servlet. FilterChain接口、javax.servlet.ServletRequestWrapper类、javax.servlet.ServletResponseWrapper类、javax.servlet. http.HttpServletRequestWrapper类、javax.servlet.http.HttpServletResponseWrapper类。,1. Filter接口 2. FilterConfig接口 3. FilterChain接口,处理字符编码的过滤器,任务:编写一个处理中文乱码的过滤器,该过滤器能够将所有请求参数(包括get和post方式提交的参数)的编码方式由“ISO-8859-1”改为“UTF-8”编码。,实现: 1. 根据Decorator(装修者)设计模式,对HttpServletRequest对象进行进一步装饰,在该类中改变其getParameter(String name)方法的行为特性。即:自定义一个MyServletRequest,该类继承HttpServletRequestWrapper包装类。具体代码如程序8-8所示。,2. 编写过滤器类Encoding,在该类的doFilter方法中,在使用FilterChain对象将请求传递至下一个过滤器或调用目标资源前,将原request对象进行装饰。代码如程序8-9所示。,扩展 Servlet 3.0新特性,1. 异步处理支持 2. 新增的注解支持 3.可插性支持,使用连接池优化数据库连接,编写一个数据库连接工具类,该类所提供的功能与第5章提供的DBManager的功能一致,要求在其中使用数据库连接池来管理数据库连接,连接池使用Tomcat DBCP。,实现过程: 1编写JNDI配置代码 在server.xml的标签或者context.xml的标签中插入子标签,以进行数据源的配置,代码如程序8-12所示: 2. 编写数据库连接工具类,代码如程序8-13所示: 3. 使用连接池,新知识点数据库连接池原理、Tomcat DBCP,1基本概念及原理 2服务器自带的连接池 连接池关键问题分析: 1并发问题 2多数据库服务器和多用户 3事务处理 4连接池的分配与释放 5连接池的配置与维护,Tomcat DBCP Tomcat DBCP,英文全称为Tomcat DataBase Connection Pool,是Tomcat提供的数据库连接池解决方案。在程序开发过程中,采用JDBC直接连接数据库比较耗费资源,而手动编写连接池又比较麻烦,因此可以采用一些服务器提供的连接池技术。,下边介绍Tomcat DBCP使用的步骤: 1配置DBCP数据源 2编写DBCP连接池调用程序,扩展Tomcat JDBC Connection Pool,1Tomcat jdbc pool简介 Tomcat 在 7.0 以前的版本都是使用 commons-dbcp 做为连接池的实现,但是dbcp饱受诟病,原因有: (1)dbcp 是单线程的,为了保证线程安全会锁整个连接池 (2)dbcp 性能不佳 (3)dbcp 太复杂,超过 60 个类 (4)dbcp 使用静态接口,在 JDK 1.6 编译有问题 (5)dbcp 发展滞后,2.Tomcat 中直接使用的方法: (1)数据源配置,代码如程序8-14所示. (2)异步获取连接的方法,代码如程序8-15所示. (3)在独立的应用中使用,代码如程序8-16所示.,小结,本章主要介绍了Java w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论