【Jsp精品源码栏目提醒】:以下是网学会员为您推荐的Jsp精品源码-【精品】jsp 高级应用 - 大学课件,希望本篇文章对您学习有所帮助。
Web应用程序设计第9章
JSP高级程序设计 《
JSP程序设计教程》课件 制作人:王国辉第 9章
JSP高级程序设计 1
JSP与Ajax技术 2 EL表达式及标签 3
JSP框架技术 1
JSP与Ajax技术——1.1什么是Ajax技术 Ajax是Asynchronous JavaScript and XML的缩写, 意思是异步的JavaScript与XML。
Ajax并不是一门新的语 言或技术,它是JavaScript、XML、CSS、DOM等多种已 有技术的组合,它可以实现客户端的异步请求操作。
这样 可以实现在不需要刷新页面的情况下与服务器进行通信, 从而减少了用户的等待时间。
客 户 用户界面 客 用户界面 端 户 JavaScript调 HTMLCSS数据 端 用 HTTP HTMLCSS数据 (S)协 Ajax引擎HTTP请求 议传输 HTTP XML数据 HTTP请求 (S)协议 Web服务器 服 传输 服 务 Web和/或XML服务器 务 器 器 端 端 数据存储,后端处理,继承系统 数据存储,后端处理,继承系统 1.2 Ajax使用的技术 XMLHttpRequest是Ajax技术之中最核心的技术,它是一个具有应用程序接口的JavaScript对象,能够使用超文本传输协议(HTTP)连接一个服务器。
通过XMLHttpRequest对象,Ajax可以像桌面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新页面,也不用每次都将数据处理的工作交给服务器来做,这样既减轻了服务器负担又加快了响应速度、缩短了用户等待的时间。
XML是Extensible Markup Language(可扩展的标记语言)的缩写,它提供了用于描述结构化数据的格式。
XMLHttpRequest对象与服务器交换的数据,通常采用XML格式,但也可以是基于文本的其他格式。
DOM是Document Object Model(文档对象模型)的缩写,是表示文档(如HTML文档)和访问、操作构成文档的各种元素(如HTML标记和文本串)的应用程序接口(API)。
W3C定义了标准的文档对象模型,它以树形结构表示HTML和XML文档,定义了遍历树和添加、修改、查找树的节点的方法和属性。
在Ajax应用中,通过JavaScript操作DOM,可以达到在不刷新页面的情况下实时修改用户界面的目的。
课件制作人:王国辉 1.2 Ajax使用的技术-客户端处理var http_request falsefunction createRequest //1、创建Ajax核心XMLHttpRequest对象实例 if window.XMLHttpRequest // Mozilla浏览器 http_request new XMLHttpRequest else if window.ActiveXObject // IE浏览器 try http_request new ActiveXObjectMsxml2.XMLHTTP catch e try http_request new ActiveXObjectMicrosoft.XMLHTTP catch e function checkName//2、事件处理中启动Ajax异步请求,并注册Ajax响应的回调函数 createRequest//创建XMLHttpRequest对象 http_request.onreadystatechange callback //注册Ajax响应的回调函数 http_request.openPOST actionurl true http_request.send //发送Ajax异步请求function callback //3、Ajax响应的回调函数,在正常响应后处理反馈数据 if http_request.readyState 4 // 判断请求状态:完成 if http_request.status 200 // 正常响应 var nameflghttp_request.responseText //获取反 //TODO:处理反馈数据 else alertProblem: http_request.statusText 1.2 Ajax使用的技术 - XMLHttpRequest对象的常用方法方法 说 明 设置进行异步请求目标的URL、请求方法以及其他open 参数信息send 向服务器发送请求 1.2 Ajax使用的技术 - XMLHttpRequest对象的常用属性属性 说 明 每个状态改变时都会触发这个事件处理器,通常会onreadystatechange 调用一个JavaScript函数 请求的状态。
有以下5个取值:readyState 0 未初始化” 1 正在加载” 2 已加载” 3 交互中” 4 完成responseText 服务器的响应,表示为字符串 服务器的响应,表示为XML,这个对象可以解析为responseXML 一个DOM对象 返回服务器的HTTP状态码,如: 200 成功 202 请求被接受,但尚未成功status 400 错误的请求 404 文件未找到 500 内部服务器错误statusText 返回HTTP状态码对应的文本 1.2 Ajax使用的技术-服务器端处理//获取请求:参数中的中文,要进行编码转换String namenew Stringrequest.getParametername.getBytesISO-8859-1gb2312//进行响应:默认用UTF-8可以处理中文,需要先设置格式再获取out对象//返回xmlresponse.setContentTypetext/xmlcharsetUTF-8PrintWriter out response.getWriterifname.equals李晓华 out.print1else out.print0 //返回文本response.setContentTypetext/htmlcharsetUTF-8PrintWriter out response.getWriterifname.equals李晓华 out.print1else out.print0 1.2 Ajax使用的技术 -服务器端处理中文编码问题 (1)请求参数中有中文 ① 当接收使用GET方法提交的数据时,要将编码转换为GB2312 String namenew Stringrequest.getParametername.getBytesISO- 8859-1gb2312 ②当接收使用POST方法提交的数据时,要将编码转换为UTF-8 String namenew Stringrequest.getParametername.getBytesISO- 8859-1 UTF-8 注意:实践过程中发现全部都转换成GB2312才有效(2)返回到responseText或responseXML的值中包含中文response.setContentTypetext/htmlcharsetUTF-8 response.setContentTypetext/xmlcharsetUTF-8 注意:先设置编码格式再获取out对象 课件制作人:王国辉 2 EL表达式及标签 表达式语言简称为EL(Expression Language为不熟悉Java语言的页面开发人员提供了一个开发
JSP应用程序的新途径。
EL表达式具有以下特点:( 1)在EL表达式中可以获得命名空间(PageContext对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他内置对象);(2)表达式可以访问一般变量,还可以访问JavaBean类中的属性以及嵌套属性和集合对象;(3)在EL表达式中可以执行关系、逻辑和算术等运算;(4)扩展函数可以与Java类的静态方法进行映射;(5)在表达式中可以访问
JSP的作用域(request,session,application以及page) 2 EL表达式及标签 JSTL的全称是JavaServer Pages Standard Tag Library,给 Java Web开发人员提供一个标准的通用的标签库。
通过JSTL,可 以取代传统
JSP程序中嵌入Java代码的做法,大大提高程序的可维 护性。
JSTL主要包括以下5种标签库: (1)核心标签库 (2)格式标签库 (3)SQL标签 (4)XML标签库 (5)函数标签库 自定义标签是程序员自己定义的
JSP语言元素,它的功能类似于
JSP自带的等标准动作元素。
实际上自定义标签就是一个扩展的Java类,它是运行一个或者两个接口的JavaBean。
当多个同类型的标签组合在一起时就形成了一个标签库。
使用自定义标签可以加快Web应用开发的速度,提高代码重用性,使得
JSP程序更加容易维护。
引入自定义标签后的
JSP程序更加清晰、简洁、便于管理维护以及日后的升级。
3
JSP框架技术 Struts框架是Apache组织的一个开放源代码项目,它是采用JavaServlet和
JSP技术来构建基于MVC体系结构的Web应用程序的框架。
Struts框架具有良好的架构和设计、可重用、模块化、扩展性强等特点,因此已经被广泛应用于Web应用开发。
Spring是一个开源的框架,能够降低开发企业应用程序的复杂性,可以使用Spring替代EJB开发企业级应用。
它以IoC(反向控制)和AOP(面向切面编程)两种先进的技术为基础,完美地简化了企业级开发的复杂度 Java是一种面向对象的编程语言,但是通过JDBC方式操作数据库, 运用的是面向过程的编程思想,为了解决这一问题,提出了对象—关系 映射(Object Relational Mapping,ORM)模式。
通过ORM模式,可以 实现运用面向对象的编程思想操作关系型数据库。
Hibernate技术为ORM 提供了具体的解决方案,实际上就是将Java中的对象与关系数据库中的 表做一个映射,实现它们之间自动转换的解决方案。