《WEB应用程序设计.ppt》由会员分享,可在线阅读,更多相关《WEB应用程序设计.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WEBWEB应用程序设计应用程序设计 主讲:杨亚蕾主讲:杨亚蕾WEB应用程序设计联系方式o电话:电话:13055521622oE-mail:yang_o办公地址:办公地址:C2-305信息工程教研室信息工程教研室福建工程学院杨亚蕾WEB应用程序设计课程简介课程简介o专业课专业课o先导课程:计算机网络,先导课程:计算机网络,JAVA语言,静语言,静态网页制作(态网页制作(HTML)o注重实践,快速掌握注重实践,快速掌握JSP编程技术。编程技术。福建工程学院杨亚蕾WEB应用程序设计教材教材oWeb程序设计程序设计-JSPo孙延鹏孙延鹏吕晓鹏吕晓鹏编著编著o人民邮电出版社人民邮电出版社o网址:网址:
2、http:/福建工程学院杨亚蕾WEB应用程序设计主要内容主要内容oJSP简介简介oJSP实现网站计数器实现网站计数器oJSP实现用户注册实现用户注册oJSP与与Servlet实现用户登录实现用户登录oJSP与与JavaBean实现用户信息查询实现用户信息查询oJSP实现图片上传和读取显示实现图片上传和读取显示oJSP实现留言板实现留言板o综合案例综合案例福建工程学院杨亚蕾WEB应用程序设计第第1章章JSP概述概述oJSP(JavaServerPages)o由由SunMicrosystems公司倡导、许多公公司倡导、许多公司参与建立的一种动态网页技术标准。司参与建立的一种动态网页技术标准。oJS
3、P技术由技术由Java语言作为脚本语言。语言作为脚本语言。oJSP为整个服务器端为整个服务器端Java库单元提供了一库单元提供了一个接口,该接口服务于个接口,该接口服务于HTTP应用程序。应用程序。福建工程学院杨亚蕾WEB应用程序设计1.1Java语言简介语言简介o面向对象的高级编程语言面向对象的高级编程语言o最早诞生于最早诞生于1991年年oSun公司公司oOako1994年年oJavaSE,JavaEE,JavaME福建工程学院杨亚蕾WEB应用程序设计1.2Web基础基础o万维网(万维网(WorldWideWeb,WWW)是)是英国人英国人TimBerners-Lee于于1989年在欧洲年
4、在欧洲共同体的一个大型科研机构任职时发明的。共同体的一个大型科研机构任职时发明的。通过通过WWWInternet上的资源可以在一个上的资源可以在一个网页中比较直观地表示出来,而且网页之网页中比较直观地表示出来,而且网页之间可以通过链接跳转。间可以通过链接跳转。oWeb2.0福建工程学院杨亚蕾WEB应用程序设计1.2.1Web简介简介oWeb定义了定义了Web客户端(客户端(Web浏览器)和浏览器)和Web服务端如何通信。服务端如何通信。o通过浏览器访问通过浏览器访问o发送一系列简单的消息来相互通信。发送一系列简单的消息来相互通信。p首先,客户端通过首先,客户端通过Web浏览器向浏览器向Web服
5、务器发出一个消息,服务器发出一个消息,请求希望接收的一个特定的请求希望接收的一个特定的Web页面,如果页面存在,页面,如果页面存在,Web服务器做出响应,并返回一个包含响应服务器做出响应,并返回一个包含响应Web页面的消页面的消息。息。p如果客户端要查看其他页面,如果客户端要查看其他页面,Web浏览器会向浏览器会向Web服务器服务器发送其他请求,同时发送其他请求,同时Web服务器用相应的服务器用相应的Web页面做出响页面做出响应。应。福建工程学院杨亚蕾WEB应用程序设计1.2.2HTTP简介简介oHTTP(HyperTextTransferProtocol,超文,超文本传输协议)是一种本传输协
6、议)是一种Internet上常见的协议,用上常见的协议,用于传输超文本标记语言(于传输超文本标记语言(HyperTextMarkupLanguageHTML)编写的文件,也就是通常所)编写的文件,也就是通常所说的网页。说的网页。o通过这个协议,可以浏览网络上的各种信息,通过这个协议,可以浏览网络上的各种信息,在浏览器上看到丰富多彩的内容。在浏览器上看到丰富多彩的内容。o基于基于HTTP的客户端的客户端/服务端信息通信分为服务端信息通信分为4个过个过程:建立连接、发送请求、发送响应信息、关程:建立连接、发送请求、发送响应信息、关闭连接。闭连接。福建工程学院杨亚蕾WEB应用程序设计1.2.3B/S
7、结构简介结构简介oBrowser/Server(浏览器(浏览器/服务器)服务器)oB/S结构是三层体系结构结构是三层体系结构Browser(浏览器)浏览器)Web服务器服务器数据库数据库HTTPHTML福建工程学院杨亚蕾WEB应用程序设计1.2.4C/S结构简介结构简介oC/S是是Client/Server的缩写,的缩写,C/S结构是二层结结构是二层结构平台模式。构平台模式。C/S结构要求客户端要安装指定的结构要求客户端要安装指定的软件,客户端负责执行前端的数据处理,服务软件,客户端负责执行前端的数据处理,服务端进行后端的服务处理。目前大多数的网络游端进行后端的服务处理。目前大多数的网络游戏都
8、是采用戏都是采用C/S结构。结构。C/S结构如图所示。结构如图所示。福建工程学院杨亚蕾WEB应用程序设计1.2.5B/S结构与结构与C/S结构比较结构比较oB/S结构与结构与C/S结构有着本质上的不同。结构有着本质上的不同。在软件规划过程中,需要恰当地选择软件在软件规划过程中,需要恰当地选择软件结构。这两种结构各有优缺点结构。这两种结构各有优缺点o服务器负荷量,维护费用,升级方便性,服务器负荷量,维护费用,升级方便性,选择性,安全性选择性,安全性福建工程学院杨亚蕾WEB应用程序设计1.2.6网站的构成网站的构成o网站结构一般分为网站结构一般分为3层:用户界面交互层、应用层:用户界面交互层、应用
9、程序层、数据库层,程序层、数据库层,o在本书中,用户界面交互层通常采用在本书中,用户界面交互层通常采用JSP或者或者HTML来创建界面,利用来创建界面,利用JavaScript和和CSS来来丰富界面效果。丰富界面效果。o应用程序层主要使用应用程序层主要使用Java语言来处理各种不同语言来处理各种不同的业务需求,在数据库层可以通过一些存储过的业务需求,在数据库层可以通过一些存储过程来处理数据的存储和检索。程来处理数据的存储和检索。o业务要求。所谓业务就是要实现的功能。业务要求。所谓业务就是要实现的功能。福建工程学院杨亚蕾WEB应用程序设计1.3Servlet和和JSP技术技术oServlet和和
10、JSP技术都是属于技术都是属于Web层的技术。这两项技术层的技术。这两项技术都可以解决动态网页的生成问题,但最好的方式是取两都可以解决动态网页的生成问题,但最好的方式是取两项技术各自的长处:项技术各自的长处:JSP负责网页表现设计,负责网页表现设计,Servlet负负责跳转控制。每一个责跳转控制。每一个JSP文件在执行之前都会被转化成文件在执行之前都会被转化成Servlet文件,如图文件,如图1-3所示。所示。o在通常的开发过程中,在通常的开发过程中,JSP主要负责与用户交互的界面主要负责与用户交互的界面的实现,而的实现,而Servlet主要负责请求处理结束后的跳转控制。主要负责请求处理结束后
11、的跳转控制。这两者有着不可分割的联系,也有一些区别。在学习过这两者有着不可分割的联系,也有一些区别。在学习过程中应该抓住这两种技术各自的特点,灵活地将其应用程中应该抓住这两种技术各自的特点,灵活地将其应用在合适的地方。在合适的地方。福建工程学院杨亚蕾WEB应用程序设计1.3.1Servlet简介简介oServlet是用是用Java编写的服务端程序,它编写的服务端程序,它与协议和平台无关。与协议和平台无关。Servlet运行在运行在JavaWebServer上,并采用了请求响应的上,并采用了请求响应的模式提供服务。在介绍模式提供服务。在介绍Servlet时需要了时需要了解另一种技术解另一种技术C
12、GI。CGI(CommonGatewayInterface)是)是HTTP服务器与其服务器与其他机器上的程序进行他机器上的程序进行“交谈交谈”的一种工具,的一种工具,其程序必须运行在网络服务器上。其程序必须运行在网络服务器上。福建工程学院杨亚蕾WEB应用程序设计1.3.2Servlet的生命周期的生命周期oServlet的生命周期可以分为的生命周期可以分为4个阶段:载个阶段:载入、初始化、执行、删除入、初始化、执行、删除福建工程学院杨亚蕾WEB应用程序设计1.3.3JSP简介简介o在传统的网页文件在传统的网页文件HTML中加入中加入Java程序程序片段和片段和JSP标记,就构成了标记,就构成了
13、JSP网页。由网页。由于利用于利用Servlet技术在实现用户交互界面技术在实现用户交互界面时需要复杂冗余的代码,增加了开发的难时需要复杂冗余的代码,增加了开发的难度。为了弥补度。为了弥补Servlet在表现力上的匮乏,在表现力上的匮乏,Sun公司推出了公司推出了JSP技术。技术。JSP是对是对Servlet的简化,每个的简化,每个JSP文件在执行之前文件在执行之前都会被转化成都会被转化成Servlet文件。文件。福建工程学院杨亚蕾WEB应用程序设计1.3.4JSP与其他技术的比较与其他技术的比较o如今,编写动态网页的语言越来越多,其中比如今,编写动态网页的语言越来越多,其中比较主流的有较主流
14、的有ASP、PHP、JSP等。几种语言都等。几种语言都有各自的优缺点。有各自的优缺点。oJSP与与ASP比较,有以下几点优势。比较,有以下几点优势。o利用利用JSP可以支持可以支持EJB,以支持,以支持Transaction和和CORBA标准,而且还可以支持标准,而且还可以支持LDAPMessage等服务,使得访问等服务,使得访问ERP、CICS、MQ等企业应等企业应用非常容易。而用非常容易。而PHP在这方面先天不足,所以在这方面先天不足,所以对于电子商务这样的对于电子商务这样的Mission-critical应用来说,应用来说,PHP并不适合。并不适合。福建工程学院杨亚蕾WEB应用程序设计1
15、.4JSP开发和运行环境简介开发和运行环境简介oJSP技术是基于技术是基于Java语言的动态网页开发技术。在开发语言的动态网页开发技术。在开发过程中,需要搭建一个以过程中,需要搭建一个以Java语言为基础的开发环境、语言为基础的开发环境、软件开发包(软件开发包(JDK)和运行环境()和运行环境(JRE)。见于)。见于Web应应用的特点,还需要一些支持用的特点,还需要一些支持Java语言的语言的Web应用服务应用服务器,如器,如Tomcat、Jboss、Weblogic等(本书将着重介等(本书将着重介绍绍Tomcat的安装和使用)。最后是数据库的安装和使的安装和使用)。最后是数据库的安装和使用,
16、本书主要以用,本书主要以SQLServer数据库服务器为介绍对象。数据库服务器为介绍对象。oJDK的安装和配置的安装和配置o应用服务器的安装和配置应用服务器的安装和配置o开发工具的安装开发工具的安装o数据库的安装及配置数据库的安装及配置福建工程学院杨亚蕾WEB应用程序设计1.5第一个第一个Servlet程序程序o在开发第一个在开发第一个Servlet程序之前需要先搭建一个程序之前需要先搭建一个Web项项目,因为无论是开发目,因为无论是开发Servlet还是还是JSP程序都需要基于一程序都需要基于一个个Web项目项目o普通普通Web项目文件结构主要由以下项目文件结构主要由以下3部分组成:部分组成
17、:nJavaResources:存放资源文件,如:存放资源文件,如Java文件、文件、Jar包等。包等。nbuild:存放:存放Java文件被编译后的文件被编译后的class文件。文件。nWebContent:存放网页资源文件,如:存放网页资源文件,如JSP、HTML等。等。odoPost方法体中代码方法体中代码odoGet和和doPost是常用的处理请求方式,这两种方式有是常用的处理请求方式,这两种方式有一些区别一些区别odoGet和和doPost的比较的比较odoGetDoPost请求提交方式通过请求提交方式通过URL地址栏提交通过表单提交提地址栏提交通过表单提交提交长度受限制不受安全性低
18、相对交长度受限制不受安全性低相对doGet安全性稍好些安全性稍好些福建工程学院杨亚蕾WEB应用程序设计1.6第一个第一个JSP程序程序oJSP页面主要由页面主要由HTML和和Java代码构成。代码构成。Java代码是通过代码是通过符号加入到符号加入到HTML代码中间的代码中间的oJSP指令指令oJSP声明声明oJSP表达式表达式oJSP代码块代码块福建工程学院杨亚蕾WEB应用程序设计JSP页面页面o在传统的在传统的HTML页面文件中加入页面文件中加入Java程序程序片和片和JSP标签就构成一个标签就构成一个JSP页面文件。页面文件。o使用标记符号使用标记符号“”加入加入Java程程序片序片o文
19、件的扩展名为文件的扩展名为jspo文件的名字必须符合标识符规定,有大小文件的名字必须符合标识符规定,有大小写之分写之分福建工程学院杨亚蕾WEB应用程序设计JSP文件结构及主要标签文件结构及主要标签.其他 HTML 语言 其他 HTML 语言 福建工程学院杨亚蕾WEB应用程序设计%for(int i=0;i2;i+)out.println(“你好你好”);%你好 你好 福建工程学院杨亚蕾WEB应用程序设计JSP执行过程执行过程*.jsp*.java*.classrequestresponse执行jsp parserJSDKservlet 分析器福建工程学院杨亚蕾WEB应用程序设计福建工程学院杨亚
20、蕾WEB应用程序设计第第2章章JSP实现网站计数器实现网站计数器o主要内容:主要内容:nJSP读写文件读写文件n网站计数器的设计实现网站计数器的设计实现福建工程学院杨亚蕾WEB应用程序设计2.1网站计数器实现原理网站计数器实现原理福建工程学院杨亚蕾WEB应用程序设计JSP中读取文本文件内容中读取文本文件内容oJSP中读取文本文件内容主要是通过中读取文本文件内容主要是通过Java的读取文件类,由的读取文件类,由JSP通过浏览器显示结通过浏览器显示结果。这样的文本读取需要使用果。这样的文本读取需要使用JDK中的中的BufferedReader类和类和FileReader类。类。oBufferedR
21、eader类用来从字符输入流中类用来从字符输入流中读取文本并将字符存入缓冲区以便能提供读取文本并将字符存入缓冲区以便能提供字符、数组的高效读取。字符、数组的高效读取。福建工程学院杨亚蕾WEB应用程序设计JSP向文本文件中写入内容向文本文件中写入内容oJSP向文本文件中写入内容主要是通过向文本文件中写入内容主要是通过Java写入文件类。这样的文本写入需要使写入文件类。这样的文本写入需要使用用JDK中的中的FileOutputStream类和类和PrintWriter类。类。oFileOutputStream类是用来向类是用来向File或或FileDescriptor输出数据的一个输出流。输出数据的一个输出流。FileOutputStream类的几个常用方法类的几个常用方法福建工程学院杨亚蕾WEB应用程序设计作业作业oP37习题习题o上机任务上机任务n配置配置JSP运行环境并测试运行环境并测试n完成第完成第1章和第章和第2章实验题目章实验题目福建工程学院杨亚蕾
限制150内