描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302490852丛书名: 网站开发案例课堂
本书特色
零基础、入门级的讲解
无论您是否从事计算机相关行业,无论您是否接触过Java Web程序开发,都能从本书中找到适合的起点。
超多、实用、专业的范例和项目
本书在编排上紧密结合深入学习Java Web程序开发技术的先后过程,从配置Java Web开发环境开始,逐步带领大家深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
随时检测自己的学习成果
每章首页中,均提供了“本章要点”,以指导读者重点学习及学后检查。
大部分章节有“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
细致入微、贴心提示
本书在讲解过程中,在各章中使用了“注意”和“提示”等小贴士,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
专业创作团队和技术支持
本书由千谷高新教育中心编著和提供技术支持。
您在学习过程中遇到任何问题,可加入QQ群(案例课堂VIP)进行提问,专家人员会在线答疑。
超值赠送资源
全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点。比看书更轻松地掌握书中所有的Java Web程序开发知识,而且扩展的讲解部分使您得到比书中更多的收获。
超多容量资源大放送
本书赠送了十大超值资源。包括本书实例源文件、精美教学幻灯片、精选本书教学视频、MyEclipse常用快捷键、MyEclipse提示与技巧、Java SE类库查询手册、Java程序员面试技巧、Java 常见面试题、Java常见错误及解决方案、Java开发经验及技巧大汇总等。
《Java Web开发案例课堂》以零基础讲解为宗旨,用实例引导读者深入学习,采取【基础入门→核心技术→框架应用→项目实训】的讲解模式,深入浅出地讲解Java的各项技术及实战技能。
《Java Web开发案例课堂》第1篇【基础入门】主要内容包括熟悉Java Web开发、Java Web开发环境搭建、快速认识JSP、JSP语言基础、JSP内置对象等;第2篇【核心技术】主要内容包括Servlet技术、JavaBean技术、过滤器技术、监听器技术、JDBC与MySQL、表达式语言EL、XML技术、JSTL技术、Ajax技术等;第3篇【框架应用】主要内容包括Struts 2基础知识、Struts 2高级技术、Hibernate 4技术、Spring 4技术、Struts 2 Spring 4 Hibernate 4等;第4篇【项目实训】主要内容包括开发在线购物商城、开发在线考试系统、开发火车订票系统。
《Java Web开发案例课堂》适合任何想学习Java Web编程语言的人员,无论您是否从事计算机相关行业,无论您是否接触过Java Web,通过学习均可快速掌握Java Web在项目开发中的知识和技巧。
前 言
“网站开发案例课堂”系列图书是专门为软件开发和数据库初学者量身定制的一套学习用书,整套书涵盖软件开发、数据库设计等方面。整套书具有以下几个特点。
前沿科技
无论是软件开发还是数据库设计,我们都精选较为前沿或者用户群最大的领域推进,帮助大家认识和了解最新动态。
权威的作者团队
组织国家重点实验室和资深应用专家联手编著该套图书,融合丰富的教学经验与优秀的管理理念。
学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度,提升学习效率。
为什么要写这样一本书
Java是Sun公司推出的能够跨越多平台的、可移植性最高的一种面向对象的编程语言,也是目前最先进、特征最丰富、功能最强大的计算机语言。利用Java可以编写桌面应用程序、Web应用程序、分布式系统应用程序、嵌入式系统应用程序等,从而使其成为应用范围最广泛的开发语言,特别是在Web程序开发方面。目前学习和关注Java Web的人越来越多,而很多Java Web的初学者都苦于找不到一本通俗易懂、容易入门和案例实用的参考书。通过本书的案例实训,读者可以很快地上手流行的工具,提高职业化能力,从而帮助解决公司与求职者的双重需求问题。
本书特色
零基础、入门级的讲解
无论您是否从事计算机相关行业,无论您是否接触过Java Web程序开发,都能从本书中找到最佳起点。
超多、实用、专业的范例和项目
本书在编排上紧密结合深入学习Java Web程序开发技术的先后过程,从配置Java Web开发环境开始,逐步带领大家深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
随时检测自己的学习成果
每章首页中,均提供了“本章要点”,以指导读者重点学习及学后检查。
大部分章节最后的“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
细致入微、贴心提示
本书在讲解过程中,在各章中使用了“注意”和“提示”等小贴士,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
专业创作团队和技术支持
本书由千谷高新教育中心编著和提供技术支持。
您在学习过程中遇到任何问题,可加入QQ群(案例课堂VIP)451102631进行提问,专家人员会在线答疑。
超值赠送资源
全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点。比看书更轻松地掌握书中所有的Java Web程序开发知识,而且扩展的讲解部分使您得到比书中更多的收获。
超多容量王牌资源大放送
本书赠送了十大超值的王牌资源。包括本书实例源文件、精美教学幻灯片、精选本书教学视频、MyEclipse常用快捷键、MyEclipse提示与技巧、Java SE类库查询手册、Java程序员面试技巧、Java 常见面试题、Java常见错误及解决方案、Java开发经验及技巧大汇总等。读者可以通过QQ群(案例课堂VIP)451102631获取赠送资源,也可以扫描二维码,下载本书资源,还可以进入http://www.apecoding.com/下载赠送资源。
读者对象
没有任何Java Web开发技术的初学者。
有一定的Java Web开发基础,想精通Java Web开发的人员。
有一定的Java Web开发基础,没有项目经验的人员。
正在进行毕业设计的学生。
大专院校及培训学校的老师和学生。
创作团队
本书由刘玉红和侯永岗编著,参加编写的人员还有蒲娟、刘玉萍、裴雨龙、李琪、周佳、付红、李园、郭广新、王攀登、刘海松、孙若淞、王月娇、包慧利、陈伟光、胡同夫、王伟、梁云梁和周浩浩。在编写过程中,我们竭尽所能地将最好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。若您在学习中遇到困难或疑问,或有何建议,可写信至信箱[email protected]。
编 者
第3章 零基础开始学习——快速认识JSP
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术自诞生到现在,已经成为流行技术的一种,尤其是在开发电子商务类的网站方面。JSP以其安全性高、支持多线程、跨平台等特性占领了Web开发的中、高层领域。为此,本章将开始认识JSP的入门知识。
本章要点(已掌握的在方框中打钩)
了解JSP概述
了解JSP的形成历史
熟悉JSP的优势
理解JSP运行机制
理解JSP的开发模式
掌握如何创建和运行JSP页面
3.1
JSP概述
JSP(Java Server Pages)中文名叫Java服务器页面,其根本是一个简化的Servlet设计,它是一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP实现了以形式在HTML中插入Java代码。它是一种Servlet,在服务器端执行,主要用于实现Java Web应用程序的用户界面部分。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP是一种动态页面技术,其主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用、完全的面向对象、具有平台无关性且安全可靠、主要面向因特网的所有特点。
3.2
JSP形成历史
基于浏览器客户端的应用程序相比传统的基于客户端服务器的应用程序的优势在于:几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向基于浏览器客户端的多层次应用程序迈进。
这些快速增长的、基于Web的精巧应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择,新的挑战在于创建交互的、基于Web的应用程序。在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。
对于这个问题的一个早期解决方案是使用CGI-BIN接口:开发人员编写与接口相关的单独程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。但这个方案有着严重的扩展性问题——每个新的CGI都要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程有可能会消耗掉该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。
某些Web服务器供应商已经尝试通过为其服务器提供插件和API来简化Web应用程序的开发。这些解决方案与特定的Web服务器相关,但不能解决跨平台操作的问题。例如,微软的ASP技术使得在Web页面上创建动态内容更加容易,但是也只能工作在微软的IIS和Personal Web Server上。
当然,还存在其他的解决方案。但是它们都不能使一个普通的页面设计者能够轻易地掌握。例如,Java Servlet技术就可以使得用Java语言编写交互的应用程序的服务器端的代码变得容易,一个Java Servlet就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员需要编写出这样的Servlet,以接收来自Web浏览器的HTML请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。
采用这种方法,整个网页必须都在Java Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,他们就不得不编辑并重新编译该Java Servlet,即使该Java Servlet在逻辑上已经能够运行。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。
很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所解决不了的问题,例如:
* 能够在任何Web或应用程序服务器上运行;
* 将应用程序逻辑和页面显示分离;
* 能够快速地开发和测试;
* 简化开发基于Web的交互式应用程序的过程。
JSP技术就是设计用来满足这些要求的解决方案。JSP规范是Web服务器、应用服务器、交易系统以及开发工具供应商间广泛合作的结果。Sun Microsystems开发出这个规范来整合及平衡已经存在的对Java编程环境(例如,Java Servlet和JavaBean)进行支持的技术和工具,其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。
所谓的JSP网页(*.jsp).就是在传统的网页HTML文件(*.htm或*.html)中加入Java程序片段(Sriptlet)和JSP标记(Tag)而构成的。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页,以及发送E_mail等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin、无ActiveX、无Java Applet,甚至无Frame。JSP在动态网页的建设中有其强大而特别的功能。
在Sun正式发布JSP之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。JSP使得我们能够分离页面的静态HTML和动态部分。HTML可以用任何通常使用的Web制作工具编写,编写方式也和原来的一样;动态部分的代码放入特殊标记之内,大部分以“<%”开始,以“%>”结束。
3.3
JSP的优势
JSP技术是由Servlet技术发展起来的,自从有了JSP后,在Java服务器端编程中普遍采用的就是JSP,而不是Servlet。因为JSP在编写表示页面时远远比Servlet简单,并且不需要手工编译(由Servlet容器自动编译),目前Servlet主要用做视图控制器、处理后台应用等。由于JSP构建在Servlet上,所以它有Servlet所有强大的功能。
在开发JSP规范的过程中,Sun公司与许多主要的Web服务器、应用服务器和开发工具供应商积极进行合作,不断完善技术。
JSP基于强大的Java语言,具有良好的伸缩性,与Java Enterprise API紧密地集成在一起,在网络数据库应用开发领域具有得天独厚的优势,基于Java平台构建网络程序已经被越来越多的人认为是未来最有发展前途的技术。
从JSP这几年的发展来看,已经获得巨大的成功,它通过和EJB等J2EE组件进行集成,可以编写出处理具有大的伸缩性、高负载的企业级应用。JSP技术在多个方面加速了动态Web页面的开发。
JSP在跨平台、执行速度等特性上具有很大的技术优势,主要体现在以下方面。
(1) 将内容的生成和显示进行分离。
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBean组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Bean中,那么其他人,如Web管理人员和页面设计者,就能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBean组件,使用JDBCTM技术访问数据库或者包含文件),并且将结果以HTML或者XML页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2) 生成可重用的组件。
绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBean或者Enterprise JavaBean组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或客户团体使用。
(3) 采用标识简化页面。
Web页面开发人员不一定都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成时所需的。标准的JSP标识能够访问和实例化JavaBean组件、设置或者检索组件属性、下载Applet,以及执行其他更难于编码或耗时的功能。通过开发定制标识库,JSP技术是可扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的构件来工作。
(4) JSP能提供所有的Servlet功能。
与Servlet相比,JSP能提供所有的Servlet功能,它比用Println书写和修改HTML更方便。此外,可以更明确地进行分工,Web页面设计人员编写HTML,只需要留出空间让Servlet程序员插入动态部分即可。
(5) 健壮的存储管理和安全性。
由于JSP页面的内置脚本语言是基于Java语言编写的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面具有Java技术的所有优点,包括健壮的存储管理和安全性。
(6) 一次编写,随处运行。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,随处运行”的特点。越来越多的供应商将JSP支持添加到其产品中,用户可以使用自己所选择的服务器和工具,但并不影响当前的应用。
(7) JSP的平台适应性更广。
这是JSP相比于ASP的优越之处。几乎所有平台都支持Java、JSP JavaBean,它们可以在任何平台下通行无阻。Windows NT下的IIS通过一个插件就能支持JSP,使用JRUN或者ServletExec,著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在Windows NT、UNIX和Linux上,因此JSP有更广泛的运行平台。虽然现在Windows NT操作系统占了很大的市场份额,但是在服务器方面,UNIX的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标识的字节码,与平台无关。
(8) Java中连接数据库的技术是JDBC(Java Database Connectivity)。
很多数据库系统都带有JDBC驱动程序,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC Bridge,用此技术,Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、Microsoft SQL Server和Microsoft Access等类型的数据库。
(9) 简单易学。
随着JSP中标签语言的出现,即使不懂Java的程序员也能编写出功能完善的JSP应用。
3.4
JSP运行机制
JSP文件在用户第一次请求时,会被编译成Servlet,再由这个Servlet处理用户的请求,如图3-1所示。
图3-1 JSP运行机制
JSP容器管理JSP页面生命周期分为两个阶段:转换阶段和执行阶段。当有一个对JSP页面的客户请求到来时,JSP容器将JSP页面转换为Servlet源文件,然后调用javac工具编译源文件,生成字节码文件,这是转换阶段。接下来,Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求,请求处理完成后响应对象被JSP容器接收,容器将HTML格式的响应信息发送给客户端,这是执行阶段。
评论
还没有评论。