《第1章jsp概述概要》由会员分享,可在线阅读,更多相关《第1章jsp概述概要(51页珍藏版)》请在金锄头文库上搜索。
1、,1,主讲:吴凌云 微信:18568667899,JSP应用与 开发技术,2,课程的地位、先修课程,本课程是一门专业必修课程,它主要讲授如何使用JSP程序设计的原理、方法和技术开发基于B/S架构的动态网站。 先修课程:要求学习者具备一定的Java程序设计基础,因此必须先修Java程序设计;该课程需要操作数据库,因此必须先修数据库原理;另外由于牵涉网页的设计所以先修课还需要网页设计。,3,课程在专业课程体系中的地位,JSP,项目实训,4,本章学习目标: 了解软件编程体系 了解企业应用开发架构 掌握JSP基本概念 掌握JSP的知识体系 了解JSP的学习之路,5,关于教材,JSP(Java Serv
2、er Pages)是目前动态网站开发技术中最典型的一种。JSP继承了Java语言的优势,是一种与平台无关的开发技术,而Java技术也赋予了JSP为用户提供强大功能的技术支持。JSP实现了动态页面与静态页面的分离,脱离了硬件平台的束缚,提高了执行效率而逐渐成为因特网上的主流开发技术,已经越来越受到编程者的关注和喜爱。 JSP语言虽然综合性地包括了Java和HTML这两类语法,但不能通过简单地使用JSP,让它集显示、业务逻辑和流程控制于一身,因为用这种方式开发出来的Web应用程序是非常难以维护的。所以对JSP使用观念的建立,以及JavaBean、数据库、Servlet等技术的了解运用是利用JSP开
3、发复杂的商业级网站的重点。为了让读者在学习的过程中能够彻底掌握相关概念,同时掌握所需的知识,除了基本语法介绍外,本书也同时将重点集中在面向对象的观点和JSP程序架构方面。,本书结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,以实践为指导,深入浅出地讲解了JSP开发中的种种问题。以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、MVC等技术;本书每一章节的例子读者都可以直接使用。实例讲解过程条理清晰、循序渐进,符合程序设计的自然思路,读者读完一个章节,也就相应地掌握了相关的JSP技术开发的思想和技术。并且采用几个
4、较完整的综合实例,让读者对JSP+Servlet+JavaBean+JDBC这样的Web架构有个整体认识。,6,7,教材的组织结构,本书共16章,可以分成七个部分。 第一部分 JSP编程基础与环境配置,包括三章:第1章 JSP概述;第2章 JSP动态网页设计基础;第3章 JSP环境配置,介绍JSP应用技术的前导知识和开发环境的搭建。 第二部分JSP应用开发基础,包括三章:第4章 JSP基本语法;第5章 JSP内置对象;第6章 使用Cookie记录信息,详细讲解了JSP技术的基本语法。,第三部分 JSP应用开发进阶,包括两章:第7章 JavaBean和表单处理;第8章 JSP中文件的操作。这部分
5、主要介绍了JavaBean分离表示与实现、使用JSP处理HTML表单、使用Java类库里的I/O类,开发具备文件存取功能的网页程序。 第四部分 JSP数据库编程基础包括三章:第9章 数据库操作基础;第10章应用JDBC进行数据库开发;第11章JSP+JavaBean+DB的实例,以MySql数据库为例详细讲解了JSP中使用数据库的操作包括JDBC、连接池、分页处理等技术。,8,第五部分 Servlet技术包括两章:第12章Servlet基础;第13章 使用Servlet过滤器和监听器;通过实例讲述了Servlet的开发和部署。 第六部分 标签库包括两章:第14章标准标签库(JSTL);第15章
6、创建自定义标签库。这部分是使用JSP进行程序开发的扩展知识。 第七部分 第16章通过一个网上书店的实例讲解了Web开发的应用。,9,10,课程的任务,掌握JSP编程技术: 掌握JSP的语法; 掌握JSP对文件的操作; 掌握JSP对数据库的操作; 掌握JSP中采用的JavaBean; 掌握JSP中采用的Servlet技术; 掌握MVC编程模式。,11,重点和难点,课程的重点:JSP开发Web应用程序,如动态网站的开发; 课程的难点:JavaBean和Servlet技术,通过系统的学习,学生能够利用JSP技术进行网站的简单设计和开发。,12,第1章 JSP概述,1.1 软件编程体系简介 1.2 企
7、业应用开发架构 1.3 JSP概述 1.4 JSP知识体系及学习之路,13,1.1软件编程体系简介,14,客户机/服务器(Client/Server,C/S)模式 即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用ClientServer结构。 服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或
8、 SQL Server。客户端需要安装专用的 客户端软件。 这种模式我们也通常称为胖客户端模式。 典型的系统:QQ、MSN,C/S结构编程体系,15,浏览器/服务器(Browser/Server,B/S)模式 即浏览器服务器结构。它是随着Internet技术的兴起,对CS结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。 客户机上只要安装一个浏览器(Browser),如Net
9、scape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 这种模式,我们通常将其 称为瘦客户端模式。 典型的系统:网上银行、 淘宝、网上书店、Blog等,B/S结构编程体系,16,1.2 企业应用开发架构,在构建企业级应用的时候,通常需要大量的代码,而且这些代码一般分布在不同的计算机上,划分代码运行在不同计算机上的理论就是多层设计理论。 企业级应用系统通常分成 两层 三层 N层架构,两层架构,传统的两层应用包括用户接口和后台程序,后台程序通常
10、是一个数据库,用户接口直接同数据库进行对话。实现上,通常使用JSP、ASP或者VB等技术编写这类软件,结构如图,两层应用架构显示逻辑层一般由HTML、JSP、ASP实现,通过JSP和ASP直接和数据库相连,三层架构,在两层应用中,应用程序直接同数据库进行对话。三层结构在用户接口代码和数据库中间加入了一个附加的逻辑层,通常这个层叫做“商务逻辑层”,如图,N层架构,如果某个应用超过三个独立的代码层,那么这个应用叫做N应用,就不再叫四层或者五层等名称,而是统称为N层。如图,开发架构比较,两层架构的优点是开发过程比较简单,利用服务器端的程序直接访问数据库,部署起来比较方便。缺点是程序代码维护起来比较困
11、难,程序执行的效率比较低,用户容量比较少。 三层架构基本解决了两层架构的缺点,将显示部分和逻辑流程控制分开,利用服务器应用程序实现显示部分,利用商务逻辑层实现程序的流程控制,分层使维护变的方便一些,而且执行效率也会有所提高,但是相对部署起来就比较困难一些。 根据实际的需要,会进一步细化每一层,或者添加一些层,就形成了N层架构,和三层架构一样,组件化的设计使维护相对容易,但是部署相对困难。,22,1.3 JSP概述,JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HT
12、ML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。此后JSP又经历了几个版本,最新版本是2003年发布的JSP2.0。本书介绍的技术都是基于JSP2.0规范的。,23,什么是JSP,以下是helloWorld.jsp的源代码 Hello World! ,用“% %”嵌入动态部分,HTML语句,24,JSP是一种动态网页技术标准。可以将网页中的动
13、态部分和静态的HTML相分离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“%”开始并以“%”结束 在Eclipse+tomcat环境下的运行效果如下图所示:,25,26,JSP文件的主要结构:, . 其他 HTML 语言 其他 HTML 语言 ,27,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开
14、发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。,28,JSP的特点: 内嵌在HTML中:以较为简单直接的方式将程序代码内嵌在HTML中,降低了程序设计的难度。 丰富的内建对象:JSP的规格中包含相关的对象、卷标与指令,提供了设计主从式网络程序的功能,简化了编写servlet程序的过程。
15、 整合Java平台:JSP程序中可运用Java所提供的各类包,以这些包为基础,扩充了JSP程序的本身的处理范围与能力。,29,JSP技术原理,从本质上说,JSP是Servlet API的一个扩展。事实上,JSP在处理请求之前都要编译成Servlet,所以它具有Servlet的所有优势,包括访问Java API。简单的说,一个JSP页面就是包含了能够生成动态内容的可执行应用代码的HTML网页。,30,JSP运行原理,31,当服务器第一次接收到对某个页面的请求时,JSP引擎就开始进行上述的处理过程,将被请求的JSP文件编译成Class文件。 在后续对该页面再次进行请求时,若页面没有进行任何改动,服
16、务器只需直接调用Class文件执行即可。 所以当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉快了很多。如果被请求的页面经过修改,服务器将会重新编译这个文件,然后执行。,JSP工作流程,32,33,Servlet概念,Servlet概念 Servlet是运行在服务器上的Java程序,是一个中间层,主要用来处理客户端请求,并对客户端请求进行响应,还可以连接应用服务。 Servlet是在服务器端实现动态网页的一种技术,34,Servlet的生命周期: 1. 客户端向服务器发出请求,服务器根据客户端的请求,找到相应的Servlet类 2. 判断该Servlet是否在内存中加载?若未加载,创建该Servlet实例,调用init()方法完成初始化操作。若已经加载,转3 3. 调用service()方法对客户端进行响应。等待下一次请求。在Servlet生命周期中,service()方法是其中的核心。每当客户端向Servlet发出一个请求时,该方法就会被调用,对用户的请求进行处理,并返回响应。 4. 结束,调用destroy()方法。当服务器端不再