困惑,为什么不能显示出网页? (50分)

  • 主题发起人 主题发起人 ufolink
  • 开始时间 开始时间
U

ufolink

Unregistered / Unconfirmed
GUEST, unregistred user!
我这样作的:
delphi7 ->file->new->Web Server Applicition ->CGI Stand-alone executable
在 WebModule1 双击 ->Add new ->WebActionitem1,属性:PathInfo :/test
WebActionitem2 属性:PathInfo : /default Default:true

完整代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, HTTPApp;

type
TWebModule1 = class(TWebModule)
procedure WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
procedure WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
WebModule1: TWebModule1;

implementation

{$R *.DFM}

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
Page: TStringList;
begin
Page := TStringList.Create;
try
with Page do
begin
Add('<HTML>');
Add('<HEAD>');
Add('<TITLE>Web Server Application -- Basic Sample</TITLE>');
Add('</HEAD>');
Add('<BODY>');
Add('<B>This page was created on the fly by Delphi </B><P>');
Add('<HR>');
Add('See how easy it was to create a page on the fly with Delphi''s Web Extensions?');
Add('</BODY>');
Add('</HTML>');
end;
Response.Content := Page.Text;
finally
Page.Free;
end;
Handled := True;
end;

procedure TWebModule1.WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content := 'Default Action';
end;

end.

编译生成 :Project1.exe
把Project1.exe copy to
xp C:/Inetpub/wwwoot 下(已经安装IIS) 打开IE 在url 输入:

http://127.0.0.1/Project1.exe/test

没有看到网页,只是闪了一下。为什么?

使用 ISAPI 项 生成.dll 也不行。即:
http://127.0.0.1/Project1.dll/test

错误原因在那里?

 
程序没有错误。很好的。
问题是:
1.你的 iis 版本是什么?版本 6 需要手工启动 CGI 服务。
2.你的 web 目录已经设置了 CGI 的运行权限了没有?
3.你的分区系统是什么?NTFS 需要开放一些文件执行或读写的权限。
4.如果是 iis 6 ,改用 Hostname 替换掉 IP 试试。
 
好像是iis 5,分区:FAT32
就是xp 自代的
如何启动 CGI 服务
 
那就不需要了。这个版本的 iis ,默认开放 CGI 的是 scripts 目录。你可以在 Inetpub
目录下找到它。你把你的程序放入这个目录,然后在浏览器里敲如下:
http://127.0.0.1/scripts/Project1.exe/test
执行后有什么情况,再来发贴。
 
如果在Client 端浏览网页,我该把Project1.dll 放在服务器的什么目录下?
 
现在的问题是:你按上面的操作,有没有成功。如果上面的操作根本没有成功,后面的话就
等一等再说。如果成功了,你就告诉我你的域名或者 IP 地址,我从我这边来访问一下就可
以了,我如果同样可以访问你的页面,你就完成了啊。是不是?
 
to 小雨哥:
按上面的操作,没有成功,xp iis5.1
还是不行,拷到127.0.0.1/scripts/目录也不行,默认的页为wwwooot,不是scripts,
还有这些属性该如何设?
能不能写下设置步骤
 
接受答案了.
 

Similar threads

后退
顶部