`

jsp技术概述(二)

阅读更多

ASP

Active Server Pages即ASP是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI(Common GAteway Interface 通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBScript,Javascript等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。

 对于广大网页技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。

 ASP吸收了当今许多流行的技术,如IIS,ActiveX,VBScript
,ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。可以在此找到更详细的信息:http://www.activeserverpages.com。

ASP中最为常用的内置对象和组件如下:

Request对象:用来连接客户端的Web页(.htm文件)和服务器的Web页(.asp文件),可以获取客户端数据,也可以交换两者之间的数据。

Response对象:用于将服务端数据发送到客户端,可通过在客户端浏览器显示,用户浏览页面的重定向以及在客户端创建cookies等方式进行。该功能与Request对象的功能恰恰相反。

Server对象:许多高级功能都靠它来完成;它可以创建各种Server对象的实例以简化用户的操作。

Application对象:它是个应用程序级的对象,用来在所有用户间共享信息,并可以Web应用程序运行期间持久地保持数据。同时如果不加以限制,所有客户都可以访问这个对象。

Session对象:它为每个访问者提供一个标识;Session可以用来存储访问者的一些喜好,可以跟踪访问者的的习惯。在购物网站中,Session常用于创建购物车(Shopping Cart)。

Browser Capabilities(浏览器性能组件):可以确切的描述用户使用的浏览器类型、版本以及浏览器支持的插件功能。使用此组件能正确地裁剪出自己的ASP文件输出,使得ASP文件适合于用户的浏览器,并可以根据检测出的浏览器的类型来显示不同的主页。

FileSystem Objects(文件访问组件):允许你访问文件系统,处理文件。

ADO(数据库访问组件):它是最有用的组件;可以通过ODBC实现对数据库的访问。

Ad Rotator(广告轮显组件):专门为出租广告空间的站点设计的,可以动态的随机显示多个预先设定的BANNER广告条。

以下是ASP通过ADO组件调用数据库并输出的例子:

<%@ LANGUAGE="
VBScript"%>

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=gb2312">
<TITLE>使用ADO的例子</TITLE>
</HEAD>
<BODY>
<P align="center">所查询的书名为:<br>
<%
Dim dataconn
Dim datardset
Set dataconn=Sever.CreateObject("ADODB.Connection")
Set datardset=Sever.CreateObject("ADODB.Recordset")
dataconn.Open "library","sa","" "数据库为library
datardset.Open "SELECT name FROM book",dataconn "查询表book
%>
<%
Do While Not datardset.EOF
%>
<%=datardset("name") %><br>
<%
datardset.MoveNext
Loop
%>
</P>
</BODY>
</HTML>

ASP技术有一个缺陷:它基本上是局限于微软的操作系统平台之上。ASP主要工作环境是微软的IIS应用程序结构,又因Activex对象具有平台特性,所以ASP技术不能很容易地实现在跨平台的WEB服务器的工作。此外,ASP的安全性让人不敢恭维,像样的、正规的企事业单位都不采用ASP网站。

1.1.7 PHP

PHP----Hypertext Preprocessor(超文本预处理器),是一种易于学习和使用的服务器端脚本语言,是生成动态网页的工具之一。它是嵌入HTML文件的一种脚本语言。七语法大部分是从C,JAVA,PERL语言中借来,并形成了自己的独有风格;目标是让WEB程序员快速的开发出动态的网页。它是当今INTERNET上最为火热的脚本语言,只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。

PHP是完全免费的,可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。PHP的官方网站是:http://www.php.net

与ASP、JSP一样,PHP也可以结合HTML语言共同使用;它与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好的实现页面控制,提供更加丰富的功能。

PHP的优点有:安装方便学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!

PHP提供了标准的数据库接口,几乎可以连接所有的数据库;尤其和MYSQL数据库的配合更是"天衣无缝"。下面引用一个调用MYSQL数据库并分页显示的例子来加深对PHP的了解。

<?
$pagesize = 5; //每页显示5条记录
$host="localhost";
$user="user";
$password="psw";
$dbname="book"; //所查询的库表名;
//连接MySQL数据库
mysql_connect("$host","$user","$password") or
die("无法连接MySQL数据库服务器!");
$db = mysql_select_db("$dbname") or die("无法连接数据库!");
$sql = "select count(*) as total from pagetest";//生成查询记录数的SQL语句
$rst = mysql_query($sql) or die("无法执行SQL语句:$sql !"); //查询记录数
$row = mysql_fetch_array($rst) or die("没有更多的记录!"); /取出一条记录
$rowcount = $row["total"];//取出记录数
mysql_free_result($rst) or die("无法释放result资源!"); //释放result资源
$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出总共有几页
if(!isset($pageno)) {
$pageno = 1; //在没有设置pageno时,缺省为显示第1页
}
if($pageno<1) {
$pageno = 1; //若pageno比1小,则把它设置为1
}
if($pageno>$pagecount) {
$pageno = $pagecount; //若pageno比总共的页数大,则把它设置为最后一页
}
if($pageno>0) {
$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF转换为可以在URL上使用的字符串,这样的话就可以处理中文目录或中文文件名
if($pageno>1){//显示上一页的裢接
echo "<a href="" . $href . "?pageno=" . ($pageno-1) . "">上一页</a> ";
}
else{
echo "上一页 ";
}
for($i=1;$i<$pageno;$i++){
echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";
}
echo $pageno . " ";
for($i++;$i<=$pagecount;$i++){
echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";
}
if($pageno<$pagecount){//显示下一页的裢接
echo "<a href="" . $href . "?pageno=" . ($pageno+1) . "">下一页</a> ";
}
else{
echo "下一页 ";
}
$offset = ($pageno-1) * $pagesize;//算出本页第一条记录在整个表中的位置(第一条记录为0)
$sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查询本页数据的SQL语句
$rst = mysql_query($sql);//查询本页数据
$num_fields = mysql_num_fields($rst);//取得字段总数
$i = 0;
while($i<$num_fields){//取得所有字段的名字
$fields[$i] = mysql_field_name($rst,$i);//取得第i+1个字段的名字
$i++;
}
echo "<table border="1" cellspacing="0" cellpadding="0">";//开始输出表格
echo "<tr>";
reset($fields);
while(list(,$field_name)=each($fields)){//显示字段名称
echo "<th>$field_name</th>";
}
echo "</tr>";
while($row=mysql_fetch_array($rst)){//显示本页数据
echo "<tr>";
reset($fields);
while(list(,$field_name)=each($fields)){//显示每个字段的值
$field_value = $row[$field_name];
if($fieldvalue==""){
echo "<td> </td>";
}
else{
echo "<td>$field_value</td>";
}
}
echo "</tr>";
}
echo "</table>";//表格输出结束
mysql_free_result($rst) or die("无法释放result资源!");//释放result资源
}
else{
echo "目前该表中没有任何数据!";
}
mysql_close($server) or die("无法与服务器断开连接!");//断开连接并释放资源
?>

从这个例子可以看出,PHP的语法结构很象C语言,并易于掌握。而且PHP的跨平台特性让程序无论在WINDOWS平台还是LINUX、UNIX系统都能运行自如。

到目前为止,无论在个人网站还是在企业网站上,以上4种技术中以PHP的应用最为广泛。

以上4种技术,皆在制作动态网页上各显神通。至于选择哪种技术,取决于制作者的爱好和技术储备。对于广大个人主页的爱好者、制作者来说,建议尽量少用难度较大、上手较慢的CGI技术。如果你是"微软"的拥趸,采用ASP技术会让您得心应手;如果是LINUX的追求者,运用PHP技术在目前是最恰当、最明智的选择。此外,不要忽略了JSP技术,据说它是未来最有发展前途的动态网站技术,但是在学JSP之前,必须掌握JAVA技术。

1.1.8 JSP

让我们先看一个小程序HelloJsp.jsp:

<html>

<head>

<title>JSP小程序</title>

</head>

<body>

<%

String Str = "JSP小程序 ";

out.print("Hello JSP!");

%>

<h2> <%=Str%> </h2>

</body>

</html>

是不是很象ASP程序?但是,它却是另一种开始流行的技术---JSP。上面的程序是最基本、最简单的的例子。 JSP(Java Server Pages)是由Sun
Microsystem公司于1999/6推出的新技术,是基于Java Servlet以及整个java体系的Web开发技术。利用这一技术可以建立先进、安全和跨平台的动态网站。

总的来讲,Java Sever PagesJSP)和 微软的Active Sever PagesASP)在技术方面有许多相似之处。两者都是为基于WEB应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使网站建设与发展变的较为简单与快捷。不过两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。
ASP一般只应用于Windows的各种版本平台,而JSP则可以不加修改地在85%以上的Web Server上运行,其中包括了Windows的系统,符合"write once,run anywhere"("一次编写,多平台运行")的java标准,实现平台和服务器的独立性,而且基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。

分享到:
评论

相关推荐

    JSP常用开发技术概述

    【JSP常用开发技术概述】 JSP(Java Server Pages)是一种动态网页开发技术,它结合了HTML、CSS、JavaScript等客户端技术与Java语言的服务器端处理能力,是Java应用开发体系中的重要组成部分,尤其在企业级应用开发...

    Servlet Jsp 技术概述

    在本概述中,我们将深入探讨这两个技术的概念、工作原理以及它们如何协同工作。 Servlet是Java编程语言的一个接口,用于扩展服务器的功能。它允许开发者创建能够处理HTTP请求并生成响应的Java程序。Servlet在服务器...

    Servlet&Jsp技术概述

    总的来说,Marty Hall的《Servlet&JSP技术概述》是一本全面介绍Servlet和JSP的教材,适合初学者入门和进阶者深化理解。通过阅读和实践书中的示例,读者可以掌握这些技术,进而开发出高效、稳定、可扩展的Java Web...

    Servlet Jsp 技术概述 pdf

    这份名为《Servlet Jsp 技术概述》的PDF文档很可能是对这两种技术的基础介绍和实践指南,包含有相关的代码示例。 Servlet是Java平台上的一个标准接口,允许Java类响应来自Web客户端(如浏览器)的请求。它们是...

    Servlet+Jsp+技术概述

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,用于构建动态Web应用程序。它们在Web服务器上运行,提供与客户端(通常是浏览器)交互的能力,处理HTTP请求并生成响应。 **Servlet概述** Servlet是...

    Jsp技术概述和jsp页面中的JavaBean组件参照.pdf

    Jsp技术概述和jsp页面中的JavaBean组件参照 Jsp技术概述 Jsp技术可以让我们轻松地创建静态及动态的网络内容。Jsp技术设计了所有Java Servlet技术的动态能力,而且还提供了更自然的途径创建静态内容。Jsp主要特点...

    JSP技术概述和基础语法.mp4

    JSP技术概述和基础语法.mp4

    jsp的概述与发展

    【JSP概述与发展】 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于构建动态的Web应用程序。它允许开发者在HTML或XML文档中嵌入Java代码,从而实现网页的动态生成。JSP是Java EE(Enterprise ...

    jsp概述.ppt入门

    【JSP概述】 ...JSP是Java EE(Enterprise Edition)的一部分,用于构建Web应用程序,特别适合于创建数据驱动的Web服务。 【学习目标】 学习JSP时,你需要掌握...这将帮助你全面掌握JSP技术并能有效地开发企业级Web应用。

    JSP概述.ppt

    JSP简介 JSP开发环境的搭建 JSP的运行 JSP技术架构

    Servlet&Jsp 技术概述

    学习Servlet和JSP技术,需要理解HTTP协议、Java基础和面向对象编程。随着Spring框架的普及,现在更多地使用Spring MVC进行Web开发,但Servlet和JSP仍然是理解Web应用程序工作原理的基础。通过阅读提供的源码,可以更...

    Servlet Jsp 技术概述下载(带源码)

    本资源包提供了一个关于Servlet和JSP技术的概述,包括可能的源代码示例,便于学习者深入理解这两项技术。 Servlet是Java平台上的一个服务器端组件,它扩展了Web服务器的功能,允许开发者用Java编写能够处理HTTP请求...

    jsp技术简介

    #### 一、JSP技术概述 JSP(Java Server Pages)是一种由Sun Microsystems(现已被Oracle收购)开发的用于构建动态Web应用程序的技术。它以简单易学且具有良好的跨平台特性而著称,在众多动态Web应用程序设计语言中...

    基于JSP网上商城设计概述

    3.1 JSP技术运行原理 JSP是一种服务器端脚本语言,它将HTML代码和Java代码分离,通过JavaBean组件实现业务逻辑,服务器负责处理请求,生成动态内容,然后返回给客户端。 3.2 JAVA BEAN技术 JavaBean是Java编程中的...

Global site tag (gtag.js) - Google Analytics