CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

讨论新浪(或者csdn)生成shtml是如何实现的!!

楼主loveyourvv(vv)2004-12-04 17:58:40 在 Web 开发 / ASP 提问

讨论新浪(或者csdn)生成shtml是如何实现的!!  
  这种方式对服务器来说特别是数据库服务器来说小了很多。但是具体如何实现,想跟大家讨论一下!!多谢!! 问题点数:0、回复次数:18Top

1 楼hongyanyufei(鸿雁于飞)回复于 2004-12-04 18:12:18 得分 0

建议找风讯在线的网站程序来看看,听说风讯一直都是模仿新浪的Top

2 楼alexzhang00(三角猫)回复于 2004-12-04 18:22:51 得分 0

又讨论?Top

3 楼loveyourvv(vv)回复于 2004-12-04 18:25:10 得分 0

找了风讯在线但是没有找到有价值的东西!!alexzhang00(三角猫)   有没有好的建议??Top

4 楼zola2399(丁丁)回复于 2004-12-04 18:37:40 得分 0

我关注Top

5 楼zhgroup(王员外)回复于 2004-12-04 18:43:32 得分 0

个人觉得是用模板来实现的,或者在shtml中用<script   src=xxx.asp></script>来实现,  
  其中xxx.asp是动态的部分,xxx.asp输入页面脚本Top

6 楼hflsj(红枫)回复于 2004-12-04 18:49:15 得分 0

新闻系统   用模板生成静态文件Top

7 楼xiaoyuehen(OH, NO~It's Unfair!)回复于 2004-12-04 18:55:05 得分 0

摘一部份我收集修改的代码给大家,   需要的兄弟自己看着更改吧,   其他无关的函数我就不贴了.  
   
  Rem   #################################################################  
  Rem   ##   路径检测  
  Function   CheckFolder(strPath)  
  Dim   Fso  
  Set   Fso   =   CreateObject("Scripting.FileSystemObject")  
   
  CheckFolder   =   fso.FolderExists(strPath)  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   路径检测  
  Function   CheckFile(strPath)  
  Dim   Fso  
  Set   Fso   =   CreateObject("Scripting.FileSystemObject")  
   
  CheckFile   =   fso.FileExists(strPath)  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   文件名有效性检测  
  Private   Function   CheckFileName(strFileName)  
  CheckFileName   =   False  
   
  If   strFileName   =   ""   Or   IsNull(strFileName)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "\",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "/",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   ":",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "*",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "?",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   """",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "<",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   ">",   1)   Then   Exit   Function  
  If   Instr(1,   strFileName,   "|",   1)   Then   Exit   Function  
   
  CheckFileName   =   True  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   远程获得内容  
  Private   Function   GetContent(strUrl)  
  GetContent   =   ""  
   
  Dim   oXhttp,   strContent  
  Set   oXhttp   =   Server.CreateObject("Microsoft.XMLHTTP")  
  On   Error   Resume   Next  
  With   oXhttp  
  .Open   "GET",   strUrl,   False,   "",   ""  
  .Send  
  strContent   =   .Responsebody  
   
  strContent   =   BytesToBstr(strContent)  
  End   With  
   
  Set   oXhttp   =   Nothing  
  If   Err.Number   <>   0   Then  
  oSys.addmessage   Err.Description  
  Err.Clear  
  Exit   Function  
  End   If  
   
  GetContent   =   strContent  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   编码转换   2进制   =>   字符串  
  Private   Function   BytesToBstr(vIn)  
  dim   objstream  
  set   objstream   =   Server.CreateObject("adodb.stream")  
  objstream.Type   =   1  
  objstream.Mode   =   3  
  objstream.Open  
  objstream.Write   vIn  
  objstream.Position   =   0  
  objstream.Type   =   2  
  objstream.Charset   =   "GB2312"  
  BytesToBstr   =   objstream.ReadText    
  objstream.Close  
  set   objstream   =   nothing  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   编码转换   2进制   =>   字符串  
  Private   Function   sDoCreateFile(strPath,   strFileName,   ByRef   strContent)  
  sDoCreateFile   =   False  
   
  Rem   ##   检测路径及文件名有效性  
  If   Not(CheckFolder(strPath))   Then   Exit   Function  
  If   Not(CheckFileName(strFileName))   Then   Exit   Function  
   
  If   Right(strPath,   1)   <>   "\"   Then   strPath   =   strPath   &   "\"  
  Dim   strFullFileName  
  strFullFileName   =   strPath   &   strFileName  
   
  Rem   ##   生成文件  
  Dim   objStream  
   
  On   Error   Resume   Next  
  Set   objStream   =   Server.CreateObject("ADODB.Stream")  
  If   Err.Number=-2147221005   Then    
  oSys.addmessage   "主机不支持ADODB.Stream"  
  Err.Clear  
  Exit   Function  
  End   If  
   
  On   Error   Resume   Next  
  With   objStream  
  .Type   =   2  
  .Open  
  .Charset   =   "GB2312"  
  .Position   =   objStream.Size  
  .WriteText   =   strContent  
  .SaveToFile   strFullFileName,   2  
  .Close  
  End   With  
  If   Err.Number   <>   0   Then    
  oSys.addmessage   strFullFileName  
  oSys.addmessage   Err.Description  
  Err.Clear  
  Exit   Function  
  Else  
  oSys.addmessage   strFullFileName  
  End   If  
  Set   objStream   =   Nothing  
   
  sDoCreateFile   =   True  
  End   Function  
  Rem   #################################################################  
   
  Rem   #################################################################  
  Rem   ##   逝去时间  
  Private   Function   processTime(intFlag)  
  Dim   IntProcessSecond,   Result,   dtaEnd  
  dtaEnd   =   Timer()  
  IntProcessSecond   =   FormatNumber((dtaEnd   -   dtaStart)   *   1000,   3,   True)  
   
  Select   Case   intFlag  
  Case   0  
  Result   =   "花费时间:   "   &   IntProcessSecond   &   "毫秒"  
  Case   1  
  Case   2  
  Case   3  
  End   Select  
   
  processTime   =   Result  
  End   Function  
  Rem   #################################################################  
  Top

8 楼xiaoyuehen(OH, NO~It's Unfair!)回复于 2004-12-04 18:59:23 得分 0

如果你对这方面有兴趣,   我推荐你去这个论坛看看  
  http://bbs.tsyschina.com/default.asp  
   
  该网站有个开源的项目tsys,   专门讨论静态页面生成管理..软件本身构架得也很不错(个人觉得),   具有比较良好的代码风格.Top

9 楼qunluo(最爱白菜)回复于 2004-12-04 20:52:53 得分 0

网上太多这样的例子!!!  
   
  在说了,什么html还是shtml还是htm没什么差别嘛!  
  都是一样的原理!!FSO数据处理!Top

10 楼arcow(冲星)回复于 2004-12-04 21:00:03 得分 0

生成shtml和html有差别嘛?Top

11 楼loveyourvv(vv)回复于 2004-12-05 11:18:33 得分 0

谢谢各位的讨论!!!Top

12 楼Onlyfu(好久没碰过女人了)回复于 2004-12-06 21:13:11 得分 0

我也比较想知道这个东西,有没有人能提供一点资料或者例子什么的。先谢了!!Top

13 楼aner(名花虽有主,我来松松土!)回复于 2005-01-24 14:55:04 得分 0

新浪、搜狐里的shtml的“相关链接”的内容是怎样生成的???Top

14 楼lawyu(雨淋漓)回复于 2005-01-24 15:00:35 得分 0

应该就是模板生成的    
  :)Top

15 楼pizi611(皮子)回复于 2005-01-24 15:20:16 得分 0

我也想知道在apache的配置文件上面有需要什么改动Top

16 楼aner(名花虽有主,我来松松土!)回复于 2005-01-24 15:37:55 得分 0

请教:"lawyu(雨淋漓)"  
        是不是一但生成那么"相关链接"的内容就不能改了?Top

17 楼xuan2002627(浪子)回复于 2005-01-24 15:59:18 得分 0

个人认为就是一个新闻发布信息,Top

18 楼tigerhu76(虎虎)回复于 2005-01-24 16:24:54 得分 0

markTop

相关问题

  • 像新浪、搜狐里的shtml的“相关链接”的内容是怎样生成的???
  • 在关新闻生成的SHTML问题!
  • =>新浪收购CSDN(百联美达美)<=
  • csdn菜单树生成方法求解
  • 请问如何把asp.net生成shtml文件??
  • 如何将数据库中的内容生成shtml文件
  • 急!!!请问哪里有自动生成静态页面的教程和程序例子??(就像新浪那样的做法)请指教!!
  • 请问怎么样能够用asp生成html或者shtml的链接
  • ====什么是shtml文件,我怎么来动态生成这样的文件呢?
  • 求救:如何动态生成html页面或者是shtml,shtml和html有什么区别?

关键词

  • 新浪
  • 内容
  • functionrem
  • objstream
  • rem
  • 生成
  • oxhttp
  • strpath
  • addmessage
  • checkfolder

得分解答快速导航

  • 帖主:loveyourvv

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo