第7章 服务器端开发——动态主页技术基础
教学目标
教学重点
教学过程
教学目标
了解动态主页的基本特点
掌握.NET动态主页的基本开发方法
了解Java技术基础
了解不同动态主页开发技术的异同
教学重点
.NET动态主页的基本开发方法
Java技术基础
教学过程
动态主页基本原理
.NET介绍
应用的开发
Java技术
不同的动态主页技术比较
动态主页基本原理
静态页面:网页内容在设计时就确定了,如要修改或维护,必须修改源代码
活动页面:在静态页面的基础上,加入控制客户端显示方式的元素,在客户端改变网页的内容和样式
动态页面:网页内容从服务器提取,数据可随时更新,页面内容实时生成,并具有交互性
动态主页基本原理
动态”的“动”指的是“交互性”,通俗的说就是网页能不能根据访问者或访问时间的不同而显示出不同的内容
客户端动态网页
通过附加到浏览器上的模块(插件)完成动态网页的全部工作,但存在一定缺陷
服务器端动态网页
由客户端提出执行请求,在服务器端运行,运行的结果通过HTML的形式传回客户端
PHP、CGI、ASP、JSP和ASP .NET等
.NET介绍
微软总裁兼首席执行官Steve Ballmer给.NET下的定义为:
“.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。”
即:.NET = 新平台 + 标准协议 + 统一开发工具
.NET致力将手机,浏览器和门户应用程序集成到一起,形成一个统一的开发环境
.NET介绍
.NET的设计目标
.NET介绍
.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础
. NET框架是一个多语言组件开发和执行环境,他提供了一个跨语言的统一编程环境。. NET框架的设计目标是让开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通
.NET介绍
.NET框架结构
应用的开发
提供与现有ASP兼容的语法
这包括支持可在.aspx文件内与HTML内容混合的<% %>代码呈现块
这些代码块在网页呈现时按由上而下的方式执行
应用的开发
<% @ Page Language="C#" %>
<%
("我的第一个程序");
%>
一个简单的实例——测试运行环境
应用的开发
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e ) {
if (!) {
DataTable dt = new DataTable();
DataRow dr;
(new DataColumn("整数值", typeof(Int32)));
(new DataColumn("字符串值", typeof(string)));
(new DataColumn("日期时间值", typeof(DateTime)));
(new DataColumn("布尔值", typeof(bool)));
数据库访问
应用的开发
for (int i = 1; i <= 9; i++) {
dr = ();
dr[0] = i;
dr[1] = "项 " + ();
dr[2] = ;
dr[3] = (i % 2 != 0) ? true : false;
(dr);
}
= new DataView(dt);
();
}
}
</script>
数据库访问
应用的开发
<form id="Form1" runat=server>
<asp:DataGrid id="dataGrid1" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
HeaderStyle-BackColor="#aaaadd"
/>
</form>
数据库访问
Java技术
Java不单定义了一种计算机语言,而且提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行
Java技术
Java不单定义了一种计算机语言,而且提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行
简单性
面向对象
分布性
健壮性
安全性
体系结构中立
可移植性
解释执行
高性能
多线程
动态性
Java技术
Applet是嵌入Web文档的程序
Application则是一般的应用程序
Java允许开发同时具备这两种特征的程序,可参考教材【实例4】
Java技术
Servlet:服务器端的Applet
它从客户端接收请求,执行设定的操作后,最终将结果返回给客户端
客户端(如Web浏览器)通过HTTP提出请求
Web服务器接收该请求并将其发给servlet,如果这个Servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它
Servlet将接收该HTTP请求并执行某种处理
Servlet将向Web服务器返回应答
Web服务器从Servlet收到的应答发送给客户端
Java技术
JSP提供了一种简单而快速创建显示动态生成内容Web页面的方法
具有简单实用、移植性和规范性好的特点
开发方式
可直接使用JSP
JSP+JavaBeans
JSP+JavaBeans+Servlet
Java技术
用JSP创建一个显示不同颜色的文字的网页
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>JSP test page---HelloWorld!</TITLE>
</HEAD>
<BODY>
<%
String[] colors={"red","green","blue","black","gray"};
for (int i = 0 ; i < 5 ; i++)
{ ("<h1><font color=" + colors[i] + ">Hello World! My first jsp page.</font></h1>"); }
%>
</BODY>
</HTML>
Java技术
J2EE
建立在J2SE基础上,为企业级应用提供完整、稳定、安全和快速的Java平台
是一个标准而不是一个产品
J2EE平台提供的Web开发技术主要支持两类软件的开发和应用
高级信息系统框架的Web应用服务器
Web应用服务器上运行的Web应用
Struts、Hibernate和Spring Framework是J2EE的开发框架,可大大加快开发速度
不同的动态主页技术比较
CGI
Common Gateway Interface(通用网关接口)
通过环境变量、标准输入输出来传递参数
可使用各种高级语言进行开发
每次请求都会在系统中创建一个新的进程,效率较低
使用复杂,不便掌握
不同的动态主页技术比较
ISAPI/NSAPI
在服务器端第一次被执行的时候即被调入内存,在本次请求结束后也不需退出
执行效率高且能保持跟数据库之间的高效连接
可使用各种高级语言进行开发
但编写和调试难度较大
不同的动态主页技术比较
ASP
Active Server Pags ——动态服务器主页
可结合HTML网页、ASP指令和ActiveX组件建立动态、交互且高效的WEB服务器应用程序
在普通HTML文件中嵌入VBScript/ JavaScript脚本语言
在服务器端解释执行,当请求ASP文件时,服务器就解释成标准的HTML返发回客户端
不受客户端浏览器限制,便于和服务器交换数据,如存取数据库
面向对象
ASP的工作原理
客户端
Web服务器
请求
响应
HTTPD
ISAPI
ASP
脚本宿主
ASP
脚本程序
脚本引擎
对象控件
DB
不同的动态主页技术比较
ASP实例
不同的动态主页技术比较
<html>
<%for i = 1 to 7 %>
<font size= <% = i %>
color=#0000ff>掌握动态主页技术,未来在我脚下!
</font><br>
<%next%>
</html>
不同的动态主页技术比较
PHP
Personal Hypertext Preprocessor:超文本预处理器
完全免费
遵守GNU公共许可 ,可获得PHP的源码
新的对象模式、异常处理、名称空间
面向对象化
不同的动态主页技术比较
较慢
快
慢
无
更新速度
目前一般
超多
多
多
使用网站
极佳
佳
低
佳
系统安全
多
多
少
不定
函数支持
较高
低
低
高
学习门槛
优
优
优
差
网页结合
仅支持Java
PHP
VB
不限,几乎所有
程序语言
中等
短
短
长
修改时间
中等
短
短
长
开发时间
非常高
高
中等
高
稳定性
极快
很快
快
慢
执行效率
非常多
非常多
IIS
几乎所有
服务器
几乎所有
几乎所有
Win32
几乎所有
操作系统
JSP/Servlet
PHP
ASP
CGI
后台界面