Asp深度揭密(上)(4) server_mappath.asp <% 'mappath response.write server.mappath("server_mappath.asp") %> 效果: G:\asp_www\test\course\server_mappath.asp 思考:如何获取站点根目录的实际路径?如何获取某个目录的实际路径? server_urlencode.asp <% 'url encode response.write server.urlencode("a\time_now") %> 效果: a%5Ctime%5Fnow 4. Application 定义:用来存储、读取用户共享的应用程序信息,如可以用此对象在网站的用户间传送信息,当服务器重启后信息丢失。 方法: Lock:防止其它用户访问Application集 Unlock:使其它用户可以访问Application集 事件: OnEnd:由终止网络服务器、改变Global.asa文件触发 OnStart:由应用程序中对网页的第一次申请触发 例子: application_counter.asp <% '一个使用Application制作的简单计数器 Application.lock Application("clicks")=Application("clicks")+1 Application.unlock response.write "您是本站第 "&Application("clicks")&" 位访客!" response.write "<br><br>您来自 "&request.servervariables("remote_addr") %> 效果: 您是本站第 1 位访客! 您来自 10.1.43.238 思考:本例中lock和unlock有何作用? 5. Session 定义:存储、读取特定用户对话信息,如可存储用户对网站的访问信息,当服务器重启后信息丢失。 方法: Abandon:处理完当前页面后,结束一个用户会话 属性: Timeout:用户会话持续时间(分钟数) 事件: OnEnd:在Session Timeout时间以外,用户不再申请页面触发该事件 OnStart:由用户对网页的第一次申请时触发 例子: session_counter.asp <% '一个使用Session制作的简单计数器 session("clicks")=session("clicks")+1 response.write "您是本站第 "&session("clicks")&" 位访客!" response.write "<br><br>您来自 "&request.servervariables("remote_addr") %> 效果: 您是本站第 1 位访客! 您来自 10.1.43.238 思考:既然session和application都能做到计数,那它们之间有什么区别?如果要做到满100重新开始计数如何实现? 三、使用Asp操作数据库: 1.通过ODBC或者OLE方式连接的区别? 现在有两种连接数据库的方法。一方面,可以用ODBC产生一个连接,这种连接与任何有ODBC驱动器的数据库(即基本上是市场上所有的数据库)兼容;另一方面,可以用原始OLE DB提供商产生一个连接。