你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
1.8 动态网站的配置与发布
 

网站最终的目标就是在服务器上发布,发布后的网站信息才能在客户端通过IE浏览器或NetScape浏览器进行浏览和交互。在前面的讲座中介绍了IntraWeb不同的开发模式,独立模式(Standalone Application)、服务器模式(Server Applicaton)和页面模式(ISAPI Extension)等。对应不同的模式发布前要做必要的配置,以保证网站功能发挥和信息正常提供。

一、IntraWeb 服务控制器配置

IntraWeb服务控制器IWServerController是控制Web应用程序的一个十分重要的非可视化接口,该程序是随Web应用自动产生的,默认的单元文件名即为ServerController.pas,在Delphi中打开该文件,在Object Inspector部分会出现如图1所示属性设置界面。通过它可以配置会话超市、端口以及其他Web服务器专用信息的属性。其重要属性含义有:


 

     1 IWServerController配置

Authlist:允许定义访问Web应用登录权限。

AppName­Web应用的名称。

ComInitialization:从Web程序中进行COM调用。

DescriptionWeb应用程序在服务端描述性标识。

DestianationDevice:当前代表一个基于Web的某首次,但IntrawWeb体系结构是足够开放的。将来,它将被允许用于某些其他目标类型(如PalmPokectPC、无线电话等等)。

ExceptionDisplayMode:定义一个异常在消息框、自身页面、相同页面或者相关的消息框弹出。

HistoryEnabled:定义是否记录访问过页面记录。

Port:定义一个通信端口,缺省为8888,允许设计开发者定义一个适合的端口号,让Web应用使用该服务器端口。

RestrictIPs:指定不允许访问Web应用程序的IP地址。

SessionTrackingMethod:具有两种URL选择,或者居于cookieWeb应用程序跟踪会话。

SessionTimeout:为Web应用程序定义会话超时时限。

SSLPort:允许使用HTTPS通信,它只是桥接作用,建立SSL端口的所有工作必须分开完成。

SupportedBrowsers:定义生成代码需要支持和优化的浏览器。

在此的在线教学网站设计时,从需要出发,针对IWServerController也作了相应配置,其设置和修改见表1

1 在线教学中IWServerController属性设置表

编号

属性项

参数

1

AppName

Anyweb

2

Description

教学在线...

3

HistoryEnabled

True

4

ComInitialization

ciMultiThreaded

5

SessionTrackingMethod

tmHidden

6

Port

123

 

二、Web应用网站发布

1.命令行参数

打开在线教学网站的所创建的工程文件AnyWebApp.dpr,在Delphi菜单栏中选择RunParameters文本框中添加参数,如图2所示。如果你的网站的Web应用程序属于Standalone Application,就可以此种方法来设置并发布。

 


 

2 命令行发布参数配置

其中可以添加和修改的参数含义有:

Luanchbrowser:在命令行中添加这个参数后,每次执行该应用程序,就会自动打开默认的浏览器。

Minimize:通过该参数通知服务器调试窗口在程序运行时最小化,以免影响页面的显示,否则调试对话窗口将显示在最顶层。

Noservice:同样是一个可执行的Web程序,既可以把它当作一个单独的应用程序,又可以作为一个Windows服务运行。如果作为Windows服务,系统就会搜索Windows的状态,这时如果不是由具有管理权限的用户来运行该服务,就有可能出现异常,为了克服这种情况的发生,可以输入该参数。

设置好后,发布就算完成了,客户端要想通过浏览器访问这个Web应用,只要服务器端这个程序处于运行状态,在地址栏中键入相应地址即可(在后面的访问应用程序部分还将提及)。

2.网站应用程序发布为Windows服务

如果Web程序已是Server Application模式,就可以采用将其发布Windows服务模式来发布,这种方法的一个明显优势没有了调试窗口和运行菜单,而是运行这个应用程序,就像运行其他Windows服务一样,系统一旦启动,这个服务就自动运行了,而不用每次登录它。要把IntraWeb应用程序发布为Windows服务,实际上使用Windows命令行来安装或卸载发布的Web应用,命令行格式为:

Application name install

Application name uninstall

依据上述格式,我们可以建立的两个处理文件,一个为install.bat,另一个为Uninstall.bat。有了两个处理文件,在程序设计和调试过程中,就可以使用它们来安装卸载某个应用程序,例如用来安装在线教学应用AnyWeb.exe程序,此时install.batuninstall.bat中的书写内容为:

Istall.bat

Anyweb.exe install

Uninstall.bat

Anyweb.exe uninstall

安装成功后,通过系统控制面板打开Windows服务界面可以看到Web应用程序的相关信息,如图3所示。


3 发布到Windows的服务信息

可以通过该对话框来停止或重启所安装发布的Web程序的服务进程,即打开图3AnyWebAppIWServerController AppName的设置内容)属性设置对话框得以实现,操作界面如图4所示。包括启动类型、登录选项和恢复参数等所有与服务有关的内容都在这个环节设置完毕。

 


 

 

4 发布为Windows服务的相关操作

值得注意的是此种发布方法,只有Windows NTWindws2000Windws XP系统才支持Windows服务,而Windows98Windows Me 均不支持Windows服务,如果要在Windws98这样系统环境发布该网站,就需要按着ISAPI Extension发布方式来进行了。

3.网站应用程序发布其他类型

如果开发的网站Web应用为ISAPI Extension模式,也就是最后形成的Web应用程序是一个DLL文件,发布为以上类型方法,是要借助Internet Informaiton ServerIIS)来进行相关的定制或设置,最为关键的就是为Web应用程序创建一个虚拟目录,并将DLL文件转移至虚拟目录下。如在线教学网站将其发布为DLL后,专门通过Internet创建了一个名为Anyweb的虚拟目录,将Anyweb.dll应用程序和相关图片、模板文件等多个外部资源等一同移动到虚拟目录中。不过模板文件必须发布到虚拟目录的templates子目录下,图片文件则必须发布到虚拟目录的Files子目录下,IIS操作界面如图5所示。


 

 

5 IIS服务器的虚拟目录中发布应用程序

三、网站访问及参数

因为所有用户都是通过Web浏览器访问网站的应用程序,那么就需要通过URL地址访问Web应用程序。不同的程序类型,其URL地址及涉及到参数也不相同。

URL地址

1Standalone Application模式

格式:http://<server><IP><port>

例如:http://www.ecology.edu.cn:123

  http://192.168.30.56:123

2Server  Application模式(同上)

3ISAPI Extension模式

格式:http://<server>/<Scriptpath>/<*.dll>

例如:http://www.ecology.edu.cn/Anyweb/Anyweb.dll

在访问一个新对象时,可以通过postget方式给它传递参数,参数是通过在其实URL后面添加一个“?”来标记的,每个参数都是有“参数名”和“参数值”组成的,参数间用“&”隔开,例如要传递两个参数param1param2,其值分别为Value1Value2,则可以这样传递:

http://www.ecology.edu.cn:123?param1=value1&param2=value2

这些参数可以通过IWApplication对象的Runparams属性得到,另外,参数还可以在不同用户的不同页面间传递,一个简单的应用就是在IWServerControlleronNewSession事件里,可以根据不同用户在不同页面里传递的参数值来决定输入哪个页面。

四、网站应用程序转换

IntraWeb所创建的不同的应用程序,不需要从头创建,它们之间可以相互转换。下面以ISAPI Extension转换为Standalone Application类型为例来说明其转换的方法步骤:

打开需要转换的工程文件,选择ProjectAdd New Project命令,在同一目录下新建一个所需类型的工程。此处选择ISAPI Extension类型的工程文件。

Application类型工程的所有文件拖放到新建的Piwddemo1_isapi工程下,然后删除自带建立的IWServerControllerIWunit1单元文件,在编译PiwDemo1_isapi工程文件即可。不过,由于有些错误在调试环境下会被忽略,但在实际的环境中会出现错误,因此必须在实际的环境中或在本地机中做最后的测试正式发布。

由于笔者对Intraweb及其开发技术的认识和掌握不够,文中错误或设计上的不足在所难免,在此笔者表示歉意,并欢迎感兴趣的读者交流,以求共同进步。

整个讲座在Delphi7.0+Intraweb7.0.21+Access2003支持下完成。设计过程中登录用的测试用户名为:user1,密码为:user,提供读者作登录使用。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089