您好,欢迎访问三七文档
WEB软件开发技术朱百祥E-mail:bxzhu@fudan.edu.cn复旦大学计算机科学技术学院2课程计划‹教学目的‹课程教材‹教学内容‹教学安排和要求3教学目的Web应用是当前互联网中发展最快的、用途最广的应用之一。课程目标:•了解Web应用基础知识•学习Web软件开发技术和应对策略•掌握JavaWeb软件开发过程和基本方法•完成开发一个Web应用,掌握设计思想和处理问题的办法,提高软件开发能力。课程教材4‹教学用书:《JavaWeb开发教程》李绪成闫海珍《JavaWeb编程技术》沈泽刚秦玉平清华大学出版‹参考用书:z《Tomcat与JavaWeb开发技术详解》(第2版)孙卫琴电子工业出版社z《JavaEE5权威指南(原书第3版)》TheJavaEE5TutorialThirdEdition[美]EricJendrockJenniferBallDebbieCarsonlanEvansScottFordinKimHaase等著廖镇等译机械工业出版社主要教学内容5‹Web开发概述:Web发展历程;软件运行原理;软件模式;开发平台构建与配置;软件开发基本过程。‹软件开发基础:HTML;静态/动态网页;XML技术;CSS;B/S方式的信息交互技术;会话跟踪技术等。‹JavaWeb技术:Javaservlet;JSP;JavaBean;JSTL;自定义标记;过滤器等。‹信息存储及访问:临时/持久信息处理;文字/非文字对象处理;动态数据/事务数据处理;信息安全性等‹Web应用软件开发实践:设计实现一个Web应用程序6教学安排、要求和成绩‹讲课与实验讨论相结合z讲课20课时+实验12课时z实验地点:张江计算机楼二楼201计算机教学实验室z实验平台(工具和环境))开放源代码系统Eclipse、Tomcat和MySQL等。‹要求z认真参加每次课程,上课不迟到z按时完成作业(实验),积极交流‹期末成绩评定z期末笔试+平时+综合实验7第1讲Web软件概述主要内容‹Web概念‹Web软件的特征‹Web应用的运行原理‹应用软件的发展历程‹Web系统运行的必要资源‹Web开发模式及开发工具‹Web软件开发关注的问题Web概念8‹Web(WorldWideWeb)z万维网,一般称为)指全球范围的概念,又简称为Web。z1989年诞生于欧洲粒子物理实验室CERN。z1989年3月,CERN的物理学家TimBerners-Lee提出了一个新的因特网协议,并给出了使用该协议的文档访问系统,该系统被命名为Web。zWeb的最初目的:是能让全世界的科学家利用因特网交换文档。zWeb网上服务器提供的文档需要通过Web浏览器进行访问。什么是Web应用软件?9zWeb上的应用程序(服务)z是作为单一实体管理的、逻辑上链接的Web页面的集合。它可以有多个来自不同客户的Web应用。z使用Internet技术开发、使用数据库管理数据,使用浏览器客户端输入或显示数据的网络应用程序。)数据包含:文字、图片、视频和其他多媒体信息zWeb应用典型案例:新浪网、中华网、淘宝网、网易、搜狐网、微软网站、Sun网站等10‹Web软件具有以下3个特征:z用超级文本技术HTML来表达信息,以及建立信息与信息的链接。z用统一资源定位技术URL来实现网络上信息的精确定位。z用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程。注意:Web的首要任务就是向人们提供信息服务。尽管Web上的信息在物理上是分布在网络的不同机器节点上,但是对于用户而言,这些信息在逻辑上是一个相互链接的统一整体。11‹在软件工程中,Web应用程序是一种经由Internet或Intranet、以Web方式访问的程序。它也是一个计算机软件,这个程序是基于浏览器语言(如HTML、ASP、PHP、Perl、JSP、Java等等)编码,依赖于通用的Web浏览器来表现它的执行结果。Web应用执行原理12‹Web应用是如何执行的z用户操作)打开浏览器,输入某个网址。)等待(可能会持续一段时间)。)浏览器显示要访问的信息。z服务器动作(用户等待过程))浏览器把请求发送到Web服务器)Web服务器把请求转发给应用服务器)找到文件,加载执行)应用服务器把执行结果返回给Web服务器)Web服务器再把结果返回给浏览器客户端-浏览器-发出请求13•用户如何访问Web信息?①打开浏览器窗口②输入URL地址③浏览器解析服务器返回的信息④-2用户点击按钮或者超链接④-1用户输入信息提交服务器端-文件(信息)资源-响应回答14•服务器如何响应用户请求?1接收请求2转发请求3查找文件Web服务器应用服务器6转发给客户5返回执行结果4执行文件Web系统运行的必要资源—基础15•必要的环境支持‹客户端:浏览器程序z发送请求z展示服务器的响应信息‹服务器端:Web服务程序、应用服务z接收请求,对用户响应;z处理请求‹网络设备:连接服务器与客户端16•Web使用的网络通信协议(HTTP协议)‹HTTP协议zHTTP(HypertextTransferProtocol)zWeb应用的主要协议z是一个基于请求--响应的无状态的协议方式z运行机制)客户向服务器发送一个对某种资源的HTTP请求)服务器返回对所需要的资源的HTTP响应17•客户端与服务器端之间的一次信息交换过程:(浏览器)Web服务器•常用的HTTP客户程序(包括IE、Netscape和Firefox等)•常用的HTTP服务器(包括Apache和IIS等)。•Web使用的基本通信语言(HTML语言)18‹HTML语言zHyperTextMackupLanguage超文本链接语言z服务器用HTML语言实现对用户响应应用软件发展历程19‹早期的主机/终端模式¾主机系统或单层结构:‹特点z数据访问、表示和业务逻辑在一个应用中‹问题z代码复用、代码可维护性、代码的修改十分困难z应用不是分布式的,不具有可伸缩性C/S模式–Client/Server20‹客户机/服务器模式:(二层架构)¾“胖”客户端胖客户端:表示逻辑业务逻辑业务数据模型通讯FatclientFatclient问题‹用户界面和程序逻辑绑在一起,代码难以重用‹服务器的数据库必须同每一个活动的客户保持连接,消耗大量的运算资源,随着客户数目的增加性能不断下降,且存在死锁及崩溃的可能‹数据模型“紧耦合”在每一客户端,数据库结构改变将导致全体客户端改变,不利于更新和维护‹原始数据通过网络传递:加重网络负担‹客户端应用程序越来越大,对使用者的要求也越来越高B/S模式–Browser/Server21‹基于Web技术模式:(三层分布式架构)22‹基于Web技术的程序模式带来的变化:‹浏览方式带来的变化:z“Browser-based”的客户端与“Internetworking”z计算方式向服务器端的集中转化‹客户端:业务数据模型与用户接口界面分开,变“瘦”‹业务逻辑在中间层,通过服务器连接池,多线程技术可以并行处理多客户端‹早期应用编程困难且处理性能比较差:CGI(C/C++,VB,Perl等等),ISAPI,NSAPIB/S结构与C/S结构比较23‹特点面向企业级的应用模式24‹N层计算模式的引入采用N层计算结构,从逻辑角度看,系统分成客户端、Web服务器、应用服务器、数据库服务器四层;从物理角度看,应用服务器可以视用户并发数从1到N台进行扩充,以保证客户端用户的响应要求。Web软件与传统桌面程序的比较25软件类型优点缺点web应用1.标准化的开发、发布和浏览方式2.客户机不需要安装专门的客户程序,只要安装了浏览器即可3.软件升级容易4.可以穿透防火墙5.易于在异构平台上进行配置集成6.降低对用户的培训费用1.客户界面开发不如桌面应用程序方便,难以实现复杂的客户界面2.响应速度慢,难以满足实时系统的需求桌面应用程序1.交互性强2.运行性能好3.网络负载小4.非常安全5.易于维护和跟踪用户的状态1.系统整合性差2.配置和维护成本高3.对客户机的要求高4.用户培训时间长5.软件伸缩性差6.软件复用性差Web软件功能发展26‹第一阶段:发布静态HTML文档。z简单网页新闻‹第二阶段:发布静态多媒体信息。z图片、声音等‹第三阶段:提供浏览器端与用户的动态交互功能。zCGI技术‹第四阶段:提供服务器端与用户的动态交互功能。z动态网页技术‹第五阶段:发布基于Web的应用程序,即Web应用。z企业管理‹第六阶段:发布Web服务。z电子商务‹第七阶段:推出Web2.0,它是全民共建的Web。z网络社区27‹Web2.0z更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。)博客(BLOG))百科全书(Wiki))网站摘要(RSS))社交网络(SNS))即时信息(IM)等Web应用开发中需要考虑的问题28‹信息展示‹信息检索(查询)‹信息输入‹信息更新‹信息处理‹信息存储‹信息安全服务器端动态Web文档处理技术29‹CGI技术‹Servlet技术‹HTML页面中嵌入脚本技术30‹CGI技术zCGI(CommonGatewayInterface,公共网关接口)z允许Web服务器与后端程序及脚本通信,这些后端程序和脚本能够接受输入信息(例如,来自表单),并生成HTML页面作为响应。zCGI程序可以用服务器支持的任何语言来编写,最常见的是Perl语言.z服务器在接收到一个对CGI程序的请求时,不会返回该文件,而是运行该文件。31‹HTML文档中调用CGI程序有两种方法:z通过表单的action属性formaction=“”)按提交按钮后,将请求发送给该程序.z使用锚标记(a),这与链接文档相似。)href属性中指定CGI程序文件名的完整的URL路径客户端动态Web文档处理技术32‹客户端动态文档技术的需求z响应鼠标移动事件z直接与用户交互z客户端验证等‹客户端动态文档技术的实现z在HTML页面中嵌入脚本,而且这些脚本是客户机上被执行的而不是在服务器上执行z可以通过script标签来使用这样的脚本。最流行的是JavaScript‹JavaScript是一种脚本语言z它类似Java语法,但与Java程序完全不是一回事。zJavaScript脚本语言非常适合交互式页面的设计。典型Web开发技术33‹3P技术(JSP、ASP、PHP)zJSP(JavaServerPages))Sun公司的动态网页技术,采用Java技术标准)使用这种技术的文件的扩展名为jspzASP(ActiveServerPage)、ASP.NET)微软公司的WEB服务器端技术,采用脚本语言VBScript)使用这种技术的文件的扩展名为aspzPHP(HypertextPreprocessor))称为超文本预处理器,是一种HTML内嵌式的语言,可以用C、Java、Perl等语言编写)PHP的Web页面的文件扩展名为php,而不是html或htm。JavaWeb开发技术34‹JSP,进行输入输出的基本手段‹JavaBean,完成功能的处理‹Servlet,对应用的流程进行控制‹JDBC,是与数据库进行交互不可缺少的技术‹JSTL和表达式语言EL,完成JSP页面中各种信息的控制和输出‹XML,JavaWeb应用中的配置文件‹JavaMail,邮件处理‹EJB,企业业务处理JavaWeb与Java的关系35‹Java技术的3个版本:zJavaSE,标准版,主要用于桌面应用的开发,同时是其他版本的基础。zJavaEE,企业版,主要用于企业级应用的开发。zJavaME,微版本或者称为嵌入式版本,占用内存较少,主要用于嵌入式设备中应用的开发。JavaWeb与Java的关系3637‹用于Web服务器软件:zApache服务器zTomcat(Apache)zJBoss(Redhat)zWeblogic(Bea)zGlassFish(Sun)zWebsphere(IBM)zApplicationS
本文标题:javaweb_1
链接地址:https://www.777doc.com/doc-5118499 .html