《第9部分网络编程技术》由会员分享,可在线阅读,更多相关《第9部分网络编程技术(153页珍藏版)》请在金锄头文库上搜索。
1、谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术第第9章章 网络编程技术网络编程技术9 91 1 HTML基础基础9 92 2 ASP编程技术编程技术9 93 3 JAVA语言的网络程序设计语言的网络程序设计9 94 4 JSP编程技术编程技术9 95 5习题习题9滓砧懒目脐祝盖锌颖无斋亨庆舔帆广练沂曹乍谚揣过碟跟夹溜津还汾蛇凳第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术9 91 HTML 1 HTML 基础基础9 91 11 HTML 1
2、 HTML 语言基础语言基础HTML(HyperTextMarkupLanguage)超超文文本本标标记记语语言言是是网网页页设设计计的的基基础础,源源于于标标准准通通用用标标志志语语言言SGML(StandardMarkupLanguage)。利利用用HTML语语言言编编写写的的Web网网页页,实实质质上上就就是是纯纯文文本本文文件件,可可用用任任何何文文本本编编辑辑器器阅阅读读和和编编辑辑。HTML文文档档通通过过标标记记(TAG)和和属属性性对对超超文文本本的的语语义义进进行行描描述述,这这些些TAG用用于于描描述述网网页页内内容容在在浏浏览览器器中中的的显显示示方方式式,产产生生所所需
3、需的的各各种种效效果果。HTML作作为为一一种种标标记记语语言言,用用来来创创建建与与系系统统平平台台无无关关的的文文档档,即即任任何何可可以以运运行行浏浏览览器器的的计计算算机都能阅读并显示机都能阅读并显示HTML。腾祖爽揪捷墓臀热钩擦寅童鳖软访求庐逼辨蛹剩浅剔辫醇鲤冗需羽婉恼袋第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术HTML有以下用途:有以下用途:用标题、文本、表格、列表、照片等发布在线信息。用标题、文本、表格、列表、照片等发布在线信息。通过超文本链接,在鼠标点击时取得在线信息。通过超文
4、本链接,在鼠标点击时取得在线信息。设计表格与远程服务通讯,查询信息、进行预订、订购产品设计表格与远程服务通讯,查询信息、进行预订、订购产品等。等。把样式表、视频剪辑、音频剪辑和其它应用程序包含在文档把样式表、视频剪辑、音频剪辑和其它应用程序包含在文档中。中。浏览器能够阅读的浏览器能够阅读的HTML文本包括如下两种类型的信息:文本包括如下两种类型的信息:标记信息:该部分信息用来控制文档内部的显示方式,并允标记信息:该部分信息用来控制文档内部的显示方式,并允许许WEB设计人员指定与其他文档的连接。设计人员指定与其他文档的连接。内容信息:该部分信息就是浏览器显示的文本、图形和声音内容信息:该部分信息
5、就是浏览器显示的文本、图形和声音信息,简称为文件块。信息,简称为文件块。HTML文档是由标记和文件块组成的。下面简单介绍文档是由标记和文件块组成的。下面简单介绍HTML的使用。的使用。曹县麓课艰曙居僚橡唆皱弘己牟埃犀再旦宜击憎篷坐苛懒尺叶翱尽徊舜眉第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术1HTML元素元素HTML文件所有的控制语句称为标记文件所有的控制语句称为标记(TAG),元素,元素(Element)由标记和文件块组成。标记全部放在一由标记和文件块组成。标记全部放在一对尖括号之中,如对尖括
6、号之中,如“”的形式。在的形式。在HTML中,典中,典型的元素由三部分组成:起始标记、文件块和结束型的元素由三部分组成:起始标记、文件块和结束标记。格式为:标记。格式为:受影响的文本受影响的文本元素的起始标记写作元素的起始标记写作,其中,其中ElementName为此元素的名称。元素结束标记为在为此元素的名称。元素结束标记为在元素名称前面加一斜杠,形如元素名称前面加一斜杠,形如。例如:例如:HTML的基本语法的基本语法对标记的使用有以下一些约定:对标记的使用有以下一些约定:酵疆款登迂睹图嘱嘎亥驼冠伶贤砍诱葵锐捧佰磐焰阿闹昆进讯躁瑰梯边搬第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬
7、晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术(1)大多数标记都是成对出现的,称为)大多数标记都是成对出现的,称为“双标记双标记”,它由,它由“起始标记起始标记”和和“结束标记结束标记”两部分构成,而且两部分构成,而且必须成对使用。必须成对使用。例如:例如:和和为表的行标记,用于定义为表的行标记,用于定义数据行。数据行。和和为表的数据标记,用于定为表的数据标记,用于定义每行内单元格。义每行内单元格。也有少部分标记无尾标记,称为也有少部分标记无尾标记,称为“单标记单标记”或或“空标空标记记”。它们只需要单独使用就能完整地表达意思,。它们只需要单独使用就能完
8、整地表达意思,最常见的单标签是最常见的单标签是表示强迫换行。表示强迫换行。(2)标记的字母可以大写,也可以小写,二者作)标记的字母可以大写,也可以小写,二者作用完全一样。因此说,用完全一样。因此说,与与效果是一效果是一样的。样的。(3)标记可以联合使用,也可以嵌套。)标记可以联合使用,也可以嵌套。呕躯琶桓光巡安临疏识绣黑印店驴涟揉披勘里师哄鞍要炎镇昨身褒灿赶削第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术2HTML元素的属性元素的属性HTML元素具有相关属性,可对这些属性赋予适元素具有相关属性,可
9、对这些属性赋予适当的值,制作各种效果。一个元素可以具有多个属当的值,制作各种效果。一个元素可以具有多个属性,其属性名和属性值都必须出现在该起始标记结性,其属性名和属性值都必须出现在该起始标记结束符之前,彼此以空格隔开,各属性的顺序可以是束符之前,彼此以空格隔开,各属性的顺序可以是任意的,语法格式为:任意的,语法格式为:/标记标记属性值使用英文双引号或单引号括起来。当使用双属性值使用英文双引号或单引号括起来。当使用双引号时,属性值内可使用单引号,反之亦然。某些引号时,属性值内可使用单引号,反之亦然。某些情况下,情况下,HTML中也可以不使用引号指明属性值。中也可以不使用引号指明属性值。例如,下面
10、的代码将例如,下面的代码将H1元素的元素的align属性设为属性设为center哼评侍感筋歧糜孺单阵孔躲便涨呆炔豪吕且撩旧谋倔酵靠堪坯培民畸撵刻第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术各属性之间无先后次序,属性也可省略各属性之间无先后次序,属性也可省略(即取默认即取默认值值)。应该注意,属性名也是不区分大小写的,同时属性应该注意,属性名也是不区分大小写的,同时属性值中只能包含字母、数字、连字符或者句点。值中只能包含字母、数字、连字符或者句点。3HTML文件的注释文件的注释HTML文件注释的基
11、本格式如下:文件注释的基本格式如下:巴今耿桥限跟贰酣漠哎忿纬源每大抬绒韦老甚锥敬辩秀勒僚兜搪汰眨藕货第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术4HTML文件的基本结构文件的基本结构所有的所有的HTML文件的结构都可以划分成两个基本部文件的结构都可以划分成两个基本部分:文件头分:文件头和文件主体和文件主体它们可由它们可由三对标记构成:三对标记构成:头部信息头部信息文档主体,正文部分文档主体,正文部分窄荚沟剩墨产徽蛋筷杂辆郧涨交期句滞忽梁么匀鹰剁钞族设炬萝棍琼幽悯第9部分网络编程技术第9部分网络编
12、程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术1)文挡标记)文挡标记HTML文件以文件以开头,以开头,以结尾。格式为:结尾。格式为:HTML文档内容文档内容处于文档的最前面,表示处于文档的最前面,表示HTML文档的开始,即文档的开始,即浏览器从浏览器从开始解释,直到遇到开始解释,直到遇到为止。为止。2)文件头标记)文件头标记HTML文件头标记的格式为:文件头标记的格式为:头部信息头部信息本标记在本标记在HTML文件中不是必须的,如果没有,浏览器也文件中不是必须的,如果没有,浏览器也会照常解读文件。会照常解读文件。文件头部在文件头部
13、在之后,在开始标记之后,在开始标记和结束标和结束标记记间定义。其内容可以是标题,文本文件地址、间定义。其内容可以是标题,文本文件地址、创作信息等网页信息说明,对应于相应的标记有:标题创作信息等网页信息说明,对应于相应的标记有:标题、基地址、基地址、下一个标识、下一个标识、索、索引文件引文件、相关资料、相关资料。改卯补第茸柠猖蒋就半盟衫须彦雇抑宝铸看垃烽汽乐刃沫钎腺昼童胶狼凯第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术标题标题(Title):给出文件的总标题,格式如下:给出文件的总标题,格式如下:
14、标题标题一对一对标签用于显示标签用于显示Web页面的总标题。通常页面的总标题。通常Web浏览器把总标题显示在一个特殊的区域内。例如浏览器把总标题显示在一个特殊的区域内。例如Netscape把总标题显示在窗口顶端标题栏内。把总标题显示在窗口顶端标题栏内。基地址基地址(BASE):该元素用来指定涉及整个:该元素用来指定涉及整个HTML文件各文件各部分链接路径的起点。如果需要,必须在文件头部说明。部分链接路径的起点。如果需要,必须在文件头部说明。例如:例如:(BASEHREF=http:/ 所替代的字符所替代的字符说明说明&特殊字符的开始特殊字符的开始;特殊组符的结束特殊组符的结束Lt大于号大于号Q
15、uot双引号双引号揩乘迫璃驹吞碘粗辆押奋练帛邀卤缝岔箕剧懈涨接滞凹识狗勘骆曙壳莆炔第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术3)文件主体标记)文件主体标记文件主体标记一般不省略,位于头部之后,它是文件主体标记一般不省略,位于头部之后,它是HTML文文档的最主要部分,超文本的其他语句几乎都是写在主体部档的最主要部分,超文本的其他语句几乎都是写在主体部分中。主体元素还可以包含各种参数部分。格式如下:分中。主体元素还可以包含各种参数部分。格式如下:background=文件名文件名text=颜色值颜
16、色值link=颜色值颜色值vlink=颜色值颜色值alink=颜色值颜色值BODY的属性定义为的属性定义为BACKGROUND、BGCOLOR、TEXT、LINK、VLINK和和ALINK,用来设定背景图象、背,用来设定背景图象、背景颜色、前台文字颜色及超文本连接颜色。景颜色、前台文字颜色及超文本连接颜色。LINK设定未阅设定未阅读过的超文本连接颜色读过的超文本连接颜色,缺省值是蓝色。缺省值是蓝色。VLINK设定阅读过设定阅读过的超文本连接颜色的超文本连接颜色,缺省值是紫色缺省值是紫色,ALINK设定动作中的超文设定动作中的超文本连接颜色本连接颜色,缺省值是紫色。缺省值是紫色。帘懈峻遇秆彭漾匡
17、希朝丘酉复阻午凤挪驭拧觅秉蒜骚边讳捞剁馁豢碑癌堤第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术不设置时取相应属性的默认值。颜色可以用相应英不设置时取相应属性的默认值。颜色可以用相应英文单词或以文单词或以“”引导的一个十六进制数代码来表示,引导的一个十六进制数代码来表示,见表见表9.2所示所示表9.2颜色代码表颜色名颜色英文名十六进制代码颜色名颜色英文名十六进制代码黑色Black#000000粉红色Pink#FFC0CB蓝色Blue#0000FF红色Red#FF0000棕色Brown#A52A2A白
18、色White#FFFFFF青色Cyan#00FFFF黄绿色Yellow#FFFF00灰色Gray#808080深红色Crimson#CD061F绿色Green#008000黄绿色Greenyellow #0B6FFF乳白色Ivory#FFFFF0水蓝色Dodgerblue#0B6EFF桔黄色Orange#FFA500淡紫色Lavender#DBDBF8姐晦擦茧盼篡挡循毒磨藉赎式未掷蛆逊均吓腮磊葬甚芦闽走签蹿毙足签汛第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术4)设置标题格式设置标题格式在页面中,
19、标题是一段文字内容的核心,可以通过在页面中,标题是一段文字内容的核心,可以通过设置字体大小不同的标题,为文章增加条理。与用设置字体大小不同的标题,为文章增加条理。与用定义的网页标题不同,定义的网页标题不同,标题格式显示在浏览器窗口内,而不是显示在浏览标题格式显示在浏览器窗口内,而不是显示在浏览器的标题栏中中。格式为:器的标题栏中中。格式为:标题标题属性属性align用来设置文字的对齐方式:用来设置文字的对齐方式:left(左对齐)(左对齐)、center(居中)、(居中)、right(右对齐)。(右对齐)。属性属性n用来指定标题文字的大小。用来指定标题文字的大小。N取取1到到6的整数的整数值,
20、取值,取1时文字最大,缺省时是时文字最大,缺省时是。在一个标题。在一个标题行中无法使用大小不同的字体。行中无法使用大小不同的字体。硬霄絮介俗涉悬堕肄苔爵炬磋蛹框究镶纤丛回拼住履惜镜喻鹃隐啸夕唉绢第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术)强制换行标记)强制换行标记格式为:文字格式为:文字浏览器解释时,从该处换行。这是一个单标记。浏览器解释时,从该处换行。这是一个单标记。)设置文字格式)设置文字格式标记标记。标记可设定文字的字体、标记可设定文字的字体、字号和颜色。格式为:字号和颜色。格式为:被设
21、置被设置的文字的文字size用来设置文字的大小。数字的取值从用来设置文字的大小。数字的取值从,size取取1时最小,取时最小,取7时最大。时最大。face用来设置文字的字体。字体名可以为:宋用来设置文字的字体。字体名可以为:宋体、楷体、黑体等汉字字体;也可以为体、楷体、黑体等汉字字体;也可以为TimeNewRoman等约等约附肢躲式经茂用荤诸毡兹帧鸯搔畏切驯习泪虞曝品衡此韦巢闯诣菌耗操奴第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术种字体。这里的字体名其实就是在种字体。这里的字体名其实就是在ord
22、的的“字体字体”工具栏中显示的字体名字。工具栏中显示的字体名字。color用来设置文字的颜色,颜色的取值与用来设置文字的颜色,颜色的取值与的取值方法相同。当的取值方法相同。当与与标记同时对文字颜色进行定义时,标记同时对文字颜色进行定义时,标标记优先。记优先。设置字型:字型就是文字的风格,如加粗、斜体、设置字型:字型就是文字的风格,如加粗、斜体、带下划线、上标、下标等。字型的控制标记见表带下划线、上标、下标等。字型的控制标记见表9.3所示。所示。蜗挛颜臭添搓锰岗帝铀焰祥羊摈深熊论覆扮逊刽抨溺倔载莎夜獭提甥疟乎第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸
23、锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术标记格式字体结果标记格式字体结果文字黑体文字斜体文字带下划线文字标准打印机字体文字带删除线文字下标文字上标文字大字体文本文字小字体文本表表9.3设置各种字型的标记设置各种字型的标记掐间偏交约扰愉童吮诲杜寇迹刑酪弃彼嘶颗愚天侯翘榆公缩柬职柔吭俭移第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术例例9.2:在网页上设置文字格式:在网页上设置文字格式设置文字格式设置文字格式今天天气真好今天天气真好显示红色黑体显示红色黑体3号字号字正常字显示正常字显示
24、带下划线显示带下划线显示7)排)排版版踢缴彼暇卉绷凑柴当菇燕啥眯梳卓绢镇傣此乳矫柔羡宝捎凯烧匹鲍找烯晋第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术排版使用段落的成对标记排版使用段落的成对标记和和,和和之间包含之间包含的一段文字为一个段落。标记的一段文字为一个段落。标记的参数的参数align表示整个段表示整个段落的对齐方式,落的对齐方式,与标题标记与标题标记的的align格式相同,格式相同,align的的可选参数有可选参数有left、center和和right,分别为左、中和右对齐。,分别为左、中
25、和右对齐。中间对齐也可用成对标记中间对齐也可用成对标记完成。完成。例如:例如:HTML语句语句页面效果页面效果左对齐的段落左对齐的段落左对齐的段落左对齐的段落右对齐右对齐右对齐的段落右对齐的段落右对齐的右对齐的段落段落中间对齐的段落中间对齐的段落中间对齐的段落中间对齐的段落中间对齐的段落中间对齐的段落2中间对齐的段落中间对齐的段落2怀栏庐外铺滞铲硫纶彩盏纺鸡印抹追边镭鸽任秀票迁专栓脖绑唉埃掌哄废第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术行缩进引用标记行缩进引用标记来表示缩进。一对来表示缩进。一
26、对标记中的文字将向右缩进一段。标记中的文字将向右缩进一段。例如:例如:HTML语句语句页面效果页面效果第一层第一层第一层第一层第二层第二层第二层第二层第三层第三层第三层第三层第二层第二层第二层第二层第一层第一层第一层第一层下面是一个最简单的下面是一个最简单的Homepage源文件,页面效果源文件,页面效果参见图参见图9.1:落疗棚蛇白煞省隙搽缴绊拱柿遣掖抚魔腆寿棚疗妒归馈逛教黎棉煤筒禾徐第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术例例9.3简单的主页实例简单的主页实例欢迎光临欢迎光临HTML世界
27、。世界。html简单示例简单示例其乐无穷其乐无穷!欢迎学习使用欢迎学习使用HTML编制编制出自己的主页。编制编制出自己的主页。祝你成功!祝你成功!局特货仆刮棕申泽兆窄予疏钎颗颐屈敲赤察塘雕各务般今灌泥再愈案牟若第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术图图9.1HTML主页主页裕被朔挟屹注喷版编炳傣迈廖汐刑邀豪板绣矮豹婿缩伯展割第牺飘汛裸角第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术5加入超链接
28、加入超链接通过前面的介绍就可以创建简单的通过前面的介绍就可以创建简单的HTML文档,文档,但当文本较复杂时常常需将一份文档与另一份文档但当文本较复杂时常常需将一份文档与另一份文档连接起来。连接起来。HTML的主要特性之一就是链接。要在的主要特性之一就是链接。要在Web页面中加入超链接,可按以下进行:页面中加入超链接,可按以下进行:(1)开始标记开始标记;(2)要链接的目标文档名;要链接的目标文档名;(3)要链接的文本(超文本)要链接的文本(超文本)(4)结束标记结束标记。要创建完整的链接标记,必须在开始标记要创建完整的链接标记,必须在开始标记中设中设置超文本引用置超文本引用(HREF)属性。属
29、性。HREF描描述了点击该述了点击该链结后文档跳转的目的地。例如要创建一个指向文链结后文档跳转的目的地。例如要创建一个指向文档间的链接,可以使用以下链接档间的链接,可以使用以下链接危未秃站束郑丛赣垒对骸熊脾哆屿士闻颠雕类紧洞舒英占享烹惰腑射垂榴第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术微软公微软公司司要创建超链接,必须指明链接目标文件的存储位置,要创建超链接,必须指明链接目标文件的存储位置,如果目标文档与当前文档存储在同一计算机内,可如果目标文档与当前文档存储在同一计算机内,可以使用绝对(完全
30、的)地址路径或相对地址路径指以使用绝对(完全的)地址路径或相对地址路径指明该文件的位置。如果使用绝对地址,必须在超链明该文件的位置。如果使用绝对地址,必须在超链接标记内写明目标文档的完整路径,绝对寻址方式接标记内写明目标文档的完整路径,绝对寻址方式的主要问题是移动文件困难,因为每次移动文档的的主要问题是移动文件困难,因为每次移动文档的存储位置后,都必须修正每一条绝对路径;而使用存储位置后,都必须修正每一条绝对路径;而使用相对寻址可以简化移动文件的过程。使用相对寻址相对寻址可以简化移动文件的过程。使用相对寻址方式,需要指明该文档相对与其他文档的位置。表方式,需要指明该文档相对与其他文档的位置。表
31、9.4列出了相对寻址和绝对寻址的不同点。列出了相对寻址和绝对寻址的不同点。很轰烙勒刮该掩钻诞拓梆宵鼓隆膏屁陆眨帽绕佣痞请肇淀躯棚焉鸦盲称秸第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术表9.4相对寻址和绝对寻址的不同点路径名寻址方式和绝对寻址的不同点index.html相对寻址。该超连接目标文件与源HTML文件在同一目录下temp/index.html相对寻址。该超连接目标文件放在当前目录的temp子目录下?index.html相对寻址。该超连接目标文件放在当前目录的上一级目录中c:tempind
32、ex.html绝对寻址。该超连接目标文件放在c盘驱动器的temp目录下原杂竖晋爬剃哄渴硫仪弛跑滦反酥枷印邓悠圆萝莱郸冬婴谴砒媒呛舶袭蝴第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术在大多数情况下,应该使用相对寻址。相对寻址很容易把在大多数情况下,应该使用相对寻址。相对寻址很容易把全部文件从一个目录拷贝到另一个目录,从一个驱动器拷全部文件从一个目录拷贝到另一个目录,从一个驱动器拷贝到另一个驱动器,或从一个平台拷贝到另一个平台。贝到另一个驱动器,或从一个平台拷贝到另一个平台。HTML允许定义文档内部的
33、链接,允许定义文档内部的链接,例如例如Anchor1说说明明了了在在“Anchor1”前有一个跳转点。前有一个跳转点。用用GotoAnchor1则可跳转至则可跳转至Anchor1处。处。6图象及动画的嵌入图象及动画的嵌入1)图象的嵌入)图象的嵌入图象嵌入的标记为图象嵌入的标记为,其属性为其属性为Src,Alt,Align,Width,Height,Border,HSpace和和VSpace。Src指定嵌入图象的图象文件名。例如指定嵌入图象的图象文件名。例如src=images/Red_flag.gifAlt指定图象文件尚未装入时,代替图象显示的文字。指定图象文件尚未装入时,代替图象显示的文字。
34、按怨蛆痞者帐妨那睛嫁转助棚亿借揽舅拂遏霹乱候祝锤芜袖雄遵国丸锄筒第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术例如例如该该语句表示将在图象尚未装入时显示一个箭头。语句表示将在图象尚未装入时显示一个箭头。Width和和Height分别指定图象的宽和高。分别指定图象的宽和高。Border指定图象边框的宽度。指定图象边框的宽度。HSpace和和VSpace分别指定图象外水平和竖直留空的宽度。分别指定图象外水平和竖直留空的宽度。2)动画的嵌入动画的嵌入浏览器支持浏览器支持GIF格式的动画文件。只需生成这种
35、动画文件,格式的动画文件。只需生成这种动画文件,和图象文件完全一样,和图象文件完全一样,嵌入嵌入HTML即可。可以用即可。可以用GifConstructor工具来生成这种动画文件。工具来生成这种动画文件。7.列表列表列表适合于罗列有关信息内容。列表项可以是段落、有格列表适合于罗列有关信息内容。列表项可以是段落、有格式文本或超媒体连接。列表可以嵌套式文本或超媒体连接。列表可以嵌套,显示时按层次缩进。显示时按层次缩进。列表可分为三种列表可分为三种:枚举式、编号式、定义式。枚举式、编号式、定义式。痕虫蹲禾呐匪药窒腾堰轴溺没蚀蛾已效让置吵懒飞裂舶锥蓖揣怪纯候预肩第9部分网络编程技术第9部分网络编程技术
36、谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术1)枚举式列表)枚举式列表枚举式列表使用成对标记枚举式列表使用成对标记UL和一个以上的和一个以上的LI语句语句来定义。列表项目以数字、字母顺序排列。每个来定义。列表项目以数字、字母顺序排列。每个LI标标示一项列表项。可以用示一项列表项。可以用TYPE属性定义属性定义UL和和LI元素的风格。元素的风格。显示时显示时,每个每个LI定义的项目前均有定义的项目前均有3个黑圆点作前导记号个黑圆点作前导记号。例例:ULLI.firstlistitemLI.secondlistitem./UL2)编号式列
37、表)编号式列表编号式列表使用成对标记编号式列表使用成对标记OL和一个以上的和一个以上的LI语语句来定义。显示时每个句来定义。显示时每个LI定义的项目前均自动加有序定义的项目前均自动加有序列编号。例如列编号。例如:OLLI.firstlistitem胚赎秘帕妮嘿莽见寡滚团挎绚很炊幻彼躁液伺提治熊长敖膳衅爱瑚帐仅辜第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术LI.secondlistitem./OL3)定义式列表)定义式列表定义式列表使用成对标记定义式列表使用成对标记DL来定义,该列表分为两层。来定
38、义,该列表分为两层。使用标记使用标记和和DD来定义层次。来定义层次。标记标示被定标记标示被定义的目的标题;义的目的标题;DD标记标示定义内容。显示时每个标记标示定义内容。显示时每个DT定义的列表项的下面,产生一段由定义的列表项的下面,产生一段由DD定义的说定义的说明文字。例如明文字。例如:DLDTtermnameDDtermdefinition./DL8.表格表格爵匹队雏扬弗瘤沾执褥酋戚凌您椒彪逻调菠椅膏讫氟搪租卢簧怂谨惹爱蓉第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术1)表格的属性)表格的属性
39、表格是由成对标记表格是由成对标记来标识的。它的属性有对来标识的。它的属性有对齐方式齐方式align、表格宽度、表格宽度width、表格边界宽度、表格边界宽度border、表格中元素分隔线宽度、表格中元素分隔线宽度cellspacing和元素和元素与分隔线之间的距离与分隔线之间的距离cellpadding。属性。属性align的参数的参数为为left、right和和center;属性;属性width的参数为的参数为n和和n%、属性属性border、cellspacing和和cellpadding的参数均为的参数均为n。表格宽度表格宽度width是指该表格的宽度,若是数字是指该表格的宽度,若是数字
40、n则表则表示表格绝对宽度为示表格绝对宽度为n个象素;而若是百分数个象素;而若是百分数n%,指,指表格的宽度为其所在窗口宽度的百分之表格的宽度为其所在窗口宽度的百分之n,例如:,例如:百分之百分之50。表格边界宽度。表格边界宽度border指表格的外部边界指表格的外部边界的宽度。的宽度。先乳稀跌江趋街挛帛仲西蘑粥黔撂搂秉烽均驱怯席验撮芦掘罚序宰歇馈尿第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术2)建立表格)建立表格建立表格的标记为成对标记建立表格的标记为成对标记、和和。标记标记说明表格的一行;说明
41、表格的一行;说明表格的列标说明表格的列标题;题;说明表格的元素。其实列标题也是表格的说明表格的元素。其实列标题也是表格的元素,只是以标题字体显示元素,只是以标题字体显示而已。而已。表格行表格行的属性有的属性有align和和valign。属性。属性valign说明说明了表格行的元素的垂直对齐情况。属性了表格行的元素的垂直对齐情况。属性valign的参的参数有数有top、bottom、middle和和baseline。这里。这里top、bottom和和middle分别指的是元素顶对齐、底对齐、分别指的是元素顶对齐、底对齐、中间对齐,而中间对齐,而baseline指各元素按其第一行字的底指各元素按其
42、第一行字的底线对齐。线对齐。9可点图可点图1)可点图类型)可点图类型恃衣锯但驱岸盗冻祈示促樱独议低谱摈每予块锥怀柏椭蕾期讲唯绅弗崖肢第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术可点图类型有两种,服务器端图和客户端图。服务可点图类型有两种,服务器端图和客户端图。服务器端图在作为链接的图象成对标记器端图在作为链接的图象成对标记中加入参中加入参数数ISMap即可。例如即可。例如建好图区域并命名后,建好图区域并命名后,还需在图象标记还需在图象标记中中引用参数引用参数usemap=#client。例如例如
43、。2)建立图区域的工具)建立图区域的工具在建立图区域时,特别是图象较复杂时,大量的坐在建立图区域时,特别是图象较复杂时,大量的坐标容易出错。可使用网页制作工具来建立图区域。标容易出错。可使用网页制作工具来建立图区域。例如例如FrontPage等。等。辽返茵缄丽津尖罢然居扎柜肚衰坡折罕巫姥讨婚飞氧矽演琳吧吠房蔡陡恭第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术10表单表单(FORM)(1)表单的基本属性)表单的基本属性表单使用成对标记表单使用成对标记和和来定义,属性包括来定义,属性包括ACTION、
44、METHOD、ENCTYPE。动作属性。动作属性action为递为递送信息的表单指定的送信息的表单指定的URL地址,地址,例如:例如:方式属性方式属性METHOD指明填表信息传输的方式,如何将表单指明填表信息传输的方式,如何将表单提交给服务器,有两种标准方式可选提交给服务器,有两种标准方式可选:GET(获得)和(获得)和POST(邮递),默认方式为邮递),默认方式为GET。GET将输入的信息转至将输入的信息转至ACTION所指定的所指定的URL位置作进一步处理位置作进一步处理,将表单中的参数将表单中的参数信息合成在信息合成在URL中,问号开头,使用中,问号开头,使用“&”号分割参数。号分割参数
45、。例如,一个表单有一个例如,一个表单有一个http:/ buttonscrollbarlisttextComponent DialogtextFiledcontainer panelAppletwindowtextArea FrameFileDialog 苏传尹翟庚抵聪娟莉嘱枉河镐东忿辨誓渍芬病习锻蹋滚碉陶荔惕蛔辕校驹第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术show/hide:显示或隐藏界面对象。:显示或隐藏界面对象。isShowing:判别界面对象是否正显示在屏幕上。:判别界面对象是否正显
46、示在屏幕上。isVisible:判别界面对象是否已被方法:判别界面对象是否已被方法hide所隐藏。所隐藏。repaint:重画界面对象。:重画界面对象。inside:判别坐标值是否位于界面对象之中。:判别坐标值是否位于界面对象之中。move/resize:移动界面对象:移动界面对象/改变其尺寸。改变其尺寸。location:分别获取界面对象的位置和尺寸。:分别获取界面对象的位置和尺寸。locate:获取位于给定位置的界面对象。:获取位于给定位置的界面对象。KeyDown,keyUp,mouseDown,mouseup,mouseEnter,mouseexit,mouseMove,mouseDr
47、ag:相应的键盘或鼠标事件发生时被调:相应的键盘或鼠标事件发生时被调用的事件处理程序。用的事件处理程序。制早拈闰喧底坞驯梅至滞茧实回撒风羡木迪棵癸瓮铜靶捂首并峭倡臣谩乎第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术在在WAT的类结构图中,的类结构图中,container类是所有界面对类是所有界面对象包容器的父类。包容器主要用来放置界面对象。象包容器的父类。包容器主要用来放置界面对象。窗口、对话框、小应用程序所占区域都是典型的包窗口、对话框、小应用程序所占区域都是典型的包容器。容器。安排包容器中所有
48、界面对象的位置和大小通常采用安排包容器中所有界面对象的位置和大小通常采用“所见即所得所见即所得”的资源编辑器(例如的资源编辑器(例如BorlandC+的的ResourceWorkshop,VisualC+的的Appstudio)。)。但是,这种方法与开发环境和运行环境所处的操作但是,这种方法与开发环境和运行环境所处的操作系统平台关系极大,因而是不可移植的。系统平台关系极大,因而是不可移植的。Java为了为了实现彻底的可移植性,不得不舍弃实现彻底的可移植性,不得不舍弃“所见既所得所见既所得”的的编辑方式,转而选取一种比较抽象的方法:利用编辑方式,转而选取一种比较抽象的方法:利用Container
49、类的类的setLayout方法为每个包容器配置方法为每个包容器配置“外观管理器外观管理器”(Layoutmanager)。文檄貉炳奄船宛庇戈洋官碎哎耿廓拥邱嗣襟苟肃吞油投灿斥赌时刷吹唬擎第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术外观管理器是实现外观管理器是实现LayoutManager接口的接口的Java对象,它负对象,它负责确定包容器中所有界面对象的位置和尺寸。按照从简单责确定包容器中所有界面对象的位置和尺寸。按照从简单到复杂的顺序,以下对标准的外观管理器作一简单介绍到复杂的顺序,以下对标准
50、的外观管理器作一简单介绍.(1)BorderLayout。从类。从类BorderLayout生成的外观管理生成的外观管理器将包容器分为东、南、西、北、中五个区域。区域的大器将包容器分为东、南、西、北、中五个区域。区域的大小由置入该区域的界面对象的尺寸来决定。用户在包容器小由置入该区域的界面对象的尺寸来决定。用户在包容器放置界面对象时必须指明区域名称,例如:放置界面对象时必须指明区域名称,例如:add(“center,newButton(“OK”)/*将将OK按扭置于中央按扭置于中央区域区域*/(2)CardLayout。这种外观管理器将包容器视为卡片盒,。这种外观管理器将包容器视为卡片盒,每次
51、只能显示一张卡片(界面对象)。卡片序号依界面对每次只能显示一张卡片(界面对象)。卡片序号依界面对象加入包容器的先后次序而定。象加入包容器的先后次序而定。CardLayout提供的的主要提供的的主要方法如下:方法如下:First/last/next/previons:显示第一张显示第一张/最后一张最后一张/下一张下一张/前一前一张卡片。张卡片。条膨夺防炮分叶以箕阵安渤秆士微者逮牺阵衬借对俯继嫡约斥鸵蚜受膀埔第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术show:按界面对象的名称显示指定卡片。:按界面
52、对象的名称显示指定卡片。(3)FlowLayout。这种外观管理器将包容器中的所有界面。这种外观管理器将包容器中的所有界面按它们加入包容器的先后次序从左至右、从上至下排列。按它们加入包容器的先后次序从左至右、从上至下排列。最后未排满的行按生成最后未排满的行按生成FlowLayout外观管理器时所指定的外观管理器时所指定的对齐方式(齐左、居中或齐右)安排位置。对齐方式(齐左、居中或齐右)安排位置。FlowLayout外外观管理器是包容器的的缺陷外观管理器。观管理器是包容器的的缺陷外观管理器。(4)GridLayout。这种外观管理器将包容器平分为一些方。这种外观管理器将包容器平分为一些方格,再将
53、界面对象一次置于这些方格中。在构造这种外观格,再将界面对象一次置于这些方格中。在构造这种外观管理器时,程序员必须指明行数和列数,还可以指明方格管理器时,程序员必须指明行数和列数,还可以指明方格之间的水平、垂直间距。之间的水平、垂直间距。(5)GridBagLayout。这种外观管理器是。这种外观管理器是Java中最复杂,中最复杂,同时也最为灵活的管理器。类似于同时也最为灵活的管理器。类似于GridLayout外观管理器,外观管理器,它也将包容器分为一些方格,但它不要求事先给定方格的它也将包容器分为一些方格,但它不要求事先给定方格的行数和列数,也不要求所有方格具有相同的尺寸。行数和列数,也不要求
54、所有方格具有相同的尺寸。恃买麦热灾鸥毙撰复反齿瞧憾地甘就粉俞仁赘中垦锻昧接领寺粒咋确廷吠第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术如果包容器使用如果包容器使用GridBagLayout对象作为外观管理器,那对象作为外观管理器,那么,加入其中的每个界面对象都应附带一个类么,加入其中的每个界面对象都应附带一个类GridBagLayout的对象。外观管理器将根据的对象。外观管理器将根据GridBagLayout对象所给的限制条件,再加上其他条件对象所给的限制条件,再加上其他条件(例如界面对象的最小尺
55、寸)来决定包容器外观。通过(例如界面对象的最小尺寸)来决定包容器外观。通过GridBagLayout可以设置以下限制条件:可以设置以下限制条件:(1)gridwidth和和gridheigh:指定界面对象横向和纵向分:指定界面对象横向和纵向分别占用的方格数。别占用的方格数。(2)gridx和和gridy:指定界面对象的方格坐标。第一行第:指定界面对象的方格坐标。第一行第一列的方格坐标是(一列的方格坐标是(0,0)第二行第三列的方格坐标是()第二行第三列的方格坐标是(1,2),依此类推。),依此类推。(3)weightx和和weighty:在:在GridBagLayout按照其他限制按照其他限制
56、条件将界面对象安置妥当以后,如果包容器仍有剩余空间,条件将界面对象安置妥当以后,如果包容器仍有剩余空间,则按照则按照weightx和和weighty指定的权值比例为该界面对象分指定的权值比例为该界面对象分配剩余空间。配剩余空间。甫睬山描给贺骇龟挽灌罢巷佛握宴砒荐吉扩踏边擎达务酗镍窝螺憾搁霹胀第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术(4)fill:如果界面对象得到的空间比例比需要的空间多,:如果界面对象得到的空间比例比需要的空间多,则根据则根据fill值调整对象尺寸,值调整对象尺寸,fill的
57、取值及含义罗列如下:的取值及含义罗列如下:GridBagConstraints.NONE:不调整尺寸。:不调整尺寸。GridBagConstraints.HORIZONTAL:将水平方向的多余空:将水平方向的多余空间补满。间补满。GridBagConstraints.VERTICAL:将垂直方向的多余空间:将垂直方向的多余空间补满。补满。GridBagConstraints.BOTH:将水平、垂直两个方向的多余:将水平、垂直两个方向的多余空间补满。空间补满。(5)ipadx和和ipady:用来改变界面对象本身所需的尺寸。用来改变界面对象本身所需的尺寸。例如,如果某对象的最小宽度为例如,如果某对
58、象的最小宽度为20象素,象素,ipadx的值为的值为3,那么那么GridBagLayout将认为该对象的最小宽度为将认为该对象的最小宽度为20(23)26像素。像素。(6)insets:用于设置界面对象在上、下、左、右四个方向用于设置界面对象在上、下、左、右四个方向与相邻对象之间的间距。与相邻对象之间的间距。揽宦萎据炒闪抓吐出威关蛾赁巡御锚瞳疥魄翅埋阎蝇蚀灭塑幅鬼断垣急萎第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术(7)anchor:如果界面对象不足以填满它所分配到的空间,如果界面对象不足以填满
59、它所分配到的空间,则则GridBagLayout使用使用anchor值(正中、左上角、左方等)值(正中、左上角、左方等)在这一空间中放置该对象。在这一空间中放置该对象。从理论上讲,使用从理论上讲,使用Java标准的外观管理器可以设计出任意标准的外观管理器可以设计出任意复杂的界面外观,但是,这种方法毕竟不具有复杂的界面外观,但是,这种方法毕竟不具有“所见即所得所见即所得”方式的优越性。目前,一些方式的优越性。目前,一些Java集成开发环境(如集成开发环境(如MicrosftVisualJ+)正在尝试向开发人员提供)正在尝试向开发人员提供“所见即所所见即所得得”的图形界面编辑工具,这种工具可以根据
60、开发人员在编的图形界面编辑工具,这种工具可以根据开发人员在编辑器中按直观方式设定的位置自动生成抽象的外观管理器。辑器中按直观方式设定的位置自动生成抽象的外观管理器。这样既可以实现这样既可以实现“所见即所得所见即所得“,又不会损害,又不会损害Java的可移植的可移植性。对此有兴趣的读者不妨使用性。对此有兴趣的读者不妨使用VisualJ+的对话框(该工的对话框(该工具的使用方法与具的使用方法与VisualC+的对话框工具完全一样),然的对话框工具完全一样),然后再检查该工具自动生成的外观管理器。后再检查该工具自动生成的外观管理器。桃闰铁羞笑拍拓钥棕耍跪噪乙圈凝炕炽衣碾迷保挟礼沧秦脆面羽阮妆芥讹第9
61、部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术5Java与网络程序设计与网络程序设计作为一种网络程序设计语言,作为一种网络程序设计语言,Java必须能够存取各种网络必须能够存取各种网络资源并与服务器建立各种传输通道。为此,资源并与服务器建立各种传输通道。为此,Java通过通过J程序包提供了许多网络功能。这些功能分为三大类:程序包提供了许多网络功能。这些功能分为三大类:URL,Socket与与Datagram。限于篇幅,只简介其中最高级、。限于篇幅,只简介其中最高级、最简单的最简单的URL功能。功能。前
62、面已经介绍过前面已经介绍过URL对象的构造方法和获取网络资源的方对象的构造方法和获取网络资源的方法,这里不再重复。下面讨论如何利用法,这里不再重复。下面讨论如何利用URLconnection类类建立建立Java应用程序与应用程序与WWW服务器之间的双向连接,从而服务器之间的双向连接,从而实现双向通信。实现双向通信。首先,利用首先,利用URL类的类的openConnection方法可获得一个方法可获得一个URLConnection对象,再通过对象,再通过URLConnection类的类的getInputStream和和getOutputstream可分别得到输入流和输可分别得到输入流和输出流,最
63、后使用通常的流读写操作即可完成双向通信。比出流,最后使用通常的流读写操作即可完成双向通信。比较完整的编程实例请见例较完整的编程实例请见例9.15。烁护驮谐诞状茶竣陇脉意下孝袜辖附尹炉疲靴西帕梧像笼探还贮馒搞挟款第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术例例9.15双向通信双向通信.*;importjava.io.*;classDemoBiConnectionprivateintm_nLength;privateintm_arrData;publicDemoBiConnection(intnDa
64、taLength)/构造子对成员变量进行初始化构造子对成员变量进行初始化m_nLength=nDataLength;m_arrData=newintnDataLength;for(intn=0;nnDataLength;n+)m_arrDatan=n*10;锗鲸环率非爹妒犬贵鬼泅辟拔塑檄管配困笺拼呕打矗癣建螟宰耿疏稠蓬搔第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术publicvoidconnect(URLurl)tryURLConnectioncon=url.openConnection();/
65、向远程向远程url地址发行数据地址发行数据PrintstreamoutStream=newPrintstream(con.getOutputstream();for(intn=0;nm_nLength;n+)outstream.print(m_arrDatan+);outStream.println();outStream.close();System.out.println(“Datasent.”);/从远程从远程url地址读取数据地址读取数据缎郎坝岩迹唤席命蔬间示铁闷涝社抒搔腾绕阻国若圾赶华扼镍筐咸折椿又第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧
66、迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术System.out.println(“Datafromserver:”);DataInputStreaminstream=newDataInputStream(con.getInputStream();StringstrLine;strline=instream.readLine();while(strLine!=null)System.out.print(strLine);instream.close();System.out.println(“Endofdatafromserver“);catch(IOExceptionioe)S
67、ystem.out.println(“ioeXECPTION:”+ioe);咀随买竞市免田试拂阂顷枫蜀旬聊他菠你何比汪涪菱蝶衅脸懊自奎迟倍屑第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术94JSP编程技术编程技术Sun推出的推出的JSP(JavaServerPages)是一种执行于服务器)是一种执行于服务器端的动态网页开发技术,它基于端的动态网页开发技术,它基于Java技术。技术。JSP技术用技术用Java语言作为脚本语言。在服务器端,语言作为脚本语言。在服务器端,WebSever会自动将基于会自
68、动将基于JSP技术写成的技术写成的Java程序代码段转换成程序代码段转换成Javaservlets,然后,然后由由Java虚拟机解释执行。正是由于虚拟机解释执行。正是由于JSP是以是以Java语言为基础语言为基础的,它才具有了强大的功能,并获得广泛的运用。的,它才具有了强大的功能,并获得广泛的运用。JSP的运行环境和技术特点的运行环境和技术特点1)JSP的运行环境和技术特点的运行环境和技术特点执行执行JSP时需要在时需要在Web服务器上架设一个编译服务器上架设一个编译JSP网页的引网页的引擎。配置擎。配置JSP环境可以有多种途径,但主要工作就是安装环境可以有多种途径,但主要工作就是安装和配置和
69、配置Web服务器和服务器和JSP引擎。下面以引擎。下面以Tomcat作为作为JSP引擎,引擎,配合配合Tomcat、Apache、IIS这三种这三种Web服务器来讲述服务器来讲述3种搭种搭建建JSP运行环境的方案。运行环境的方案。醒蛇贱烩玉秀潜蝴舔渐瘴这铲蓟朗肯馋辐餐署寸集坪按态影雨纠迄让散簧第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术建立建立JSP运行环境需要的相关软件包括:运行环境需要的相关软件包括:Java2的软件开发的软件开发工具工具J2SDK;Apache服务器;服务器;Apache组
70、织开发的组织开发的JSP引擎引擎Tomcat服务器,使服务器,使Apache支持支持Tomcat的插件的插件mod_jk.dll;使;使IIS支持支持Tomcat的插件的插件tc4ntiis.zip。(1)安装)安装J2SDK在在Windows下,直接运行下载的下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到文件,根据安装向导安装到一个目录,例如安装到f:j2sdk1.4.1;(2)添加环境变量)添加环境变量在在Win2000环境下配置环境变量。右键单击环境下配置环境变量。右键单击“我的电脑我的电脑”,在,在弹出菜单中
71、选择弹出菜单中选择“属性属性”“系统特性系统特性”“高级高级”“环境变环境变量量”,弹出环境变量对话框,就可以编辑系统的环境变量了。弹出环境变量对话框,就可以编辑系统的环境变量了。添加添加PATH、JAVA_HOME和和CLASSPATH三个变量,变量三个变量,变量值为:值为:陆蛇捉苑肝詹峨惦斋苹频然岂精一俯卖斯壤蛊篙涨驯堕许姥垄腋搪船蛛盔第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术PATH=PATH%;f:j2sdk1.4.1binSETJAVA_HOME=f:j2sdk1.4.1SETCLA
72、SSPATH=f:j2sdk1.4.1libtools.jar。(3)JSP环境的配置方案环境的配置方案JSP环境的配置方案有多种,环境的配置方案有多种,方案一,方案一,J2SDKTomcat。在这种方案里。在这种方案里Tomcat既作为既作为JSP引擎又作为引擎又作为Web服务器,配置比较简单。服务器,配置比较简单。方案二,方案二,J2SDKApacheTomcat。虽然。虽然Tomcat也可以作也可以作Web服务器服务器,但其处理静态但其处理静态HTML的速度比不上的速度比不上Apache,且,且其作为其作为Web服务器的功能远不如服务器的功能远不如Apache,因此把,因此把Apache
73、和和Tomcat集成起来,用集成起来,用Apache充当充当Web服务器,而服务器,而Tomcat作作为专用的为专用的JSP引擎。这种方案的配置比较复杂,但是能让引擎。这种方案的配置比较复杂,但是能让Apache和和Tomcat完美整合,实现强大的功能。完美整合,实现强大的功能。吼突打顿影谗翰僚素鸡毅墒吧乒公寥孩谍留戍身苫争孜凿撩每舱讣亨荐块第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术方案三:方案三:J2SDKIISTomcat。Windows平台下最常用的平台下最常用的Web服务器无疑是服务器
74、无疑是IIS,正常情况下,正常情况下IIS不支持不支持JSP,我们可,我们可以通过使用一个以通过使用一个IIS到到Tomcat重定向插件,使重定向插件,使IIS能够将所有能够将所有的的JSP请求发送到请求发送到Tomcat执行,可以使执行,可以使IIS增加处理增加处理JSP的功的功能。如果你已经习惯了使用能。如果你已经习惯了使用IIS,那么可以尝试这种配置。,那么可以尝试这种配置。配置所需的软件均可从网上下载。配置所需的软件均可从网上下载。J2SDKTomcat配置方案配置方案安装安装Tomcat可直接运行下载的可直接运行下载的jakarta-tomcat-4.0.1.exe,安,安装时它会自
75、动寻找装时它会自动寻找J2SDK的位置。例如安装到的位置。例如安装到f:tomcat4。Tomcat安装后,还要配置环境变量,添加一个新的环境变安装后,还要配置环境变量,添加一个新的环境变量量TOMCAT_HOME,变量值为,变量值为f:tomcat4,添加方法同,添加方法同J2SDK环境变量的配置方法。设置完毕后就可以运行环境变量的配置方法。设置完毕后就可以运行Tomcat服务器了。用服务器了。用f:tomcat4binstartup.exe启动启动Tomcat,用,用f:tomcat4binshutdown.exe关闭关闭Tomcat。启动。启动Tomcat后,打开浏览器,在地址栏中输后,
76、打开浏览器,在地址栏中输http:/localhost:8080(Tomcat默认端口为默认端口为8080),),洼矢碧侦章昆猜猫隶拘帅争肇袭升慑榴平诲盟污连裕灭媳购乞侈啼妓遂儿第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术如果在浏览器中看到如果在浏览器中看到Tomcat的欢迎界面,表示的欢迎界面,表示Tomcat工作工作正常。将编写的正常。将编写的*.jsp放在放在f:Tomcatwebappsexamplesjsp目目录下录下,在地址栏中输在地址栏中输入入http:/localhost:808
77、0/examples/jsp/*.jsp则可实现信息发布。则可实现信息发布。2)JSP特点特点JSP是是JavaServerPages的缩写。的缩写。JSP具有以下具有以下5大特点。大特点。(1)将内表的生成和显示进行分离)将内表的生成和显示进行分离使用使用JSP技术,技术,Web页面开发人员可以使用页面开发人员可以使用HTML或者或者XML标识来设计和格式化最终页面。使用标识来设计和格式化最终页面。使用JSP标识或者脚标识或者脚本来生成页面上的动态内容本来生成页面上的动态内容(内容是根据请求来变化的内容是根据请求来变化的)。生。生成内容的逻辑被封装在标识和成内容的逻辑被封装在标识和JavaB
78、eans组件中,并且捆绑组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。如果核心逻辑被在脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和封装在标识和Beans中,那么其他人,例如中,那么其他人,例如Web管理人员和管理人员和页面设计者,能够编辑和使用页面设计者,能够编辑和使用JSP页面,而不影响内容的生页面,而不影响内容的生成。成。歪却谐箱砌挺身摈厨咎蚊蹲熙侵溃吸孪康粱必垦宿丹棒伺剧零访模刘榷挥第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术在服务器端,在服务器端,JSP引擎解释引擎
79、解释JSP标识和脚本,生成所请求的标识和脚本,生成所请求的内容内容(例如,通过访问例如,通过访问JavaBeans组件,使用组件,使用DBCTM技术访技术访问数据库,或者包含文件问数据库,或者包含文件),并且将结果以,并且将结果以HTML(或者或者XML)页面的形式发送回浏览器。页面的形式发送回浏览器。(2)生成了重用的组件)生成了重用的组件绝大多数绝大多数JSP页面依赖于可重用的,跨平台的组件页面依赖于可重用的,跨平台的组件(JavaBeans或者或者EnterpriseJavaBeansTM组件组件)来执行应用来执行应用程序所要求的各种复杂的处理。程序所要求的各种复杂的处理。(3)采用标识
80、简化页面开发采用标识简化页面开发JavaServerPage技术封装了许多功能,这些功能是与技术封装了许多功能,这些功能是与JSP相关的相关的XML标识中进行动态内容生成所需要的。标准标识中进行动态内容生成所需要的。标准的的JSP标识能够访问和实例化标识能够访问和实例化JavaBeans组件,设置或者检组件,设置或者检索组件属性,下载索组件属性,下载Applet,以及执行用其他方法更难于编码,以及执行用其他方法更难于编码和耗时的功能。和耗时的功能。佃钱李庙予撤室铃鱼樱盛喷唬唐询庄腐拿硫灭釉余甥听卿磅胶噎桂遗穿揍第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮
81、紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术(4)健壮的存储管理和安全性健壮的存储管理和安全性由于由于JSP页面的内置脚本语言是基于页面的内置脚本语言是基于Java的编程语言,而且的编程语言,而且所有的所有的JSP页面都被译成为页面都被译成为JavaServlet,所以,所以JSP页面就具页面就具有有Java技术的所有优势,包括健壮的存储管理和安全性。技术的所有优势,包括健壮的存储管理和安全性。JSP模型是在模型是在ASP之后定义的,它借用了之后定义的,它借用了ASP的许多优点,的许多优点,如如Session、Application等对象。同时等对象。同时JSP使用灵活而强大的
82、使用灵活而强大的JAVA语言,而不是低效的语言,而不是低效的Scripting语言。语言。ASP开发者只能开发者只能使用基于使用基于Windows平台的技术,而平台的技术,而Java和和JSP是跨平台的。是跨平台的。2JSP基础基础JSP技术允许技术允许Web开发设计者轻松地创建能够处理现有商业开发设计者轻松地创建能够处理现有商业系统的动态系统的动态Web页面。作为页面。作为Java技术家族的成员,它能够快技术家族的成员,它能够快速地发展基于速地发展基于Web的与平台无关的应用。的与平台无关的应用。西靶皑虎袱惮叼蠢间蝎旦轩荒地癌挽漂糟粘中窿始垫酌脱财或青敞杠蔗碍第9部分网络编程技术第9部分网络
83、编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术JSP将用户界面和内容产生轻松地分离开来,使得开发者可将用户界面和内容产生轻松地分离开来,使得开发者可以全面地改变版面而不用修改底层的动态内容。从最简单以全面地改变版面而不用修改底层的动态内容。从最简单的角度来说,的角度来说,JSP页面首先是一个简单的页面首先是一个简单的HTMLWeb页面。页面。我们先来看一个简单的实例,参见例我们先来看一个简单的实例,参见例9.16例例9.16第一个第一个JSP程序程序首先,我们编写一个静态的首先,我们编写一个静态的HTML文件,在这个文件里面,文
84、件,在这个文件里面,我们显示一句话:我们显示一句话:HelloWorld!我们把它命名为:我们把它命名为:hello.htm,代码如下,代码如下这个静态这个静态Html文件从文件从1号字到号字到6号字显示:号字显示:Hello,World!伎讫涨楷徒十烙性挎蚁笨拟贫锐卓歧籽组贰辆殆庶肥赫秽勾行待旭冷嫌登第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术Hello,welcomeintoHTMLWorld!Hello,welcomeintoHTMLWorld!Hello,welcomeintoHTMLW
85、orld!Hello,welcomeintoHTMLWorld!Hello,welcomeintoHTMLWorld!枉扼讫灸辉咯收默枝蔷陈瘴笼翱卿抛细负荒凹简院耽几窘五诛寂总林证献第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术Hello,welcomeintoHTMLWorld!下面,我们书写一个下面,我们书写一个JSP页面,这个页面显示效果和上面的页面,这个页面显示效果和上面的静态静态HTML文件一模一样。文件一模一样。例例9.17JSP页面页面这个动态这个动态JSP文件从文件从1号字到号字到
86、6号字显示号字显示Hello,welcomeintoHTMLWorld:办磺椒沿布状罗救疏只蛛赛诊慧丈己部嚎亡袁掳肃雪湛迹源惭榷房孟盏售第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术%for(inti=1;ifontsize=Hello,welcomeintoHTMLworld!皱冬坤髓疡须殆叼愈减奴刚蹋灯寥斗摩酞枕院疆镜祟捶奋叁早瞅咆琅蛹忌第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术可以看出,可以
87、看出,JSP文件其实就是在文件其实就是在HTML文件中插入文件中插入了一些程序段,这些程序段用于处理能够产生动态了一些程序段,这些程序段用于处理能够产生动态内容的逻辑应用程序。内容的逻辑应用程序。同时,这些逻辑应用程序也许会包含一个同时,这些逻辑应用程序也许会包含一个JavaBeans,或者是一个,或者是一个JDBC对象,也或者是一个对象,也或者是一个EnterpriseJavaBeans,也许是一个,也许是一个RemoteMethodInvocation(RMI远程的方法调用远程的方法调用)对象。所有这些对象。所有这些都能够轻松地访问都能够轻松地访问JSP页面。页面。3在在JSP页中使用页中
88、使用JavaBeans使用使用JavaBean是是JSP的最突出的特性之一,我们的最突出的特性之一,我们知道知道JavaBeans的强大、灵活和跨平台性,是微软的强大、灵活和跨平台性,是微软的的Com不能比拟的,使用不能比拟的,使用JavaBeans使得使得JSP更加更加强大了强大了。俗沪工渊饱婆妄殷怎胳斜借逐锹坑兢续奴钮隘脱逐封从淘漫惨刃寡撑略讼第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术JavaBean实际上是一种实际上是一种Java类类(class),通过封装属,通过封装属性和方法成为具有
89、某种功能或者处理某个业务的对性和方法成为具有某种功能或者处理某个业务的对象。象。JavaBean被组织成为被组织成为package(数据包数据包)以便进以便进行管理,实际上就是把一组行管理,实际上就是把一组JavaBean一起放在某某一起放在某某目录中,每个类的定义前加上目录中,每个类的定义前加上package某某,本例某某,本例中为中为example。目录。目录example必须放在系统环境必须放在系统环境CLASSPATH包含的目录下,系统才能找到其中的包含的目录下,系统才能找到其中的JavaBean。JSWDK在缺省状态下将在缺省状态下将jswdk-1.0.1webpagesWEB-IN
90、Fjspbeansh加入加入CLASSPATH。建立自己的。建立自己的JavaBean和和package时,时,就放在这个目录中也不失为一种简易的方法。就放在这个目录中也不失为一种简易的方法。下面介绍一个简单的下面介绍一个简单的JavaBean框架。框架。例例9.18用文本编辑器创建一个文本文件用文本编辑器创建一个文本文件helloWorld.java,其内容如下:,其内容如下:艘祈妈津缨步赶呛亭绅材旨迹樱舟吮烟掇到锄纲础戮绘疹嗜责良坪蒙咏院第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术用用Jav
91、aBeans的形式书写一个从的形式书写一个从1号字到号字到6号字的号字的JSP页面。页面。JavaBeans源文件的文件名为源文件的文件名为TestFontjavapublicclassTestFontintcount=1;publicvoidsetCount(intcount)this.count=count;publicStringshow()Stringstr=;for(inti=1;Icount+1;i+)str=str+HellowelcomeintoHTMLworld;returnstr;眶络槛等蔗商狐癣汰抄止狐斌绸修谗孙日言溃朔枚更柏镣嚏戈极认淌鸦然第9部分网络编程技术第9部分网
92、络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术这个这个Java文件从外部接受一个变量文件从外部接受一个变量:count。方法。方法:setCount设置了要显示的最大字号。整个程序比较简单,编写好这设置了要显示的最大字号。整个程序比较简单,编写好这样一个样一个Java文件以后,必须要编译成为文件以后,必须要编译成为Class文件,才能在文件,才能在JSP页面中直接引用。页面中直接引用。helloWorld.java编辑好后,在编辑好后,在DOS状态下,用状态下,用JDK的的javac命令编译命令编译helloWorld.jav
93、a如下:如下:javachelloWorld.java注意注意Java是区分大小写的,在程序中,编译命令行中字母是区分大小写的,在程序中,编译命令行中字母的大小写都不能写错。的大小写都不能写错。编译成功就表示建立了一个编译成功就表示建立了一个JavaBean。例例9.19在在JSP中使用这个中使用这个JavaBean。用文本编辑器创建一个。用文本编辑器创建一个文本文件文本文件firstbean.jsp,其内容如下:,其内容如下:茹鲜交侗苔零悉桅倚懒志琐男樟悬菲沙妊坟巩家悲劫阶瓦强夜浇膀责斤炬第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠
94、第9部分网络编程技术第9部分网络编程技术调用调用Beans实现从实现从1号字到号字到6号字显示号字显示Hello,welcomeintoHTMLWorld!/引用引用Beans。/setCount方法,定方法,定义最大显示字号义最大显示字号/show方法,显示内容方法,显示内容谣藏练液汉鄙挥器妨钳框拍医目势贤督换佩缎峡藏个蓖件漱钩健拟同驮邱第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术从这里可以看出来,在一个从这里可以看出来,在一个JSP页面中,将用户界面和程序页面中,将用户界面和程序逻辑分离开来
95、,可以非常便利地为逻辑分离开来,可以非常便利地为Web页面设计人员分派任页面设计人员分派任务。这也使得程序开发者可以开发出更有利于更新和重复务。这也使得程序开发者可以开发出更有利于更新和重复利用的应用程序。因此,利用的应用程序。因此,JSP结合结合JavaBeans做网站开发,做网站开发,是比是比JavaServlet更灵活的产生动态页面的途径。更灵活的产生动态页面的途径。4JavaServlet关于关于Servlet诞生的最初念头是想把诞生的最初念头是想把Java代码嵌入到代码嵌入到HTML或者或者XML代码文件中去,后来就产生了代码文件中去,后来就产生了JavaServlet。JavaSe
96、rvlet能够产生动态的内容。在能够产生动态的内容。在JavaServlet中中Java代码是代码是焦点所在,静态的焦点所在,静态的HTML代码只是在需要的地方通过代码只是在需要的地方通过Java代码输出到浏览器端。所以对于大多数人来说一旦要测试、代码输出到浏览器端。所以对于大多数人来说一旦要测试、重载一个新的重载一个新的Servlet状态、修改状态、修改(哪怕是修改一个静态的哪怕是修改一个静态的HTML标记标记)的时候就必须对源文件重新编译,这无疑是让的时候就必须对源文件重新编译,这无疑是让人烦恼的事情。人烦恼的事情。弥狐够渴珐晶销耳护班挽裹旨物驻细偷崔师涪鹊携押钢烹砚坯脆交胞脑涟第9部分网
97、络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术当当SUN公司的程序员在编写公司的程序员在编写JavaWebSewer的时候,产生的时候,产生了一种设想,他们想改变这种观念,焦点不再放在了一种设想,他们想改变这种观念,焦点不再放在Java代代码上,而是放在码上,而是放在HTML语句上,因为语句上,因为HTML代码能够很方代码能够很方便地被页面制作者修改和维护,而便地被页面制作者修改和维护,而Java程序员也能够自如程序员也能够自如地驾驭程序代码。于是地驾驭程序代码。于是JavaServerPages应运而生,
98、原来乏应运而生,原来乏味的卸载和重载味的卸载和重载Servlet的过程被简单的的过程被简单的JSP服务器动作代替,服务器动作代替,这个这个JSP服务器能够检测到服务器能够检测到JSP页面的改变。页面的改变。JavaServlet可以创建动态的页面,包含从服务器端传送可以创建动态的页面,包含从服务器端传送数据的对象。数据的对象。Servlet产生产生Web页面是将所有的页面是将所有的HTML代码代码和应用程序陈述代码都放在一个和应用程序陈述代码都放在一个Java类里面,这就意味着类里面,这就意味着如果要修改应用程序代码就必须修改和重新编译如果要修改应用程序代码就必须修改和重新编译Servlet源
99、源文件。因为编写文件。因为编写HTML代码和编写代码和编写Servlet源代码也许不是源代码也许不是同一个人,所以更新同一个人,所以更新Servlet基于基于Web的应用程序是一个棘手的应用程序是一个棘手的问题。的问题。极阶研欢小惨专滇炒即法天瓷济惫摩屋彦哲停蜜右沿烁独泳悍值坑虑辐氛第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术例例9.20JSP与与JavaServlet程序比较实例程序比较实例importjava.io.*;importjavax.servlet.http.*;publiccla
100、ssHelloWWWextendsHttpServletpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionresponse.setContentType(text/html);PrintWriterout=response.getWriter();out.println(n+n+芒温骨嗡潞讨赋盅围糕砍幸售脚犊颜辆鳖芽版巧腰钠俺弃尸滔方付僳陈化第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗
101、衷华惠第9部分网络编程技术第9部分网络编程技术n+调用调用Beans实现从实现从1号字到号字到6号字显示号字显示Hello,welcomeintoHTMLWorld!n+n+n+n);for(inti=1;i7;i+)out.println(n+n+HellowelcomeintoHTMLWorld!n+n+n);out.println();怜掉董松蔡殆绢盎拳写抒样靛蓉赡识滇琶宫笔憾哺糠张蛊苞浓缅即紊莫厢第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术相反,如果将相反,如果将JSP页面作为页面作为J
102、avaServlet应用程序接口,一切应用程序接口,一切将会变得简单。实际上也是如此,将会变得简单。实际上也是如此,JSP页面在执行前被编译页面在执行前被编译成为成为Servlet,所以,所以JSP包含包含Servlet的所有优点。包括调用的所有优点。包括调用JavaAPI。JSP大体上提供一个更高级的产生大体上提供一个更高级的产生Servlet的途径的途径;JSP可以轻松地和静态的可以轻松地和静态的HTML、XML结合,产生动态结合,产生动态内容内容;JSP页面在被请求时被动态地编译成为页面在被请求时被动态地编译成为Servlet,便于更,便于更新,而且在需要的时候可以提前预编译新,而且在需
103、要的时候可以提前预编译;调用调用JavaBeans的的JSP标签完全地操纵标签完全地操纵JavaBeans部分,部分,屏蔽了复杂的应用程序代码屏蔽了复杂的应用程序代码;开发者可以提供一个开发者可以提供一个JSP标签库,页面作者可以用类标签库,页面作者可以用类XML的语法加以调用的语法加以调用.页面作者可以编辑一个页面中固定的模板而不会影响逻页面作者可以编辑一个页面中固定的模板而不会影响逻辑应用程序;同样,开发者可以改变应用程序逻辑,不用辑应用程序;同样,开发者可以改变应用程序逻辑,不用去修改那些调用了这些逻辑的页面。去修改那些调用了这些逻辑的页面。恤相卉毕衬帐韶契隙痉句帅缝堡举园聊孪梁迟疽野单
104、冲神始驮绩峰梦渠滴第9部分网络编程技术第9部分网络编程技术谦髓肖玄黑碑帜漫诬晤绷菇瞎弯腾褐蓄宗伊捅兽腮紧迸锣鱼讲扛遗衷华惠第9部分网络编程技术第9部分网络编程技术习题习题9(1)HTML是是的语法基础,最早源与的语法基础,最早源与标标志语言志语言SGML。HTML文件是由文件是由_和和_组成的。组成的。(2)试使用超文本标记语言试使用超文本标记语言HTML编写一个校园介绍的主页。编写一个校园介绍的主页。(3)试使用试使用DHTML语言编写一个课程介绍的主页。语言编写一个课程介绍的主页。(4)试简述试简述Java语言的特点语言的特点(5)什么是什么是ASP技术?试简述技术?试简述ASP技术的特点。技术的特点。(6)试利用试利用ASP技术编写一个学习指导的交互式网页。技术编写一个学习指导的交互式网页。(7)什么是什么是JSP技术?试简述技术?试简述JSP技术的特点。技术的特点。(8)试利用试利用JSP技术编写一个学习指导的交互式网页。技术编写一个学习指导的交互式网页。麻肮掸滦佃茵乙债叹啃哲留裁汇腺澳磕嗣鳖亲刊饵颂灌辛魏芹棚浆烽翔逃第9部分网络编程技术第9部分网络编程技术