




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1主讲:马建红邮箱:JSP应用与开发技术2课程的地位、先修课程本课程是一门专业必修课程,它主要讲授如何使用JSP程序设计的原理、方法和技术开发基于B/S架构的动态网站。先修课程:要求学习者具备一定的Java程序设计根底,因此必须先修?Java程序设计?;该课程需要操作数据库,因此必须先修?数据库原理?;另外由于牵涉网页的设计所以先修课还需要?网页设计?。3课程在专业课程体系中的地位JSP工程实训Java程序设计数据库原理网页设计J2EE程序设计Ajax程序设计SSH框架手机开发4本章学习目标:了解软件编程体系了解企业应用开发架构掌握JSP根本概念掌握JSP的知识体系了解JSP的学习之路5关于教材JSP(JavaServerPages)是目前动态网站开发技术中最典型的一种。JSP继承了Java语言的优势,是一种与平台无关的开发技术,而Java技术也赋予了JSP为用户提供强大功能的技术支持。JSP实现了动态页面与静态页面的别离,脱离了硬件平台的束缚,提高了执行效率而逐渐成为因特网上的主流开发技术,已经越来越受到编程者的关注和喜爱。JSP语言虽然综合性地包括了Java和HTML这两类语法,但不能通过简单地使用JSP,让它集显示、业务逻辑和流程控制于一身,因为用这种方式开发出来的Web应用程序是非常难以维护的。所以对JSP使用观念的建立,以及JavaBean、数据库、Servlet等技术的了解运用是利用JSP开发复杂的商业级网站的重点。为了让读者在学习的过程中能够彻底掌握相关概念,同时掌握所需的知识,除了根本语法介绍外,本书也同时将重点集中在面向对象的观点和JSP程序架构方面。本书结合JSP和Servlet的最新标准,从根本的语法和标准入手,以经验为后盾,以实用为目标,以实例为导向,以实践为指导,深入浅出地讲解了JSP开发中的种种问题。以精简的内容介绍了JSP的语法、Servlet技术、JDBC技术、标签库技术、MVC等技术;本书每一章节的例子读者都可以直接使用。实例讲解过程条理清晰、循序渐进,符合程序设计的自然思路,读者读完一个章节,也就相应地掌握了相关的JSP技术开发的思想和技术。并且采用几个较完整的综合实例,让读者对JSP+Servlet+JavaBean+JDBC这样的Web架构有个整体认识。67教材的组织结构本书共16章,可以分成七个局部。第一局部JSP编程根底与环境配置,包括三章:第1章JSP概述;第2章JSP动态网页设计根底;第3章JSP环境配置,介绍JSP应用技术的前导知识和开发环境的搭建。第二局部JSP应用开发根底,包括三章:第4章JSP根本语法;第5章JSP内置对象;第6章使用Cookie记录信息,详细讲解了JSP技术的根本语法。第三局部JSP应用开发进阶,包括两章:第7章JavaBean和表单处理;第8章JSP中文件的操作。这局部主要介绍了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章创立自定义标签库。这局部是使用JSP进行程序开发的扩展知识。第七局部第16章通过一个网上书店的实例讲解了Web开发的应用。910课程的任务
掌握JSP编程技术:掌握JSP的语法;掌握JSP对文件的操作;掌握JSP对数据库的操作;掌握JSP中采用的JavaBean;掌握JSP中采用的Servlet技术;掌握MVC编程模式。11重点和难点课程的重点:JSP开发Web应用程序,如动态网站的开发;课程的难点:JavaBean和Servlet技术,通过系统的学习,学生能够利用JSP技术进行网站的简单设计和开发。12第1章
JSP概述
1.1软件编程体系简介1.2企业应用开发架构 1.3JSP概述1.4JSP知识体系及学习之路131.1软件编程体系简介14客户机/效劳器(Client/Server,C/S)模式即客户机和效劳器结构。这种体系结构模式是以数据库效劳器为中心、以客户机为网络根底、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在效劳器上的数据库中。客户机依靠效劳器获得所需要的网络资源,而效劳器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。效劳器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。这种模式我们也通常成为胖客户端模式。典型的系统:QQ、MSNC/S结构编程体系15浏览器/效劳器(Browser/Server,B/S)模式即浏览器效劳器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少局部事务逻辑在前端〔Browser〕实现,主要事务逻辑在效劳器端〔Server〕实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的本钱和工作量,降低了用户的总体本钱。客户机上只要安装一个浏览器〔Browser〕,如NetscapeNavigator或InternetExplorer,效劳器安装Oracle、Sybase、Informix或SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。
这种模式,我们通常将其成为瘦客户端模式。典型的系统:网上银行、网上书店、Blog等等B/S结构编程体系161.2企业应用开发架构
在构建企业级应用的时候,通常需要大量的代码,而且这些代码一般分布在不同的计算机上,划分代码运行在不同计算机上的理论就是多层设计理论。企业级应用系统通常分成两层三层N层架构。两层架构传统的两层应用包括用户接口和后台程序,后台程序通常是一个数据库,用户接口直接同数据库进行对话。实现上,通常使用JSP、ASP或者VB等技术编写这类软件,结构如图两层应用架构显示逻辑层一般由HTML、JSP、ASP实现,通过JSP和ASP直接和数据库相连三层架构在两层应用中,应用程序直接同数据库进行对话。三层结构在用户接口代码和数据库中间参加了一个附加的逻辑层,通常这个层叫做“商务逻辑层〞,如图N层架构如果某个应用超过三个独立的代码层,那么这个应用叫做N应用,就不再叫四层或者五层等名称,而是统称为N层。如图开发架构比较两层架构的优点是开发过程比较简单,利用效劳器端的程序直接访问数据库,部署起来比较方便。缺点是程序代码维护起来比较困难,程序执行的效率比较低,用户容量比较少。三层架构根本解决了两层架构的缺点,将显示局部和逻辑流程控制分开,利用效劳器应用程序实现显示局部,利用商务逻辑层实现程序的流程控制,分层使维护变的方便一些,而且执行效率也会有所提高,但是相对部署起来就比较困难一些。根据实际的需要,会进一步细化每一层,或者添加一些层,就形成了N层架构,和三层架构一样,组件化的设计使维护相对容易,但是部署相对困难。221.3JSP概述
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.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的源代码<%@pagelanguage="java"contentType="text/html;charset=gbk"%><html><head> <title>HelloWorld!</title></head><bodybgcolor="#FFFFFF"><h3><% out.println("JSPHelloWorld!");%></h3>
</body></html>用“<%%>〞嵌入动态局部HTML语句24JSP是一种动态网页技术标准。可以将网页中的动态局部和静态的HTML相别离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态局部用特殊的标记嵌入即可,这些标记常常以“<%〞开始并以“%>〞结束在Eclipse+tomcat环境下的运行效果如以下图所示:2526JSP文件的主要结构:<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.util.*"%>...<HTML><BODY>其他HTML语言<%
符合JAVA语法的JAVA语句%>
其他HTML语言
</BODY></HTML>27JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于效劳端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示别离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web效劳器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在效劳器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。28JSP的特点:内嵌在HTML中:以较为简单直接的方式将程序代码内嵌在HTML中,降低了程序设计的难度。丰富的内建对象:JSP的规格中包含相关的对象、卷标与指令,提供了设计主从式网络程序的功能,简化了编写servlet程序的过程。整合Java平台:JSP程序中可运用Java所提供的各类包,以这些包为根底,扩充了JSP程序的本身的处理范围与能力。29JSP技术原理从本质上说,JSP是ServletAPI的一个扩展。事实上,JSP在处理请求之前都要编译成Servlet,所以它具有Servlet的所有优势,包括访问JavaAPI。简单的说,一个JSP页面就是包含了能够生成动态内容的可执行应用代码的HTML网页。3031JSP运行原理32当效劳器第一次接收到对某个页面的请求时,JSP引擎就开始进行上述的处理过程,将被请求的JSP文件编译成Class文件。在后续对该页面再次进行请求时,假设页面没有进行任何改动,效劳器只需直接调用Class文件执行即可。所以当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉快了很多。如果被请求的页面经过修改,效劳器将会重新编译这个文件,然后执行。33Servlet概念Servlet概念Servlet是运行在效劳器上的Java程序,是一个中间层,主要用来处理客户端请求,并对客户端请求进行响应,还可以连接应用效劳。Servlet是在效劳器端实现动态网页的一种技术requestresponseServletEJBWeb容器Web浏览器34JSP生成的Servlet的生命周期加载Servlet
类调用
Init方法进行初始化设置创建Servlet
实例调用service
方法处理客户端请求调用destroy
方法销毁Servlet实例并释放占用资源垃圾回收ServletConfig35Servlet的生命周期:1.客户端向效劳器发出请求,效劳器根据客户端的请求,找到相应的Servlet类2.判断该Servlet是否在内存中加载?假设未加载,创立该Servlet实例,调用init()方法完成初始化操作。假设已经加载,转33.调用service()方法对客户端进行相应。等待下一次请求。在Servlet生命周期中,service()方法是其中的核心。每当客户端向Servlet发出一个请求时,该方法就会被调用,对用户的请求进行处理,并返回响应。4.结束,调用destroy()方法。当效劳器端不再需要该Servlet的时候,效劳器调用destroy()方法卸载该Servlet,释放Servlet运行时占用的资源。36Servlet是一种独立于平台和协议的效劳器端的Java应用程序,可以生成动态的Web页面。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP效劳器上的数据库或应用程序之间的中间层。Servlet是位于Web效劳器内部的效劳器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web效劳器进行加载,该Web效劳器必须包含支持Servlet的Java虚拟机。37随着Internet和电子商务等应用的开展,动态网页技术诞生了。动态网页和网页上的动画根本不是一回事,它有以下几个特点:交互性:即网页会根据用户的要求和选择而动态改变和响应。自动更新:即无需手动更新HTML文档,自动生成新的页面,这可大大节省工作量。因时因人而变:即当不同的时间、不同的用户访问同一网址时会产生不同的页面,这就是所谓的个性化技术动态网页技术:CGIASPPHPJSPCGI:CommonGatewayInterfaceASP:ActiveServerPagePHP:HypertextPreprocessorJSP:JavaServerPage 在早期,动态网页只有采用CGI技术,但由于编程困难、效率低下、修改复杂等缺陷,所以逐渐被ASP、PHP、JSP技术取代。JSP和其它动态网站开发技术38JavaServerPages;动态网页技术标准;动态页面与静态页面别离,跨平台性;JSP(*.jsp)=HTML文件〔*.htm,*.html〕+Java程序片断+JSP标记;以Servlet技术为根底,提供强大的组件〔JavaBean〕支持功能;是一种开发Web应用的理想构架。JSP技术39JSP页面由HTML代码和嵌入其中的Java代码所组成。效劳器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术根底,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且平安可靠,主要面向因特网的所有特点。40JSP技术JSP的优势程序可以跨台平执行。JSP可以让开发人员在任意环境中进行开发,在任意环境中进行系统部署,在任意环境中扩展应用程序。多样化和功能强大的开发工具支持。Java有许多非常优秀的开发工具,而且有许多可以免费得到,并且其中的许多已经可以顺利地运行于多种平台之下。强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台效劳器进行集群和负载均衡,到多台Application进行事务处理,一台效劳器到无数台效劳器,Java显示了巨大的生命力。41JSP技术JSP的弱势例如,跨平台的功能和极度的伸缩能力极大地增加了产品的复杂性。也就是说,它在扩展时需要分成多少块,那么java系统中就有多少种产品,所以用户可能会看到jre,jdk,jsdk,jswdk等,而实际上它们是密不可分的。只要将它们有效地搭配在一起,就可以产生强大的效能。当然,这同时也使应用程序变得非常复杂。JSP运行是用class常驻内存来完成的,虽然提高了响应速度,但要占用相当内存。Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比〞了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。另外,JSP程序调试也不是很不方便的。JSP页面首先被转化为一个.java文件(Servlet),然后再被编译。这样,出错信息实际上指向的是经过转化的那个.java文件而不是jsp本身。42ASPASP〔全称ActiveServerPages〕微软系统的脚本语言,利用它可以执行动态的Web效劳应用程序。执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。JSP与ASP/ASP.NET的比较43ASP的语法非常类似VisualBASIC,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。但是ASP也有很大的缺点,由于是运行在WINDOWS平台上,不能跨平台运行,自身存在着许多缺陷,最重要的就是平安性。在大型工程开发和维护上非常困难。
但在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer。44相同点:ASP和JSP都是面向Web效劳器的技术,客户端浏览器不需要任何附加的软件支持。区别:ASP的编程语言是VBScript之类的脚本语言,JSP用的是Java;两种语言引擎用完全不同的方式处理页面中嵌入的程序代码;JSP实现处理逻辑和页面表示别离,而ASP处理逻辑和页面表示混杂在一起,对于很多大型应用难以接受。JSP的平台无关性。45ASP.NET
ASP最新的版本ASP.NET并不完全与ASP早期的版本后向兼容,因为该软件进行了完全重写。ASP.NET的优势很明显在于它简洁的设计和实施。语言灵活,可以使用脚本语言〔如VBscript、Jscript、Perlscript和Python〕以及编译语言〔如VB、C#、C、Cobol、Smalltalk和Lisp〕;并支持复杂的面向对象特性。而且有良好的开发环境支持。
高效性,ASP.NET是编译性的编程框架,运行是效劳器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
简单性,.NET可视化编程,提供基于组件、事件驱动的可编程网络表单,大大简化了编程。一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。如ASP.net页面构架允许你建立你自己的用户分界面。
看起来是非常有前途的,可能JSP可以一拼!46PHP一个嵌套的缩写名称,是英文超级文本预处理语言〔PHP:HypertextPreprocessor〕的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在效劳器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP是一种能快速学习、跨平台、有良好数据库交互能力的开发语言。PHP与Apache可以以静态编译的方式结合起来,而与其他的扩展库也可以用这种方式结合。这种方式的最大好处就是充分利用了CPU和内存,同时极为有效地利用了Apache高性能的吞吐能力。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最正确效能。JSP与PHP的比较47另外,PHP具有良好的平安性,由于PHP本身的代码开放,所以它的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村镇组织管理办法
- 执业准入管理办法
- 【历史】中考历史常见史料信息转化为答题术语
- 2026高考物理一轮复习(基础版)第六章 第5讲 小专题 含弹簧的机械能守恒问题和非质点类机械能守恒问题
- 海龟汤题目和答案全套
- 魔方课件小学生
- 2025年绿色中国面试题及答案
- 2025年第五人格笔试题及答案
- 2025年幼儿园教师招聘考试教育理论知识模拟考试试题(三套)
- 2025年影视专业复试题库及答案
- 全新特种设备安全操作培训课件完整版下载
- 2023年延安市社区工作者招聘考试真题
- 中建挤出成型水泥板(ECP板)施工方案范本
- 2023年08月湖北黄冈市直事业单位引进高层次人才116人笔试历年高频考点试题含答案带详解
- 铝箔常见缺陷
- 幼儿园教师的专业发展路径
- SMT钢网制作规范
- 招投标现场监督情况报告表
- 防火玻璃出厂检验报告
- 高次不等式解法-标根法
- 国内保理业务介绍-PPT
评论
0/150
提交评论