版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP程序设计技术教程
主编:甘勇
清华大学出版社9/28/20231
|海有|壁无|一切为了学生。|纳容|立欲|为了学生一切。|百乃|千则|岂能事事如意,但求无愧于心。|川大|仞刚|把微笑留给世界,让世界因你微笑!9/28/20232Web技术——JSP章节简介9/28/20233第1章Web技术简介第1章Web技术简介1.1Web基础知识
1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理 1.1.4JavaWeb编程的主要组件技术
1.2JSP技术 1.2.1JSP特点与优势 1.2.2JSP的工作原理
9/28/202341.3JSP开发Web的方式与体系结构
1.3.1JSP开发Web站点的主要方式 1.3.2JSP两种体系结构 1.4MVC设计模式
1.4.1MVC设计模式思想 1.4.2MVC优缺点9/28/20235第2章JSP开发运行环境
2.1JSP环境介绍 2.2JDK安装配置 2.2.1JDK简介与下载 2.2.2JDK安装与配置 2.3Netbeans开发环境
2.3.1NetBeans简介与下载 2.3.2NetBeans安装与使用
9/28/202362.4Eclipse开发环境
2.4.1Eclipse简介与下载 2.4.2Eclipse的使用
2.5MyEclipse开发环境
2.5.1MyEclipse简介与下载 2.5.2MyEclipse安装与使用 2.6Tomcat服务器
2.6.1Tomcat简介与下载 2.6.2Tomcat安装与配置9/28/20237第3章脚本语言
3.1HTML 3.1.1HTML简介 3.1.2HTML基本标签 3.1.3列表 3.1.4多媒体和超链接 3.1.5表格 3.1.6框架 3.1.7表单 9/28/202383.2CSS 3.2.1CSS简介 3.2.2CSS样式表定义 3.2.3在HTML中加入CSS的方法 3.2.4CSS样式表继承性 3.2.5CSS基本属性 3.3JavaScript脚本语言
3.3.1JavaScript简介 3.3.2语言基础知识 3.3.3JavaScript对象 3.3.4JavaScript事件9/28/20239第4章基于脚本语言的项目实训4.1项目需求说明 4.2项目总体结构与构成 4.3项目页面开发 4.3.1登录页面 4.3.2项目的框架页面 4.3.3用户管理模块页面
9/28/202310第5章JSP基础知识 5.1JSP的基本页面结构 5.2JSP中的脚本元素 5.2.1变量、方法的声明 5.2.2表达式 5.2.3脚本 5.3JSP中的注释
5.3.1隐藏注释 5.3.2HTML注释 5.3.3Java注释 9/28/2023115.4JSP的指令 5.4.1page指令 5.4.2include指令 5.4.3taglib指令
5.5JSP中的常用动作
5.5.1<jsp:param>动作 5.5.2<jsp:include>动作 5.5.3<jsp:useBean>动作 5.5.4<jsp:setProperty>动作 5.5.5<jsp:getProperty>动作 5.5.6<jsp:forward>动作 5.5.7<jsp:plugin>动作9/28/202312第6章JSP的内置对象 6.1out对象
6.1.1out对象的方法 6.1.2out对象实例 6.2page对象
6.2.1page对象的方法 6.2.2page对象实例 6.3request对象
6.3.1request对象的方法 6.3.2request对象实例
6.4response对象
6.4.1response对象的方法 6.4.2response对象实例9/28/2023136.5session对象 6.5.1session对象的方法 6.5.2session对象实例 6.6pageContext对象 6.6.1pageContext对象的方法 6.6.2PageContext对象实例 6.7config对象 6.7.1config对象的方法 6.7.2config对象实例
6.8exception对象
6.8.1exception对象的方法 6.8.2exception对象实例 6.9application对象
6.9.1application对象的方法 6.9.2application对象实例9/28/202314第7章JSP中数据库操作
7.1JDBC介绍 7.1.1什么是JDBC 7.1.2JDBC的结构 7.2通过JDBC-ODBC桥访问数据库
7.2.1通过桥访问Access 7.2.2通过桥访问Excel 7.3通过JDBC驱动访问数据库 7.3.1通过JDBC驱动使用MySQL数据库 7.3.2通过JDBC驱动使用MicrosoftSQLServer数据库 7.3.3通过JDBC驱动使用oracle数据库9/28/2023157.4查询数据库 7.5更新数据库 7.5.1更新的SQL语句 7.5.2JSP更新数据库 7.6JSP在数据库应用中的相关问题
7.6.1JSP的分页浏览 7.6.2汉字处理 7.7JSP中数据库应用实例
7.7.1学生信息系统主页面设计 7.7.2学生信息查询 7.7.3学生信息添加 7.7.4学生信息删除 7.7.4学生信息修改9/28/202316第8章个人信息管理系统实训8.1项目需求说明 8.2项目系统分析 8.3系统设计与实现 8.3.1数据库设计 8.3.2项目代码实现 登录功能实现 主界面功能实现 个人信息管理功能实现 通讯录管理功能实现 日程安排管理功能实现9/28/202317第9章JSP与JavaBean编程 9.1JavaBean概述 9.2JavaBean的基本用法
9.2.1JavaBean的属性 9.2.2访问Bean属性 9.2.3设置Bean属性 9.3Bean的作用域 9.4JavaBean的使用
9.4.1使用JavaBean访问数据库 9.4.2JavaBean应用实例 9/28/202318第10章JSP与Servlet编程10.1Servlet介绍
10.1.1什么是Servlet 10.1.2Servlet的技术特点 10.1.3Servlet与JSP的区别 10.1.4Servlet在Web项目中的作用 10.1.5Servlet生命周期 10.1.6开发一个简单的Servlet
10.2处理客户端请求
10.2.1从Servlet读取表单数据 10.2.2从Servlet提取报文头 10.2.3处理Cookie与会话跟踪 9/28/20231910.3Servlet编程接口
10.3.1与Servlet实现相关的接口 10.3.2与Servlet配置相关的接口 10.3.3与Servlet异常相关的接口 10.3.4与请求和响应相关的接口 10.3.5会话管理 10.3.6Servlet上下文相关 10.4Servlet部署 10.5Servlet应用实例9/28/202320第11章JSP标记11.1创建自定义标记表记库 11.1.1组成标记库的组件 11.1.2为标记分配属性 11.1.3处理标记正文 11.2常用JSTL的使用
11.2.1JSTL简介 11.2.2表达式语言 11.2.3使用JSTL访问数据库9/28/202321第12章基于MVC模式项目实训12.1MVC设计模式 12.2项目实训(一)
12.2.1项目设计 12.2.2项目实现 12.3项目实训(二)
12.3.1项目设计 12.3.2项目实现9/28/202322Web技术讲解第1章Web技术简介9/28/202323第1章Web技术简介1.1Web基础知识1.2JSP技术1.3JSP开发Web的方式与体系结构1.4MVC设计模式9/28/2023241.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术9/28/2023251.1.1Web技术的由来与发展1980年,TimBerners-Lee负责的Enquire(EnquireWithinUponEverything的简称)项目是Web项目的起源。1989年,TimBerners-Lee发明的分布式应用架构,向人们提供信息和信息服务。
1990年,第一个Web服务器开始运行。
1991年,CERN(EuropeanParticlePhysicsLaboratory)正式发布了Web技术标准。9/28/202326早期的Web应用主要是使用HTML语言编写、运行在服务器端的的静态页面。9/28/202327浏览器请求静态页面图客户机浏览器服务器Web服务器静态页面HTTP请求HTTP响应网络9/28/202328HTMLHTML(HypertextMarkupLanguage,超文本标记语言)是一种描述文档结构的语言,不能描述实际的表现形式。1945年,VannevarBush提出了文本和文本之间通过超级链接相互关联的思想,并给出设计方案。1960年后正式将这种信息关联技术命名为超文本(Hypertext)技术。1991年HTML语言正式诞生以来推出了多个不同的版本,其中对Web技术发展具有重大影响的主要是两个版本:1996年推出的HTML3.2;1998年推出的HTML4.0。1999年W3C颁布了HTML4.01。9/28/202329为了满足人们对信息丰富性和多样性的强烈需求。促使Web技术由静态技术向动态技术的转化。第一种使服务器能根据运行时的具体情况,动态生成HTML页面的技术是CGI(CommonGatewayInterface,公共网关接口)技术。1993年,CGI1.0的标准草案由NCSA(NationalCenterforSupercomputingApplications)提出,1995年,NCSA开始制定CGI1.1标准。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。9/28/202330
用户访问CGI程序
客户机浏览器服务器Web服务器静态页面HTTP请求HTTP响应网络CGI程序数据库9/28/2023311994年,RasmusLerdorf发明了专用于Web服务端编程的PHP(PersonalHomePageTools)语言。1996年,Microsoft借鉴PHP的思想,推出ASP技术。借助MicrosoftVisualStudio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。1997年,SUN公司推出了Servlet技术,作为Java阵营的CGI解决方案。1998年,SUN公司又推出了JSP技术,允许在HTML页面中嵌入Java脚本代码,从而实现动态网页功能。9/28/2023322000年以后,整合Web开发技术形成完整的开发框架或应用模型,来满足各种复杂的应用需求。9/28/2023331.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术9/28/2023341.1.2Web动态网页技术动态网页技术是运行在服务器端的Web应用,程序根据用户的请求在服务器端进行动态处理后,把处理的结果以HTML文件格式返回给客户端。当前主流的三大动态Web开发技术是:
JSPASP/ASP.NETPHP9/28/202335PHPPHP(PHP:HypertextPreprocessor,超级文本预处理语言)是一个基于服务端来创建动态网站的脚本语言,可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和JSP,然而PHP和它们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWSNT和多种版本的UNIX上。PHP消耗的资源较少,当PHP作为ApacheWeb服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。9/28/2023361994年RasmusLerdorf创建了PHP。1995年初PersonalHomePageTools(PHPTools)发布了PHP1.01995年中,PHP2.0发布1997年发布PHP32000年,发布PHP4.02009年发布PHP5.3版本,其中增加了许多新的特性。9/28/202337ASP/ASP.NETASP(ActiveServerPages,活动服务器页面)是一种允许用户将HTML或XML标记与VBScript代码或者JavaScript代码相结合生成动态页面的技术,用来创建服务器端功能强大的Internet应用程序。当一个页面被访问时,VBScript/JavaScript代码首先被服务器处理,然后将处理后得到的HTML代码发送给浏览器。ASP只能建立在Windows的IISWeb服务器上。9/28/2023381996年,Microsoft公司推出ASP1.01998年,Microsoft公司推出ASP2.01999年,Microsoft公司推出ASP3.02001年,推出ASP.NET。9/28/202339ASP.NET技术又称为ASP+,是在ASP基础上发展起来的,其不仅仅只是一个有新界面并且修复了一些缺陷的ASP3.0升级版本,更为重要的是其是在保留ASP的最大优点并全力使其扩大化的基础上开发出来的,它是Microsoft公司推出的新一代Web开发工具,是.NET战略中的重要一员,它全新的技术架构使编程变得更加简单,是创建动态网站和Web应用的最好技术之一。9/28/202340JSPJSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。SUN公司JSP1998年推出JSP0.9版本1999年推出1.1版本2000年推出1.2版本现在流行的是JSP2.0版本。9/28/2023411.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术9/28/2023421.1.3Web应用程序的工作原理JSP页面是运行在服务器端的一种Web应用程序。在学习JSP技术前,先了解一下Web应用程序的工作原理。目前在Internet上信息大多以网页形式存储在服务器上,通过浏览器获取网页内容,这是一种典型的B/S(浏览器/服务器)模式。B/S模式的工作过程是:客户端请求-服务器处理-对客户端响应。其实现的原理如图1-3所示。9/28/202343图1-3B/S模式的工作原理客户端浏览器服务器Web服务器Web应用程序1Web应用程序2…应用服务器HTTP请求HTTP响应网络数据库9/28/2023441.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术9/28/2023451.1.4JavaWeb编程的主要组件技术JavaWeb应用程序通常是由多种组件构成的:表示层组件、控制层组件和业务逻辑层组件及数据访问层组件组成。表示层组件通常由HTML和JSP页面构建;控制层组件一般是Servlet。业务逻辑层组件是JavaBeans或EJB。数据访问层组件是JDBC,Hibernate或CMP。9/28/202346下面将分别介绍JavaBean、Servlet、JDBC、JavaEE、EJB等主要JavaWeb组件技术。9/28/202347JavaBeanJavaBean是Java的可重用组件,是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象。JavaBean开发起来简单,许多动态页面处理过程实际上被封装到了JavaBean当中,可以将大部分功能放在JavaBean中完成。JavaBean在JSP中用来捕获页面表单的输入并封装事务逻辑,从而很好地实现业务逻辑和前台程序的分离,使得系统更加健壮和灵活。9/28/202348JavaBean定义应遵循的规范:必须有一个无参的构造函数。对在Bean中定义的所有属性提供getter和setter方法,并且这些方法是公共的。对于boolean类型的属性,其getter方法的形式为isXXX的,其中XXX为首字母大写的属性名。对于数组类型的属性,要提供形式为getXXX(intindex)和setXXX(intindex,PropertyTypevalue)的方法。JavaBeans具有以下特性:可以实现代码的重复使用。容易维护、容易使用且容易编写。可以在支持Java的任何平台上工作,而不需要重新编译。可以以其它部件的模式进行工作。9/28/202349JavaBean实例:publicclassLogin{privateStringusername;privateStringpassword;publicLogin(){}publicStringgetUserName(){returnthis.username;}publicvoidsetUserName(String
param){
this.username=param;}publicStringgetPassword(){returnthis.password;}publicvoidsetPassword(String
param){
this.password=param;}}9/28/2023501.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术 JavaBean Servlet JDBC
JavaEE EJB
9/28/202351ServletServlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。Servlet在Java的Web服务器上或应用服务器上运行并扩展该服务器的能力。Servlet的主要功能在于可以事先交互式地浏览和修改数据,生成动态Web内容。在JavaWeb应用程序中,JSP页面首先被编译成Servlet文件,然后运行,Servlet处理用户的请求并做出反应;其次,在JavaWeb应用程序中可以将Servlet作为控制器来使用。9/28/202352
JDBCJDBC(JavaDataBaseConnectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。9/28/202353JDBC提供的标准API几乎是独立于数据库的,但同时又可以在必要时访问数据库的某些特性。JDBC3.0包括了两个软件包:java.sql和javax.sql。 java.sql:这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句,以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。 javax.sql:它主要为数据库方面的高级操作提供接口和类,例如为连接管理、分布式事务和旧有的连接提供了更好的抽象。它引入了容器管理的连接池和分布式事务等。JDBC的用途是与数据库建立连接、发送SQL语句并处理结果。9/28/202354JDBCAPI的核心组件有:DriverManager类:用于跟踪可用的JDBC驱动程序并生成数据库连接。Connection接口:用于取得数据库信息、生成数据库语句,并管理数据库事务。Statement接口:用于在基层连接上运行SQL语句,并且生成一个结果集。Statement有两个子接口:PreparedStatement和CallableStatement。PreparedStatement提供了可以与查询信息一起预编译的一种语句类型。CallableStatement从PreparedStatement继承而来,它用来封装数据库中存储过程的执行。ResultSet接口:用于访问SQL查询返回的数据。当读取结果时,可以使用它的next()方法依次定位每一行数据,然后用相应的get()方法读取数据。JDBC通过数据库的JDBC驱动程序来访问数据库。如图1-3所示9/28/202355Java小应用程序/应用程序JDBC(java.sql)数据库的JDBC驱动程序DataBaseDataBase9/28/202356通常Java开发工具带有JDBC-ODBC桥,只要可以通过ODBC驱动程序访问数据库,就可以使用JDBC访问数据库。如图1-4所示。9/28/202357Java小程序/应用程序JDBC(java.sql)SQLServer驱动程序SQLServer数据库Oracle数据库Oracle驱动程序……JDBC-ODBC桥接器(翻译器)9/28/202358J2EEJ2EE(Java2PlatformEnterpriseEdition)平台规范是SUN公司定义的用于简化分布式企业级应用开发与部署的基于组件的模式。为了降低成本,加快企业应用程序的设计和开发,J2EE平台提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序,并提供了多层的分布式的应用模型、组件重用、一致化的安全模型以及灵活的事务控制。因此程序员可以更快的速度向市场推出创造性的客户解决方案,并且独立的、基于组件的J2EE解决方案不会被任何一个厂商的产品和API所束缚。9/28/202359J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。1998年,Sun发布了EJB1.0标准。至此,J2EE平台的三大核心技术Servlet、JSP和EJB都已先后问世。1999年,Sun正式发布了J2EE的第一个版本。紧接着,遵循J2EE标准,为企业级应用提供支撑平台的各类应用服务软件出来了。IBM的WebSphere、BEA的WebLogic都是这一领域里最为成功的商业软件平台。2003年,Sun的J2EE版本已经升级到了1.4版,其中三个关键组件的版本也演进到了Servlet2.4、JSP2.0和EJB2.1。2004年发布J2EE1.5版本。。9/28/202360J2EE分为4个层:客户层(ClientTier):应用层运行在客户端机器上。Web层(WebTier):Web层运行在Web服务器上。业务层(BusinessTier):业务层运行在EJB服务器上。企业信息系统层(EIST):信息系统层运行在EIS服务器上,该层运行企业信息系统软件。业务层和Web层一起构建成为J2EE的中间层,而其他两层是客户层和信息系统层,通常称J2EE为三层体系结构。9/28/202361JavaEEJavaEE是J2EE的一个新的名称,之所以改名,目的是让大家清楚J2EE只是Java企业应用。随着Web和EJB容器概念诞生,使得软件应用行业开始担心SUN是否还在Java平台上不断推出翻新的标准框架。在2004年底中国软件技术大会IoC微容器演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。此次J2EE改名为JavaEE,实际也反映出业界这种共同心声。9/28/202362EJBEJB是一个J2EE体系中的组件,是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。采用EJB可以使得开发商业应用系统变得容易,随着需求的改变,应用系统可以不加修改地迁移到其它功能更强、更复杂的服务器上。9/28/202363EJB主要有2种组件:SessionBean和EntityBean。9/28/202364第1章Web技术简介1.1Web基础知识1.2JSP技术1.3JSP开发Web的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论