通用HttpRqeust事件头
建议实际开发的时候,建议在HttpRqeust事件的开始位置都加上一段代码,用于发送已经存在的常见文件:
'通用事件头,用于发送已经存在的常见文件
Dim
fl As
String =
"d:\web\" &
e.path
If
filesys.FileExists(fl)
Dim idx
As Integer
= fl.LastIndexOf(".")
Dim ext
As String
= fl.SubString(idx)
Select Case
ext
Case
".jpg",".gif",".png",".bmp",".wmf",".js",".css"
,".html",".htm",".zip",".rar"
e.WriteFile(fl)
Return
'这里必须返回
End
Select
End
If
'以下是动态生成网页的代码
Select
Case e.Path
Case "addnew.htm"
'生成新增页面
Case "tongji.htm"
'生成统计页面
Case "order.htm"
'生成订购页面
Case
Else
e.WriteString("糟糕,文件未找到!")
End
Select
为了让大家专注与每一节要讲述的问题,帮助文件中很多例子是不会加上事件头的。
有的时候,文件即使已经存在,也可能需要重新生成,参考:可能出现的性能问题
对于这种情况,我们可以进行一些判断即可,排除这些特殊页面:
'通用事件头,用于发送已经存在的常见文件
Select
Case e.Path
Case "saletj.htm","showtj.htm"
'排除两个页面,由后面的代码负责处理
Case Else
'其他页面或文件如果已经存在,直接发送
Dim
fl As
String =
"d:\web\" &
e.path
If
filesys.FileExists(fl)
Dim idx
As Integer
= fl.LastIndexOf(".")
Dim ext
As String
= fl.SubString(idx)
Select
Case ext
Case
".jpg",".gif",".png",".bmp",".wmf",".js",".css"
,".html",".htm",".zip",".rar"
e.WriteFile(fl)
Return
'这里必须返回
End
Select
End
If
End
Select
'以下是动态生成网页的代码
Select
Case e.Path
Case "addnew.htm"
'生成新增页面
Case "saletj.htm"
'生成统计页面
Case "showtj.htm"
'生成统计结果显示页面
Case "order.htm"
'生成订购页面
Case
Else
e.WriteString("糟糕,文件未找到!")
End
Select
有一个问题需要特别留意:
以上面的代码为例,如果你在"d:\web"目录下保存了一个"addnew.htm"网页文件,那么系统将直接发送这个文件,而不会执行后面动态生成"addnew.htm"的代码。
如果某次你修改代码后,生成的网页始终没有变化,一般都是这个原因造成的。