




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章Javaweb高级编程技术,本章主要内容介绍Javaweb的高级编程技术,主要内容包括访问权限控制、使用连接池技术优化数据库连接。本章任务:应用过滤器进行权限控制。使用连接池优化数据库连接。本章技能目标:掌握Javaweb高级编程技术。,访问权限控制,完成系统某些模块的受限访问。即当用户未登录访问位于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(Stringname)方法的行为特性。即:自定义一个MyServletRequest,该类继承HttpServletRequestWrapper包装类。具体代码如程序8-8所示。,2.编写过滤器类Encoding,在该类的doFilter方法中,在使用FilterChain对象将请求传递至下一个过滤器或调用目标资源前,将原request对象进行装饰。代码如程序8-9所示。,扩展Servlet3.0新特性,1.异步处理支持2.新增的注解支持3.可插性支持,使用连接池优化数据库连接,编写一个数据库连接工具类,该类所提供的功能与第5章提供的DBManager的功能一致,要求在其中使用数据库连接池来管理数据库连接,连接池使用TomcatDBCP。,实现过程:1编写JNDI配置代码在server.xml的标签或者context.xml的标签中插入子标签,以进行数据源的配置,代码如程序8-12所示:2.编写数据库连接工具类,代码如程序8-13所示:3.使用连接池,新知识点数据库连接池原理、TomcatDBCP,数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。,1基本概念及原理2服务器自带的连接池连接池关键问题分析:1并发问题2多数据库服务器和多用户3事务处理4连接池的分配与释放5连接池的配置与维护,TomcatDBCPTomcatDBCP,英文全称为TomcatDataBaseConnectionPool,是Tomcat提供的数据库连接池解决方案。在程序开发过程中,采用JDBC直接连接数据库比较耗费资源,而手动编写连接池又比较麻烦,因此可以采用一些服务器提供的连接池技术。,下边介绍TomcatDBCP使用的步骤:1配置DBCP数据源2编写DBCP连接池调用程序,扩展TomcatJDBCConnectionPool,1Tomcatjdbcpool简介Tomcat在7.0以前的版本都是使用commons-dbcp做为连接池的实现,但是dbcp饱受诟病,原因有:(1)dbcp是单线程的,为了保证线程安全会锁整个连接池(2)dbcp性能不佳(3)dbcp太复杂,超过60个类(4)dbcp使用静态接口,在JDK1.6编译有问题(5)dbcp发展滞后,2.Tomcat中直接使用的方法:(1)数据源配置,代码如程序8-14所示.(2)异步获取连接的方法,代码如程序8-15所示.(3)在独立的应用中使用,代码如程序8-16所示.,小结,本章主要介绍
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药用植物学与生药学试题及答案
- 2025年航空服务人员安全意识培训试题及答案解析
- 2025年航空飞机维修工艺评估师新员工岗位专业知识笔试题目及答案
- 2025至2030年中国双层便当盒市场分析及竞争策略研究报告
- 安徽中医考试题库及答案
- n3护士考试试题及答案问答
- 环境敏感区打井施工安全合同
- 金融资产交易担保合同
- 城市基础设施建设债券担保协议范本
- 金融服务合同风险预警与应急处置范例合同
- 2024年全国职业院校(中职组)技能大赛(植物嫁接)赛项考试题库
- 《江姐》教案-中职语文高一(高教版2023基础上册)
- 公司中小型会议策划方案
- T/CCT 017-2024中低温煤焦油
- 《中国传统文化》课件:佛教思想及其人生模式
- 医师多点执业协议书
- DB65∕T 3952-2016 反恐怖防范设置规范 学校
- 城市路灯照明节能改造技术方案及案例分析报告
- 风电居间协议合同协议
- 2025-2030中国偏头痛药行业市场发展趋势与前景展望战略研究报告
- 2025南宁市隆安县辅警考试试卷真题
评论
0/150
提交评论