?? intraweb開(kāi)發(fā)指南.htm
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://hubdog.csdn.net/UpdateList/ul20030206.htm -->
<HTML><HEAD><TITLE>IntraWeb開(kāi)發(fā)指南</TITLE><!-- #BeginTemplate "/Templates/detail.dwt" --><!-- DW6 -->
<META content="text/html; charset=gb2312" http-equiv=Content-Type><!-- #BeginEditable "doctitle" --><!-- #EndEditable --><!-- #BeginEditable "head" --><!-- #EndEditable -->
<META content="MSHTML 5.00.3502.5390" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff text=#000000>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=740>
<TBODY>
<TR align=middle>
<TD height=100>
<P><IMG height=81 src="IntraWeb開(kāi)發(fā)指南.files/logo.gif" width=707></P>
<P><IMG border=0 height=36 src="IntraWeb開(kāi)發(fā)指南.files/Detail.gif" useMap=#Map
width=765></P></TD></TR>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width="100%">
<TBODY>
<TR>
<TD>
<DIV align=center>
<SCRIPT language=JavaScript1.2 type=text/javascript> //用escape函數(shù)對(duì)referer進(jìn)行html編碼,這樣才能作為querystring傳給連接 f=""+escape(document.referrer) t="&Title="+document.title function pr(n) {document.write(n,"\n");} r="Referer="+f //pr("<script language=\"javascript\" src=\"http://www.agyy.com/junpeng/hubdog/counter.asp?"+r+"\"><\/script>") pr("<script language=\"javascript\" src=\"http://www.agyy.com/junpeng/hubdog/counter.asp?"+r+t+"\"><\/script>")</SCRIPT>
</DIV></TD></TR>
<TR>
<TD><!-- #BeginEditable "edit" -->
<DIV class=Section1 style="LAYOUT-GRID-LINE: 15.6pt">
<P align=center style="TEXT-ALIGN: center"><SPAN
style="FONT-FAMILY: 宋體; FONT-SIZE: 18pt; Times: ">真正所見(jiàn)即所得的</SPAN><SPAN
lang=EN-US style="FONT-SIZE: 18pt">Delphi Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; FONT-SIZE: 18pt; Times: ">開(kāi)發(fā)利器</SPAN><SPAN
lang=EN-US style="FONT-SIZE: 18pt">-</SPAN></P>
<P align=center style="TEXT-ALIGN: center"><SPAN lang=EN-US
style="FONT-SIZE: 18pt">IntraWeb</SPAN><SPAN
style="FONT-FAMILY: 宋體; FONT-SIZE: 18pt; Times: ">開(kāi)發(fā)指南[<A
href="http://hubdog.csdn.net/Download/intraweb.zip?t=27&id=1399">下載例子程序</A>]</SPAN></P>
<P align=center style="TEXT-ALIGN: center"><SPAN
style="FONT-FAMILY: 宋體; FONT-SIZE: 14pt; Times: ">作者:陳省</SPAN></P>
<P><B><SPAN style="FONT-FAMILY: 宋體; Times: ">歷史回顧</SPAN></B></P>
<P><SPAN lang=EN-US>
</SPAN><SPAN style="FONT-FAMILY: 宋體; Times: ">從</SPAN><SPAN
lang=EN-US>Delphi3</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">起,</SPAN><SPAN
lang=EN-US>Borland</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了最早的</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)發(fā)組件</SPAN><SPAN
lang=EN-US>WebBroker</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,</SPAN><SPAN
lang=EN-US>WebBroker</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">應(yīng)該說(shuō)有很多天然的缺陷:</SPAN></P>
<P><SPAN lang=EN-US>1. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">首先</SPAN><SPAN
lang=EN-US>WebBroker</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供的</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)發(fā)組件相當(dāng)少,只有</SPAN><SPAN
lang=EN-US>PageProducer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">和</SPAN><SPAN
lang=EN-US>QueryTableProducer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">幾個(gè)很少的組件。</SPAN></P>
<P><SPAN lang=EN-US>2. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">組件不支持所見(jiàn)即所得的開(kāi)發(fā)方式,所有</SPAN><SPAN
lang=EN-US>Html</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">頁(yè)面的設(shè)計(jì)都要通過(guò)</SPAN><SPAN
lang=EN-US>FrontPage</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">和</SPAN><SPAN
lang=EN-US>DreawWeaver</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">等網(wǎng)頁(yè)開(kāi)發(fā)工具來(lái)完成。</SPAN></P>
<P><SPAN lang=EN-US>3. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">動(dòng)態(tài)網(wǎng)頁(yè)實(shí)現(xiàn)的支持也很弱,只支持通過(guò)透明標(biāo)簽</SPAN><SPAN
lang=EN-US>OnHtmlTag</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">和</SPAN><SPAN
lang=EN-US>WebModule</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的</SPAN><SPAN
lang=EN-US>OnAction</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">事件來(lái)實(shí)現(xiàn)。</SPAN></P>
<P><SPAN lang=EN-US>4. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">不提供對(duì)</SPAN><SPAN
lang=EN-US>Session</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的封裝,完全需要自己通過(guò)</SPAN><SPAN
lang=EN-US>Cookie</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">來(lái)實(shí)現(xiàn)。</SPAN></P>
<P><SPAN lang=EN-US>5. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">調(diào)試非常不方便,需要通過(guò)安裝第三方的</SPAN><SPAN
lang=EN-US>WebServer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,如</SPAN><SPAN
lang=EN-US>IIS</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,并且要配置一系列注冊(cè)表才能完成調(diào)試,而且在</SPAN><SPAN
lang=EN-US>ISAPI</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">方式下調(diào)試更是一場(chǎng)惡夢(mèng),總是要不停的重新啟動(dòng)</SPAN><SPAN
lang=EN-US>WebServer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">。</SPAN></P>
<P><SPAN lang=EN-US>6. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">所有的業(yè)務(wù)邏輯只能放在一個(gè)單元中來(lái)實(shí)現(xiàn),不容易實(shí)現(xiàn)多人開(kāi)發(fā),我曾經(jīng)寫(xiě)過(guò)的一個(gè)</SPAN><SPAN
lang=EN-US>WebServer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,一個(gè)單元里塞下了</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">萬(wàn)多行代碼,維護(hù)非常不方便,不適合編寫(xiě)大型的</SPAN><SPAN
lang=EN-US>WebServer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">。</SPAN></P>
<P><SPAN style="FONT-FAMILY: 宋體; Times: ">從</SPAN><SPAN
lang=EN-US>Delphi5</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)始,</SPAN><SPAN
lang=EN-US>Borland</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了一組新的</SPAN><SPAN
lang=EN-US>InternetExpress</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">組件,這套組件同</SPAN><SPAN
lang=EN-US>WebBroker</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的特點(diǎn):</SPAN></P>
<P><SPAN lang=EN-US>1. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">界面控件增加了許多,而且組件是基于接口來(lái)實(shí)現(xiàn)的,非常容易擴(kuò)展,當(dāng)時(shí)我還為</SPAN><SPAN
lang=EN-US>InternetExpress</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">寫(xiě)過(guò)</SPAN><SPAN
lang=EN-US>20</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">多個(gè)組件。</SPAN></P>
<P><SPAN lang=EN-US>2. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了初步的所見(jiàn)即所得的功能,但是有一個(gè)很大的問(wèn)題是,頁(yè)面布局通過(guò)</SPAN><SPAN
lang=EN-US>LayoutGroup</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">組件來(lái)進(jìn)行格式化,界面的布局非常僵化,不容易實(shí)現(xiàn)靈活美觀的界面,同時(shí)界面設(shè)計(jì)的修改也仍然很麻煩,需要通過(guò)</SPAN><SPAN
lang=EN-US>Web Page Designer</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的樹(shù)視圖和列表視圖維護(hù)但仍然不能象開(kāi)發(fā)一般程序那樣拖放幾個(gè)控件就能完成界面設(shè)計(jì)。</SPAN></P>
<P><SPAN lang=EN-US>3. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">增加了對(duì)</SPAN><SPAN
lang=EN-US>XML</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的支持,并能和</SPAN><SPAN
lang=EN-US>Midas</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">配合實(shí)現(xiàn)基于三層的</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)發(fā),李維的</SPAN><SPAN
lang=EN-US>Delphi5.x</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">系列書(shū)中的電子商務(wù)篇對(duì)此有著很詳細(xì)的論述。</SPAN></P>
<P><SPAN style="FONT-FAMILY: 宋體; Times: ">從</SPAN><SPAN
lang=EN-US>Delphi6</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)始,</SPAN><SPAN
lang=EN-US>Borland</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了新的</SPAN><SPAN
lang=EN-US>WebSnap</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">開(kāi)發(fā)框架,這套框架是在</SPAN><SPAN
lang=EN-US>InternetExpress</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">基礎(chǔ)上重新設(shè)計(jì),特點(diǎn)是</SPAN></P>
<P><SPAN lang=EN-US>1. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">增加了更多的控件,提供了</SPAN><SPAN
lang=EN-US>Session</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的支持</SPAN></P>
<P><SPAN lang=EN-US>2. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了</SPAN><SPAN lang=EN-US>Web App
Debugger</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,可以方便的調(diào)試</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">程序而無(wú)須反復(fù)重新啟動(dòng)</SPAN><SPAN
lang=EN-US>Web Server</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">了。</SPAN></P>
<P><SPAN lang=EN-US>3. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">提供了多頁(yè)模塊開(kāi)發(fā)方式,使得我們可以將大型的</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">程序分割成小的模塊進(jìn)行開(kāi)發(fā)。</SPAN></P>
<P><SPAN lang=EN-US>4. </SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">支持</SPAN><SPAN
lang=EN-US>Server</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">端腳本,可以在</SPAN><SPAN
lang=EN-US>Html</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">頁(yè)面中嵌入</SPAN><SPAN
lang=EN-US>JScript, VBScript</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">等腳本。</SPAN></P>
<P><SPAN style="FONT-FAMILY: 宋體; Times: ">但是在</SPAN><SPAN
lang=EN-US>WebSnap</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">中仍然沒(méi)有解決的最大問(wèn)題就是開(kāi)發(fā)方式仍然沿襲了</SPAN><SPAN
lang=EN-US>InternetExpress</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">的頁(yè)面設(shè)計(jì)方式,而不是大家熟悉的拖放控件的開(kāi)發(fā)方式,另外</SPAN><SPAN
lang=EN-US>Borland</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">在</SPAN><SPAN
lang=EN-US>WebSnap</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">中使用了大量的設(shè)計(jì)模式,組件之間的關(guān)系比較復(fù)雜,雖然可以開(kāi)發(fā)功能更強(qiáng)大的</SPAN><SPAN
lang=EN-US>Web</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">程序,但是也導(dǎo)致了學(xué)習(xí)曲線的增高。</SPAN></P>
<P><SPAN style="FONT-FAMILY: 宋體; Times: ">到了</SPAN><SPAN
lang=EN-US>Delphi7</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">,</SPAN><SPAN
lang=EN-US>Borland</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">這回引進(jìn)了</SPAN><SPAN
lang=EN-US>atozedsoftware</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">公司的</SPAN><SPAN
lang=EN-US>2002</SPAN><SPAN
style="FONT-FAMILY: 宋體; Times: ">年度</SPAN><SPAN
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -