| 我太懒了 的个人资料我太懒了,比猪还...照片日志列表 | 帮助 |
|
|
5月26日 使用模板实现ASP代码与页面分离 每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码难以理解、难以修改;程序编写必须在美工之后,成为项目瓶颈;整合的程序代码和HTML静态页面时,花费大量的时间才能得到理想的效果,兼作了美工。的确,用脚本语言开发Web应用不容易将数据的处理和数据的显示分开,但在多人合作的情况下,如果无法将数据和显示分开,将大大影响开发的效率,专业分工的发挥。 1、模板类的设计 实现方法: 2、模板类的实现 实现代码: Class kktTemplate 3、使用例子 下面是ASP代码(kktTemplate.inc.asp就是上面给出的模板类): 执行后输出为:
ASP代码: 3)嵌套块演示 ASP代码: kkt.set_file "hndKktTemp", "myTemple3.tpl" for i=0 to UBound(animal) 执行结果:
漂浮flash代码<DIV id=img style="POSITION: absolute">
链接下滑线为点划线css样式表<STYLE type="text/css">
a:visited:hover {
不间断滚动字幕代码<HTML> <BODY>
</td></tr> </tbody>
IIS系列教程【IIS系列教程】 第一节:Internet Information Server 安全机制的工作方式 Internet Information Server 建立在 Windows NT 安全机制模型之上。Windows NT 安全机制通过请求分配用户帐号和密码帮助保护计算机及其资源。可使用限制这些帐号的用户权力来控制访问计算机资源。可使用 Windows NT 文件系统 (NTFS) 分配计算机上的文件夹和文件权限。禁止用户向文件夹中或从文件夹中复制文件,或禁止用户执行某个文件夹中的文件,来控制访问文件夹和文件。 IIS系列教程 第二节:控制匿名访问 在许多 Web 服务器上,大部分 WWW、FTP、和 gopher 访问是匿名的;即客户请求不包含用户名和密码。这出现在下面情况中: 所有 gopher 请求。 Web 浏览器请求在 HTTP 头文件中不包含用户名和密码(此情况在与大多数浏览器连接的新 Web 连接上是默认的)。 配置匿名用户帐号 允许匿名访问 更改用于匿名访问的帐号或密码 使用域控制器上的匿名帐号 将 Internet Information Server 安装到主域或从域控制器时,在域的用户帐号数据库中创建匿名登录用户帐号。当 Internet Information Server 安装在域成员服务器,或单独的服务器时,在本地计算机上创建此帐号。 IIS系列教程 第三节:控制用户或组的访问 通过使用 Windows NT 用户管理器指定允许哪种用户或用户组可在服务器上操作,可以控制对 Web 节点的访问。可通过要求 Web 客户请求以提供在完成请求之前定制的 Internet Information Server 用户名和密码,可以更进一步控制访问。 设置用户帐号 Windows NT 安全机制通过要求分配的用户帐号保护您的计算机及其资源。运行 Windows NT 的计算机上的每次操作标识何人正使用操作。例如,用于登录到 Windows NT 上的用户名和密码标识您是谁,并定义授权您在计算机上进行的操作。 要求用户名和密码 可将对 Web 节点的访问仅限制为身份验证的客户;即提供有效用户名和密码的 Web 客户。使用身份验证时,不允许访问,除非提供有效的用户名和密码。如果只想要授权的个人访问您的 Web 节点或由 NTFS 控制的特定部分,则密码身份验证很有用。可以同时允许匿名登录访问和授权访问。 允许 WWW 服务的身份验证 在 Internet 服务管理器中,双击 WWW 服务以显示其属性菜单,然后单击“服务”选项卡。 允许 FTP 服务的身份验证 匿名登录与客户身份验证的交互 对于 WWW 服务和 FTP 服务允许匿名连接和客户身份验证。本节解释两种方法都允许时 IIS Web 服务器如何响应这些访问方法。 WWW 服务 FTP 服务 当 FTP 服务接收包含证件(用户名和密码)的客户请求时,“匿名登录”用户帐号不用于处理请求。相反,客户所接收的用户名和密码由服务使用。如果服务在使用指定的用户名和密码时未被授权访问请求的资源,则请求失败,并且将错误通知返回客户。 创建自定义的身份验证方案 如果需要服务不直接支持 WWW 请求身份验证方案,则获得 Win32 Software Development Kit (SDK) 的备份,并阅读关于如何开发用户写入的处理请求身份验证的 ISAPI 过滤器动态链接库 (DLL) 的 ISAPI 过滤器详细说明。通过 Microsoft Developer Network 可获得 Win32 SDK 。详细信息,请参阅 Microsoft 的宿主页 http://www.microsoft.com)。 IIS系列教程 第四节:设置文件夹和文件权限 由于 Windows NT 用户的缘故,每次访问资源,例如文件、HTML 页面或 Internet Server API (ISAPI) 应用程序,由服务来完成。服务在企图读或执行客户资源时使用用户的用户名和密码。可以有两种方法控制服务文件和文件夹: 设置 NTFS 权限 应将数据文件放置于 NTFS 分区。NTFS 提供数据文件的安全性和访问控制。可使用 NTFS 为特定用户和服务限制访问某部分文件系统。特别是,对于任何 Internet 发布服务,它是将访问控制列表 (ACL) 用于数据文件的好主意。 保护 NTFS 驱动器上的文件 使用 Internet 服务管理器中的“目录”属性页,将文件放于 NTFS 驱动器并将其添加到 Web 节点。 审核文件访问 判定某人是否已经获得对敏感文件的未授权访问,可以审核 NTFS 文件和文件夹的访问权限。例如,可检查特定用户组的成员读文件的企图。应该定期考察审核报告以便检查未授权访问。在文件或文件上设置审核,使用域用户管理器 以允许 File and Object Access 的审核,然后使用 Windows NT 资源管理器指定要审核哪个文件以及要审核哪类文件访问事件。要考察审核条目,使用事件查看器。 第五节:设置 WWW 目录访问权 在 Internet Service Manager 中创建 Web 发布目录(文件夹)时,可以为定义的主目录或虚拟目录及其中所有的文件夹设置访问权限。这些权限是有 WWW 服务提供的那些,是 NTFS 文件系统提供的权限之外的部分。权限是: 设置目录的访问权限 在 Internet 服务管理器中,双击 WWW 服务以显示其属性页,然后单击“目录”选项卡。 IIS系列教程 第六节:通过 IP 地址控制访问权 可以配置 Microsoft Internet Information Server 以允许或拒绝访问特定 IP 地址。例如,可以通过拒绝从特定 IP 地址访问您的服务器来排除入侵的个人,或防止整个网络访问您的服务器。相反,可以有选择地允许特定节点访问您的服务。在 Internet 上排除未知用户,IP 地址安全性可能最有用。 拒绝访问特定计算机或计算机组 在 Internet Service Manager 的“高级”属性页中,选择“允许访问”按钮。 允许访问特定计算机或计算机组 在 Internet Service Manager 的“高级”属性页中,选择“拒绝访问”按钮。 IIS系列教程 第七节:运行其它网络服务 应该考察连接 Internet 的所有计算机上使用的全部网络服务。 只运行所需要的服务 在系统上运行的服务越少,在可利用的管理中发生的错误越少。使用“控制面板”中的 Services 应用程序取消 Internet 服务器上不完全必要的服务 从 Internet 网卡上解开不必要的服务 使用“控制面板”中“网络”应用程序内的绑定特性从任何连接 Internet 的网卡上解开任何不必要的服务。例如,可使用 Server 服务从您的内部网络中的计算机上复制新的图象和文档,但您可能不希望远程用户从 Internet 上 直接访问 Server 服务。 检查网络共享权限 如果在 Internet 网卡上运行服务,确保在系统上双检查设置在已创建共享上的权限。还应该双检查包含在共享文件夹中的文件上设置的权限,以确保设置正确。 不允许目录浏览 除非是方案的一部分,否则不应该在“目录”属性页中允许目录浏览。目录浏览潜在地暴露了整个 Web 发布文件的结构;如果配置不正确,则有将程序文件或其它文件暴露给未授权访问的危险。如果默认页面 (Default.htm) 未出现并允许目录浏览,则 WWW 服务将返回包含指定目录中文件列表的 Web 页面。通常建议将 Default.htm 页面放于您不希望被浏览的目录中。 第八节:用安全套接字层 (SSL) 保护数据传输 本章的前面小节已经讲解了保护您的服务器防止未授权访问。这节讨论使用密码技术保护数据从服务器中和到其中传输的协议。 生成密钥对 在“Microsoft Internet 服务器”子菜单中,单击“密钥管理器”,或单击“Internet 服务管理器”工具栏上的“密钥管理器”图标。 密钥名 为要创建的密钥分配一个名称。 密码 指定密码以加密私人密钥。 位 以默认方式 密钥管理器 生成长度为 1024 位的密钥对。要指定长度为 512 或 768 的密钥在此框中作出正确的选择。指定更多的位,则安全性更大。在国际版本中,创建的每个密钥的长度是 512 位。 组织 高级的国际标准化组织 (ISO) 注册,高层组织或公司名。 组织单位 公司内您所在的部门,例如市场部。 公共名 服务器域名,例如 www. mycompany.com。 国家 两字母的 ISO 国家名,例如 US, FR, AU, UK 等。 州/省 例如 Washington, Alberta, California 等。 地点 公司所在的城市,例如 Redmond 或多伦多。 请求文件 键入将被创建的请求文件名。 在另一个服务器上生成密钥对 可在另一个服务器上建立密钥对,并在此处安装证书。从“服务器”菜单中,单击“连接到服务器”,然后参照前面“生成密钥对”下的过程。 获得证书 由“密钥管理器”生成的密钥直到从身份验证中获得有效的证书,例如 VeriSign,才能在 Internet 上使用。向身份验证发送证书请求文件以获得有效证书。直到这样做以后,密钥将存在于其宿主计算机上,但不能使用。关于获得 VeriSign 证书的指令,请在http://www.verisign.com/microsoft/ 下参考 VeriSign 的 Web 节点。 用密钥对安装证书 完成证书请求之后,将从 Certifi -----BEGIN CERTIFICATE----- JIEBSDSCEXoCHQEwLQMJSoZILvoNVQECSQAwcSETMRkOAMUTBhMuVrM mIoAnBdNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMRwwGgYDVQ QLExNQZXJzb25hIENlcnRpZmljYXRlMSQwIgYDVQQDExtPcGVuIE1hc mtldCBUZXN0IFNlcnZlciAxMTAwHhcNOTUwNzE5MjAyNzMwWhcNOTYw NTE0MjAyOTEwWjBzMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIER hdGEgU2VjdXJpdHksIEluYy4xHDAaBgNVBAsTE1BlcnNvbmEgQ2VydG lmaWNhdGUxJDAiBgNVBAMTG09wZW4gTWFya2V0IFRlc3QgU2VydmVyI DExMDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDU/7lrgR6vkVNX40BA q1poGdSmGkD1iN3sEPfSTGxNJXY58XH3JoZ4nrF7mIfvpghNi1taYim vhbBPNqYe4yLPAgMBAAEwDQYJKoZIhvcNAQECBQADQQBqyCpws9EaAj KKAefuNP+z+8NY8khckgyHN2LLpfhv+iP8m+bF66HNDUlFz8ZrVOu3W QapgLPV90kIskNKXX3a ------END CERTIFICATE----- 安装证书 在“Internet 服务器”程序组中,单击“密钥管理器”。 配置目录要求 SSL 如果已经使用证书,必须允许 Internet 服务管理器上的 SSL 特性。可在 Web 节点中任何可用的虚拟文件夹上要求 SSL,并在“目录”属性页上配置。 要求 SSL 在 Internet 服务管理器中,双击 WWW 服务以显示其属性页,然后单击“目录”选项卡。 创建密钥对之后,可使用密钥管理器将密钥对移动到另一个服务器。 将密钥对移动到另一个服务器 从“服务器”菜单中,单击“连接到服务器”,键入想要将密钥对移入其中的服务器名,然后单击“确认”。 选定想要移动的密钥。 从“编辑”菜单中,单击“剪切”。 选定想要将密钥对移入其中的服务器。 从“编辑”菜单中,单击“粘贴”。 备份密钥 用密钥管理器将信息从注册处下载到硬盘上的文件,然后为了安全保存将其复制或移动到软盘或磁带中。可以用已安装的证书备份私人密钥对或密钥。 备份密钥或私人密钥对文件 从“密钥管理器”的“密钥”菜单中,选择 “导出密钥”然后是“备份文件”。 载入备份密钥 可用 Import 命令将备份密钥或私人密钥对文件载入密钥管理器。 载入备份密钥 从“密钥管理器”的“密钥”菜单中,选择“导入密钥”然后是“备份文件”。 从“密钥管理器”的“密钥”菜单中,选择“导入密钥”然后是“KeySet ”。 SSL 配置和操作的建议 Microsoft 建议为了安全性和公共内容,使用单独的内容命令(例如 C:\InetPub\Wwwroot\Secure-Content 与 C:\InetPubWwwroot\Public-Content)。 编辑整理:momo 本文介绍了正常运行iis所需要的最小ntfs权限,当iis不能正常运行或者想严格限制权限的时候可以参照此文,以下是操作的7个步骤。 1、 选取整个硬盘: 2、 \program files\common files: 3、 \inetpub\wwwroot: 4、 \winnt\system32: 5、 \winnt: 6、 \winnt: 7、 \winnt\temp:(允许访问数据库并显示在asp页面上) 这样,你就拥有了一个权限严格而又可以正常运行的iis系统了。 form表单提交后弹出没有工具栏的窗口<script language="javascript"> ASP设计常见问题及解答精要作为微软推出的网页与数据库解决方案,ASP由于有微软得天独厚的操作系统等技术后盾支持,因此得到了迅速的发展,并且正受到越来越多的欢迎,在目前在电子商务网站的建设中有很多都使用ASP来编写程序。 近来有很多的读者向我们咨询学习ASP的方法和在学习中遇到的一些问题,其中有一些是初学者经常遇到和面临的问题。为了让读者在学习ASP的过程中加深对ASP的了解,并能够有效地解决遇到的问题,我们特别收集了比较有代表性的一些问题,在此列举出来并一一给予解答,希望能在这有限的篇幅里为你学习ASP助一臂之力。 1、问题:ASP是一种编程语言吗? 答:ASP不是编程语言,而是一种开发环境。ASP提供了一个在服务器端执行指令的环境,它利用了特殊的符号()来区分HTML与必须经过服务器翻译才能送往客户端的命令。它可以执行的指令包括HTML语言,Microsoft VBScript和Microsoft Jscript等,因此可以制作出功能强大的Web应用程序。 2、问题:在Web服务器上容纳多个Web站点,能使用PWS吗? 答:在PWS上只能容纳一个Web站点。为了在相同的计算机上容纳多个Web站点,需要使用Windows NT Server或Windows 2000 Server/Professional和IIS。 3、问题:如何使用6个内置ASP对象? 答:ASP提供了多个内嵌对象,无须建立就可以在指令中直接访问和使用它们,这六个对象主要有:请求(Request)对象、响应(Response)对象、工作阶段(Session)对象、应用程序(Application)对象、服务器(Server)对象、Cookies对象,这六个对象中的服务器(Server)对象可加载其他组件,这可以扩展ASP的功能。 使用Server.CreateObject所建立的对象,它的生命周期在它建立时开始,在它所在的网页程序结束时结束。如果想要让该对象跨网页使用,则可以用Session对象来记录Server.CreateObject所建立的对象。 4、问题:为什么在使用Response.Redirect的时候出现以下错误:“标题错误,已将HTTP标题写入用户端浏览器,对任何HTTP的标题所作的修改必须在写入页内容之前”? 答:Response.Redirect可以将网页转移至另外的网页上,使用的语法结构是这样的:Response.Redirect网址,其中网址可以是相对地址或绝对地址,但在IIS4.0使用与在IIS5.0使用有所不同。 在Response对象中有一Buffer属性,该属性可以设置网站在处理ASP之后是否马上将数据传送到客户端,但设置该属性也必须在传送任何数据给客户端之前。 为保险起见,无论采用何种ASP运行平台,在页面的开始写上< % Response.Buffer=True %>,将缓冲区设置为开启,这样的错误就不会发生了。 5、问题:缓冲输出对于网页传输有没有影响? 答:在比较大的Web页中,第一部分在浏览器中出现可能会有一些延迟,但是加载整个Web页的速度比不用缓冲要快。 6、问题:在没有表单提交时查询字符串的值是否可以使用Request.QueryString集合? 答:Request对象用于读取浏览器的数据,它除了可以读取表单字段的内容,还可以用来读取附带在网址后面的参数,无论请求字符串怎样添加到链接地址中对Request来说都没有什么不同。使用get方法提交一个表单,还是跟随一个附加查询串的链接查询字符串中所有的值,都可以使用Request.QueryString集合。 7、问题:我在ASP脚本中写了很多的注释,这会不会影响服务器处理ASP文件的速度? 答:在编写程序的过程中,作注释是良好的习惯。经国外技术人员测试,带有过多注释的ASP文件整体性能仅仅会下降0.1%,也就是说在实际应用中基本上不会感觉到服务器的性能下降的。 8、问题:需不需要在每个ASP文件的开头使用< % @LANGUAGE=VBScript % >? 答:在每个ASP文件的开头使用< % @LANGUAGE=VBScript %>代码是用来通知服务器现在使用VBScript来编写程序,但因为ASP的预设程序语言是VBScript,因此忽略这样代码也可以正常运行,但如果程序的脚本语言是JavaScrip,就需要在程序第一行指明所用的脚本语言。 答:在实际应用中,VBScript变量的概念已经模糊了,允许直接使用变量,而不用Dim声明变量,但这并不是一个好习惯,容易造成程序错误,因为可能重复定义一个变量。我们可以在程序中使用Option Explicit语句,这样在使用一个变量的时候,必须先声明它,如果使用了没有经过声明的变量,运行时,程序就会出错。 实践证明,ASP文件中使用“Option Explicit”可以使得程序出错机会降到最少,并且会大大提升整体性能。 10、问题:运行ASP文件时有什么安全措施? 答:ASP提供了很好的代码保护机制,所有的ASP代码都在服务器端执行而只返回给客户端代码执行结果。但仍不排除恶意人士对Web服务器的刻意破坏,所以在编写ASP文件时更要注意安全问题。 虽然在ASP中引入文件以inc作为扩展名,在这里仍建议以ASP作为引文件的扩展名。当这些代码在安全机制不好的Web Server上运行时,只需在地址栏上输入引入文件的地址(inc为扩展名),就可以浏览该引入文件的内容,这是由于在Web Server上,如果没有定义好解析某类型(比如inc)的动态连接库时,该文件以源码方式显示。 另外,不要把数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,为数据库建立数据源名称DSN(Date Source Name),在DSN中存储了有关连接到指定数据提供者的信息,包括:“数据库的物理位置,用于访问数据库的驱动程序的类型,访问数据库的驱动程序所需要的任何其他参数”,在进行数据库访问时可以直接访问该DSN。 11、问题:评介Web数据库管理系统时,应该考虑哪些问题? 答:在评价一个Web数据库管理系统时,必须考虑到三方面的问题:多用户问题;所建立的Web数据库应该是关系型的;数据库的安全性问题。 答:ADO的全名是ActiveX Data Object(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。 ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下: ·Connection对象:负责打开或连接数据库文件; 13、问题:使用Recordset对象和Command对象来访问数据库的区别在哪里? 答:Recordset对象会要求数据库传送所有的数据,那么数据量很大的时候就会造成网络的阻塞和数据库服务器的负荷过重,因此整体的执行效率会降低。 14、问题:是否必须为每一个Recordset对象创建一个Connection对象? 答:可以同时对不同的Recordset对象使用相同的Connection对象,以节省资源。 15、问题:什么是数据库管理系统(DBMS)? 答:数据库为了保证存储在其中的数据的安全和一致,必须有一组软件来完成相应的管理任务,这组软件就是数据库管理系统,简称DBMS,DBMS随系统的不同而不同,但是一般来说,它应该包括以下几方面的内容: 数据库描述功能:定义数据库的全局逻辑结构,局部逻辑结构和其他各种数据库对象; 为了提高数据库系统的开发效率,现代数据库系统除了DBMS之外,还提供了各种支持应用开发的工具。 16、问题:当前流行的WEB数据库管理系统有哪些? 答:当前流行的Web数据库管理系统有微软的SQL Server、Oracle、DB2、Sybase,小规模的企业多使用Access。 17、问题:在ASP中使用ADO的AddNew方法和直接使用“Insert into...”语句有何不同?哪种方式更好? 答:ADO的AddNew方法只是将“Insert into ”语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加快存取数据的速度,因为它减少了ADO的“翻译”时间,由于SQL语句所执行的操作是直接在数据库服务器中进行的,尤其在数据量很大的时候有显著的优势。 18、问题:为什么我在ASP中使用标准的插入记录语句 insert into books(name,email) values(“kitty”, “kitty@263.com”)会出错? 答:SQL(Structured Query Language/结构式查询语言)是IBM公司在1970年代所发展出来的数据查询语言,它现在已经成为关系型数据库查询语言的标准。SQL语句是一种以英文为基础的程序语言,可以使用它来添加,管理以及存取数据库。 在SQL语句中添加时的字符串虽然可以使用双引号,但在ASP中却需要使用单引号才能正常执行。所以应当写成insert into books(name,email) values(‘kitty’,‘kitty@263.com’)。 19、问题:什么是ActiveX 控件? 在哪里可以得到这些ActiveX控件? 答:Microsoft ActiveX控件是由软件提供商开发的可重用的软件组件。除了ASP的内嵌对象外,另外安装进来的ActiveX控件也可以在ASP中使用,这样可以节省许多宝贵的开发时间,在ASP中其实也内嵌了很多的ActiveX控件可以使用。 使用ActiveX控件,可以很快地Web应用程序、以及开发工具中加入特殊的功能。例如,使用AdRotator对象来制作广告滚动板,使用FileSystemObject对象进行文件存取,使用Marquee对象实现滚动文字。 现在,已有1000多个商用的ActiveX控件,开发ActiveX控件可以使用各种编程语言,如C,C++等,以及微软公司的 Visual Java开发环境Microsoft Visual J++。 ActiveX控件一旦被开发出来,设计和开发人员就可以把它当作预装配组件,用于开发客户程序。以此种方式使用 ActiveX控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程序的设计。 目前由第三方软件开发商提供的商用控件有1000多种。微软ActiveX组件库(ActiveX Component Gallery)中存着有关信息以及相关的连接,它们指向微软及第三方开发商提供的各种 ActiveX 控件。在微软ActiveX组件库(ActiveX Component Gallery)中,可以找到开发Internet增强型ActiveX 控件的公司列表。 答:这是因为取到的起始站点的值可能有空格,比如原意是“杭州”,但是由于空格存在,ASP程序取到的值可能就是“ 杭州”,而数据库中只有“杭州”的记录,当然就找不到了,解决的方法是利用Trim 函数将字符串两头空格全部去除,相应的语句为: 21、问题:在ASP中当变量的生命周期结束后,有几种保留变量内容的方法? 答:任何导致网页结束的操作,比如当按下浏览器的“刷新”按钮,或者关闭了浏览器,再重新打开它,都会导致变量生命周期的结束。 如果希望在网页结束执行时,还能够保留变量的内容,以备下一次执行时使用,就可以借助Application对象来实现。比如可以利用Application对象来制作统计网站访问量的计数器。 Session对象跟Application对象一样,可以在网页结束时将变量的内容存储下来,但是与Application对象不同的是,每个联机是一个独立的Session对象,简单地说就是所有联机上网者只会共享一个Application对象,但每位联机上网者却会拥有自己的Session对象。 Application对象与Session对象可以帮我们把信息记录在服务器端,而Cookies对象则会借助浏览器提供的Cookies功能将信息记录在客户端。有一点要注意,Cookies是记录在浏览器的信息,所以数据的存取并不象存取其他ASP对象(信息存储在Server端)那么简单,就实际运行来看,只有在浏览器开始浏览Server的某一网页,而Server尚未下载任何数据给浏览器之前,浏览器才能够与Server进行Cookies数据的交换。 22、问题:对象使用完后应该怎么办? 答:当使用完对象后,首先使用Close方法来释放对象所占用的系统资源;然后设置对象值为“nothing”来释放对象占用的内存,否则会因为对象太多导致WEB服务站点运行效率降低乃至崩溃,相应语句如下: < %
答:Request对象除了可以用来读取附带在网址后面的参数以外,也可以读取HTML表单字段的内容,经常使用的语法结构如下: < Form name =Formname method=“Get|Post”Action=“URL”>< Form > 使用Get或Post方法都可以将数据送至服务器,使用Request对象接收数据的相对应方法如下: Get:Request.QueryString(“字段名称”),也可以写成Request (“字段名称”) 24、问题:如何提高使用Request集合的效率? 答:在使用Request集合时,由于包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。 25、问题:在ASP页面中既可以使用VBScript,也可以使用Jscript,混合使用脚本引擎好吗? 答:虽然在ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。 26、问题:当我们建立了一个ASP文件,并且符合语法时,通过浏览器输入以下地址,或通过资源管理器打开浏览:c:\inetpub\wwwroot\a.asp,将出现无法运行的错误,并提示权限不对或文件无法访问,为何不能正常运行ASP文件? 答:这是因为ASP文件首先要求站点是具备“执行(脚本)”属性的;然后要求按照URL格式输入地址,而不是DOS格式,我们需要在电脑上安装好并启动Web服务平台,并确保ASP文件存放在Web服务器的虚拟目录下,就可以通过HTTP的格式来浏览,在浏览器的地址栏输入:“http:// Web站点名称(或站点的IP地址)/ASP文件名称”,回车后就可以在浏览器中看到服务器执行ASP文件的结果。 27、问题:什么是ASP.NET?它与ASP有什么关系? 答:Active Server Pages(ASP,活动服务器页面)就是一个比较简单编程环境,在其中,可以混合使用HTML、脚本语言以及少量组件来创建服务器端的Internet应用程序; ASP.NET是微软力推的功能强大的编程环境,可以使用C#等多种高级语言及脚本语言、HTML、XML、XSL等来创建基于网络的应用程序。ASP.NET将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。 C#是ASP.NET开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是微软.Net框架的一个重要组成部分。我认为C#是微软在编程语言领域击败对手的主要工具。 ASP.NET在面向对象性、数据库连接、大型站点应用等方面都优于ASP程序,ASP.NET还提供更多的其他方面的新特性,例如:内置的对象缓存和页面结果缓存;内置的XML支持,可用于XML数据集的简单处理;服务器控制提供了更充分的交互式制等。 ASP.NET依然完全锁定在微软的操作系统中,要真正发挥ASP.NET潜力,你要使用C#或vb.net。这两种语言将成为ASP.NET标准的核心的脚本语言。
ASP常见问题及解答1.如何 最小化、最大化、关闭窗口 <inputtype=buttonvalue=最小化onclick=hh1.click()> 2.如何静止页面缓存 3.如何检查一段字符串是否全由数字组成 4.如何获取机器信息 scriptengineminorversion & "." & scriptenginebuildversion%> 14:23:01Z 得分:3 14:25:16Z 得分:2 1) 服务器端配置 iis 中 “允许客户端调试”,“发送具体的asp 错误" 选项去掉 OBJECTPROPERTY(id, N'IsUserTable') = 1) id 为publish 表的关键字 15:09:43Z 得分:2 1.如何实现连续滚动 <div id="marquees"><br/><br/> 数据里面读出来的<br/> <script language="JavaScript"> marqueesHeight=200; with(marquees){ index:1;visibility:hidden"></div>'); preTop=0; currentTop=0; function init(){ function scrollUp(){
<form name=form1 onsubmit="return mm()"> <SCRIPT LANGUAGE="JavaScript"><!-- 2. <body onselectstart="return false"> 取消选取、防止复制 3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标 6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标 7. <input style="ime-mode:disabled"> 关闭输入法 8. 永远都会带着框架 9. 防止被人frame 10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为 11. <input type=button value=查看网页源代码 12. 怎样通过asp的手段来检查来访者是否用了代理 13. 取得控件的绝对位置 //javascript //VBScript 14. 光标是停在文本框文字的最后 15. 判断上一页的来源 javascript: 16. 最小化、最大化、关闭窗口 <input type=button value=最小化 onclick=hh1.Click()> 17. BookMark 但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark 改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。 增加或删除记录都不会反映到记录集中。支持向前或向后移动 Const adLockReadOnly = 1 '锁定类型,默认的,只读,不能作任何修改 他操作仍可对当前记录进行更改、插入和删除等 在批处理方式下完成的 Const adCmdText = &H0001 18. 网页不会被缓存 19. 检查一段字符串是否全由数字组成 20. 获得一个窗口的大小 21. 怎么判断是否是字符 22.TEXTAREA自适应文字行数的多少 onpropertychange="this.style.posHeight=this.scrollHeight"> 23. 日期减去天数等于第二个日期 "日") 24. 选择了哪一个Radio 25.获得本页url的request.servervariables("")集合 ><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>" &"</TD></TR>" 26. &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %> 27.ENTER键可以让光标移到下一个输入框 28. 检测某个网站的链接速度: var autourl=new Array() function butt(){ <input type=text name=url"+i+" size=40> =》<input type=button value=GO onclick=window.open(this.form.url"+i+".value)><br/>") src=http://"+autourl[i]+"/"+Math.random()+" width=1 height=1 onerror=auto ('http://";+autourl[i]+"')>")} 29. 各种样式的光标
一个我刚刚学习asp写日历程序时候的经典例子,也学习了2天,感觉很好 15:38:27Z 得分:0 多多啊
调用格式: '********************************************************** Dim Objword '得到命令行参数,有三种可能的格式:[-s] 要进行转换的源文件目录或文件 转换成 Html文件后保存的目录 "-S" Then Function Batchprocessing()
Function Wordinterface(Strfilename,Formattedfilename) Objdoc.Saveas Strtarget & "\" & Formattedfilename & ".htm",8 'stop If Bbatch Then Objword.Quit
17:17:58Z 得分:3 <%
<body bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="提交 " > 17:22:25Z 得分:3 type=text>__<input type=submit></form>" </a>" 17:24:11Z 得分:3 断是否在范围内 “*”则必须放到最后一位 陆。多个范围用”;“隔开 10:REFUSE" for i=0 to ubound(cSingle_Ip) if Instr(cTemp_IP,"-") = 0 then (cTemp_IP,instr(cTemp_IP,"-")+1) if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)<=Ip2Str (cEnd_Ip) then elseif Instr(cSingle_Ip(i),"ALLOW") <> 0 then '允许 if Instr(cTemp_IP,"-") = 0 then (cTemp_IP,instr(cTemp_IP,"-")+1) if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)<=Ip2Str (cEnd_Ip) then end function ":" & Request.ServerVariables("SERVER_PORT") (Request.QueryString) %> 在需要引用进度条的也面上用 然后, ShowProcessBar.js ——— function CheckIsProcessBar(obj) function CheckClick(e) } while (CheckIsProcessBar(whichIt))
document.all.waiting.clientHeight) / 2 + document.body.scrollTop; document.all.waiting.clientWidth) / 2 + document.body.scrollLeft; } else if(document.waiting.visibility == 'show') 2 + self.pageYOffset; + self.pageXOffset; + self.pageYOffset+document.waiting.clip.height-10; + self.pageXOffset; function AddProcessbar() var Str="" index:1;visibility:hidden >"; bordercolordark=#C0C0C0 bgcolor=#E0E0E0>" if(document.all)document.onclick = CheckClick;
<html> <body style="margin:0px"> height="300px"> style="background-Color:#00ff00"> ();" onMouseOut="StopScroll();"> onMouseOver="DownScroll();" onMouseOut="StopScroll();"> ======================================================= <body> onClick="isValid(document.all.txtTime.value);">
<html> ("red","green","yellow","blue","black","white","cyan","purple"); (i+1)).className; ('c'+i).className; <body onLoad="setInterval('ChangeColor1()',500);setInterval('ChangeColor2 ()',500);">
RetCode = WShShell.Run("d:\xxx.exe", 1, True) fString = Replace(fString, CHR(32)&CHR(32), " ") HTMLEncode = fString 的过程名) 模式,显示翻页导航) 如:1,2,3,4),page(翻页导航,显示如:上一页,下一页) cellpadding=0 cellspacing=0 bordercolor=#CCCCCC style='border-collapse: collapse'>" ("tblMember","authorizationID","memberID="&session("memberID")) ("tblGroup","authorizationID","groupID="&session("groupID")) ("tblAuthorization","virtual","authorizationID="&authorizationID) ("tblGroup","groupID","authorizationID="&authArr(i)) groupID="&getValue("tblGroup","groupID","authorizationID="&authArr(i))
strSql="select * from "&p_system&where&p_orderBy (p_horizontal+1)*100 & "% > </td>" (p_horizontal+1)*100 & "% >" if p_mode="more" then cellspacing=0 cellpadding=3><tr><td align=right>" (p_page,rs.recordCount,rs.pageCount,p_paginationMode) ----------------------------- ODBC 驱动程序不支持所需的属性。 /sql/news.asp,行5 ----------------------------------------------------- (local);uid=news;password=2222;database=news" 该news.asp 然后我在conn.asp的文件里加了这句话<%on error resume next%>‘就可以了。 该news.asp 屏蔽后退键: 生成XML文件:
|
|
|