Web应用开发技术笔记
第一章
1.1 WEB技术概述
Web的三要素
展示资源:超文本技术(HTML)
资源地址:统一资源定位技术(URL)
获取资源:应用层协议(HTTP)
静态网页
可否用静态WEB技术开发一个电子商务网站?
答:不能,买卖需要有交互,网页需要实时更新,而静态网站的加载一次成型,无法做到和网页的交互与实时更新。
动态网页(Applet)
Applet存在的问题
不允许进行文件读写,无法进行数据库操作
属胖客户端,下载速度缓慢
发展限制,推广受阻:
Applet 需要浏览器给予支持,而且还要根据不同的版本安装不同版本的JVM
SUN和微软之间的版权矛盾,微软的IE浏览器在一段时间内不支持JVM
动态网页
这类网页文件不仅含有HTML标记,而且含有程序代码(在服务器端运行),这种网页的后缀一般根据不同的程序设计语言而不同,如ASP.NET文件的后缀为.aspx;JSP文件为.jsp。
两个显著特点:
可以动态产生页面
支持客户端和服务器端的交互功能
动态Web的发展
CGI(Common Gateway Interface,公共网关接口)
CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。
CGI是一个标准,采用多进程的机制进行处理,每当一个新用户连接到服务器上时,服务器就为其分配一个新的进程 ,效率低。
1994年, PHP
Rasmus Lerdorf发明了专用于Web服务端编程的PHP(Personal Home Page Tools)语言。
1996年, ASP
Microsoft借鉴PHP的思想,推出ASP技术。借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。
1997年,Servlet
Servlet SUN公司推出了Servlet技术,作为Java阵营的CGI解决方案。
1998年,JSP
允许在HTML页面中嵌入Java脚本代码,实现动态网页功能。
2000–,开发框架或应用模型
整合Web开发技术形成完整的开发框架或应用模型.net 和javaEE,来满足各种复杂的应用需求。
静态网页动态网页的比较
1.2 Web应用程序的工作原理
应用程序开发分为两种结构,C/S模式和B/S模式。
**C/S模式:**客户端/服务器模式,这类应用程序一般独立的运行。客户端需要安装专用的客户端软件。
**B/S模式:**浏览器/服务器模型,需要借助浏览器来运行。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
C/S结构优缺点对比
B/S结构优缺点对比
优点:具有分布性特点,可以随时随地进行查询,浏览等业务处理;
业务扩展简单方便,通过增加网页即可增加服务器功能;
维护简单方便,只需要改变网页,即可实现所有用户的同步更新;
开发简单,共享性强。
缺点:在跨浏览器上B/S架构不尽如人意;
表现要达到C/S程序的程度要花费不少的精力;
在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题;
客户端服务端的交互是请求-响应模式,需要刷新页面;
Web应用程序的开发
Web应用程序包含: 前端的Web浏览器+支持HTTP协议的Web服务器+基于HTML格式的Web页(文档)
从技术层面看,Web架构的精华有三处:
用超文本技术(HTML) 实现信息与信息的连接(看得懂);
用统一资源定位技术(URL) 实现全球信息的精确定位(可定位) ;
用新的应用层协议(HTTP) 实现分布式的信息共享(找得到) 。
小结:Web是一个抽象的(假想的)信息空间。作为Internet上的一种应用架构,Web的首要任务就是向人们提供信息和信息服务。
1.3 动态Web技术
当前主流的三大动态Web开发技术
JSP
ASP/ASP.NET
PHP
PHP
Hypertext Preprocessor,超级文本预处理语言
PHP的优势:
开放源代码,开源产品丰富
PHP应用开发速度快,周期短
开发成本低
后期维护费用低
ASP/ASP.NET
Active Server Pages,动态服务器页面
ASP只能建立在Windows的IIS Web服务器上
ASP.NET技术又称为ASP+
在ASP基础上发展起来,不仅仅更新界面并且修复了一些缺陷,在保留ASP的最大优点并全力使其扩大化的基础上开发出来的
JSP
Java Server Pages
JAVA EE系统中Web层技术,负责动态生成用户界面
1.4 JAVA Web开发的方式与体系结构
JSP的工作原理
JSP和客户端的交互是通过HTTP协议实现的,这个过程主要分为以下4个步骤:
客户端和服务器建立连接
客户端发送请求
服务器发出响应
关闭连接
.jsp->.java->.class->.html
JAVA开发Web程序几种方式
直接使用JSP (✖)
JSP+ JavaBean (课堂)
JSP+ JavaBean+Servlet (课堂)
JAVA EE开发模型
SSH=Struts+Spring+Hibernate开发框架