ASP开发

2024-07-15

ASP开发(共12篇)

ASP开发 篇1

1 功能分析

网络上的各大BBS论坛的功能都很多, 实现起来比较复杂, 在此仅探讨论坛编写的核心部分, 开发一个小型的BBS系统。

对于用户来说, 需要先注册并使用账号登录后才能够在论坛中发帖、查看主题的回复、回复主题等。未登录的用户将只能查看帖子的主题, 不能查看相关主题的回复内容。

对于帖子来说, 其属性相对复杂。在本系统中, 使用一个数据表来统一存储帖子信息, 帖子包括主题和它的回复, 所以帖子在存储时还需要有一个属性来标记它是否为主题。

2 数据库设计

本系统使用Access作为后台数据库, 以便于日后对系统的修改与维护。数据库名为“BBS.mdb”, 其中含有3个表, 其中“tbBoard”保存论坛各版面的信息, “tbTopic”保存帖子信息, “tbUser”保存用户注册的账号信息。各表的定义如下表1~表3所示。

表1中, 为了便于在版面中显示最后发表的用户和帖子信息, 在tbBoard中设置了“LastWriter”等相关字段。表2中, 帖子分为主题和回复两种类型, 若帖子为用户回复的类型, 则“FatherID”字段为其对应主题的ID号, “Title”、“LastWriteTime”、“LastWriter”字段为空。

3 论坛主页面设计

3.1 公用文件设计

在论坛设计中, 对多个页面的共用代码采用编写成公用文件的方法进行设计, 将有助于日后进行的维护和修改工作。公用文件实现了某种特定的功能, 在使用时使用语句“”即可进行调用, 其中filename表示对应的文件名。

3.1.1 顶部公用文件

“top.asp”页面中显示了论坛的Logo以及导航栏, 该页面的代码如下:

3.1.2 底部公用文件

“bottom.asp”页面中显示了论坛的版权其作者信息等, 该页面的代码如下:

3.1.3 系统配置文件

在通常的系统设计过程中, 会用到许多公用的变量, 将它们放在一起更加有利于页面的维护。在本系统中, 用到的仅仅是设置分页显示几条数据的变量, 在不同的情况下可能会用到更多的公共变量。配置文件“config.asp”中的代码如下:

3.1.4 数据库连接文件

在本系统中, 需要频繁的进行数据库连接, 特将连接语句编写成文件“conn.asp”, 便于直接使用。该文件的代码如下:

3.2 论坛首页

“index.asp”为论坛的首页, 用户初次访问时, 导航栏的链接为“登录”和“注册”项, 用户登录后将显示“我的帖子”、“个人中心”等内容。首页显示了各版面的名称以及相关信息, 如图1所示。

首页的相关代码如下:

3.3 版块内帖子显示页面

“board.asp”页面了显示版块内所有已经发表的主题, 通过主题链接可进入帖子信息页面。版块帖子页面通过循环来读取数据库表tbTopic中指定版面的主题内容并显示, 利用分页功能, 将多个主题按照某个设定的页面记录数分页显示, 并提供相应的页面链接, 便于查看所有本版面下的帖子。页面效果如图2所示。

“board.asp”中也实现了用户所在位置的快速导航, 整个页面的实现代码如下:

4 帖子浏览及发布页面设计

4.1 帖子浏览页面

“topic.asp”页面实现了帖子的浏览功能, 已登录的用户通过版块查看相应的帖子, 帖子中包含主题内容以及所有的回复信息, 用户可以通过本页面对帖子进行快速回复, 也可以通过“高级回复”页面来回复帖子。页面效果如图3和图4所示。

“topic.asp”的实现方法相对复杂, 不仅要对用户所在位置进行显示, 还要显示帖子的主题和回复信息, 需要对回复进行分页显示, 还需要显示用户的个人信息, 为用户提供回复主题的功能。该部分实现代码如下:

4.2 帖子回复页面

4.2.1 回复页面

“replyEdit.asp”页面可对帖子进行回复。为了便于用户对文字进行编辑和排版, 在页面中使用了“HtmlArea”在线文本编辑器对文本进行编辑。页面中使用编辑器的相关代码单独编写在文件“wordEdit.asp”中, “wordEdit.asp”的核心配置代码如下:

“replyEdit.asp”页面的实现代码如下:

4.2.2 帖子回复页面的数据库操作

帖子回复编辑页面的表单提交后, 跳转至“fastReply.asp”页面进行数据库修改处理, 需更新主题的最新回复、用户的发帖数量、版面的最后发表者信息等。相关代码如下:

4.2.3 帖子回复成功的跳转页面

回复成功后, 需要使用专门的页面“replySuccess.asp”提示论坛用户已成功地进行了主题回复操作。如图5所示。

该部分代码如下:

4.3 帖子编辑页面

对于已发布的主题或者回复内容, 用户自身可以进行再次编辑, 通过帖子中提供的链接, 使用Request.QueryString方法获取帖子的ID, 通过ID对帖子进行数据库更新操作。此部分代码省略。

4.4 帖子发布页面

用户在某个页面中点击“发帖”链接时, 跳转至“addTopic.asp”页面发帖, 该部分同样使用文本编辑器对文本进行编辑, 发帖时用户可选择对应的版块。由于该部分与帖子回复功能类似, 在此省略其代码部分, 不同之处的仅在于发帖时插入到“tbTopic”表中的是主题, 而不是回复类型, 故“FatherID”字段标记为“0”。发布帖子的页面如图6所示。

5 用户信息页面设计

5.1 查看用户信息

在帖子中, 应能够查看主题或回复的发表者的相关信息, 通过页面传递的用户名参数进行数据库查询操作, “userInfo.asp”实现了此功能。页面如图7所示。

该部分实现代码如下:

5.2 个人中心

用户在个人中心“selfCenter.asp”页面中可修改个人信息, 如性别、QQ、个性签名等, 修改完后可以进行保存, 该部分与用户信息页面具有类似之处, 此部分代码省略。实现效果如图8所示。

5.3 我的帖子

为了便于用户更好的查看和管理个人的帖子, “myTopic.asp”页面显示了用户所有发布的主题, 以及主题的相关信息。通过本页面, 可以进入到帖子浏览页面, 也可链接到帖子所在版块。实现效果如图9所示。

6 结语

通过开发一个小型的BBS论坛, 讲述了在系统开发过程中所用到的一些经验与技巧。由于用户注册与登录页面相对简单, 在文中并没有单独讲述。至此, 本系统已基本实现了论坛的核心功能, 用户能够注册账号并登录论坛, 能够进行简单地帖子浏览、回复操作, 发布新的主题等。若要真正实现一个完善的BBS系统, 在各版块还需设置版主来管理用户和帖子;为论坛用户添加短消息功能, 以方便论坛用户进行即时通信。

参考文献

[1]管西京.ASP+SQL Server动态网站开发案例开发学习笔记[M].北京:电子工业出版社, 2008.

[2]尚俊杰.网络程序设计[M].3版.北京:清华大学出版社, 2008.

ASP开发 篇2

毕 业 设 计

说 明

论文题目:ASP电子商务网站的设计与开发

级:

学生姓名: 指导教师: 完成日期:

ASP电子商务网站的设计与开发

中文摘要:当人们足不出户,在家里的电脑前就能轻松购买到自己想要的商品的时候,当客户和业主轻松点一下鼠标就能顺利完成某笔交易的时候,他们就已经体会到电子商务的优越性了。我们所做的这个基于WEB的商务销售网站论文正是要实现这种网上交易,从而满足当前社会的这种购物需求。

那么实现商务交易的载体是什么呢?实现它的工具又是什么?Internet,为我们提供了实现的可能性。

网络的产生给我们的生活到来了很多方便,色彩缤纷的网络世界无所不包。我们现在的这一课题正是应用ASP技术和Dreamweave、flash和Photoshop等软件来制作,并基于WEB网络来实现的。

基于WEB的商务销售网站实现了一个完整的购物过程,从商品查询到下订单,再从货物发送到安全付款,这笔交易只要在电脑前动动手指头就能轻松完成。

关键字: 电子商务

网站设计

ASP Dreamweaver

目录

绪论

第1章 电子商务概述

1.1 电子商务的定义 1.2 电子商务的特点 1.3 电子商务的应用类型 1.4 电子商务系统的组成元素

1.5 B2C网上直销方式市场定位分析与发展趋势 1.6 电子商务B2C网上直销

第2章 电子商务网站开发工具与技术 2.1 编写目的 2.2编写环境 2.3 Dreamweaver简介 2.4 ASP概述

2.5 数据库管理系统概述 第3章 网站的具体设计与分析 3.1 WEB服务器的创建 3.2 网站的整体设计 第4章 网站的规划设计 4.1 数据库设计 4.2网站结构设计 第5章 设计中遇到的问题与解决 5.1 数据库的连接 5.2 参数的传递 5.3 信息检索 论文总结及文献书籍。

绪 论

随着社会经济的不断发展,商品交易的形式日渐变得多样化。电子商务这种新型的交易方式更是具有广阔的发展前景。而在电子商务中没有哪一部分比电子交易更令人注目了。所谓电子交易就是指在网络上进行的交易。经过这几年的发展,电子商务不再是简单的开辟一条新的销售渠道,它将大大的改善企业的营销模式,增加企业收入,提高企业效率。它将帮助企业与客户、供货商及合作伙伴建立更为密切的合作关系。您可以在网上将经销商和生产厂商联系起来,从而优化交易过程,减少文书工作;您也可以建立与供货商直接联系的网络来减少库存和运输消耗,从而快速响应客户需求。您还可以通过网上账单可支付系统来改善与客户和供应商的关系。

这样企业不但赢得了客户的信任,还提高了整个过程的效率,降低了库存和运输损耗,保持资金安全周转和降低实际销售支出,从而降低成本增加利润。伴随着国内互联网建设的迅速发展,网络安全的不断完善以及人们消费观念的改变,国内电子商务进入了一个高速发展的阶段,2009年电子商务成为了国民经济发展中最大的亮点之一,在多个指标上创出新高。2009年国内电子商务市场规模增长迅猛,其中B2B运营商的市场营业额增加了20%,增长速度与往年相近,C2C的市场规模相比2008年增长一倍,而在2009年增长最为迅猛的是B2C的市场规模,全年的市场总交易量达到2008年全年的2倍以上。电子商务在自身取得高速发展的同时,在国民经济中的影响也越来越大。超过50%的企业搭建了B2B、B2C类电子商务网。在消费领域,2009年中国网络购物交易额占社会消费品零售总额的比重超过2%,网络购物对国内零售市场的影响日趋增大。2008年,我国网络交易总额达到了1200多亿。

电子商务的发展前景无疑是广阔的,但由于我国的电子商务发展起步较晚,加之信息化和网络化程度不高等原因,我国的电子商务发展还有很多问题有待解决和完善。

1、国家发展电子商务还缺乏明确的发展战略和有力的技术经济政策。

2、企业信息化建设滞后。

3、电子商务交易的安全性问题。

第一章 电子商务网站概述

1.1电子商务的定义

随着网络和计算机技术的发展,信息技术作为工具被引入商务领域从而产生了电子商务(Electronic Commerce,简称EC)。电子商务就是利用信息技术将商务的各种实体:企业、消费者、中间商和政府联系起来,通过互联网络将信息流、商流、物流和资金流等完整结合从而实现商务活动过程。商流包括商业洽谈、下单、售后服务、等商务活动过程;物流包括商务物资的配送调度;资金流就是交易中的资金转移过程;信息流包括商品信息、客户与供应商信息、服务信息等。也就是说,涉及商务交易领域的整个过程都是通过Internet进行。

1.2 电子商务的特点

Internet网络的普及,网络经济所涉及领域的广阔,各种安全措施的使用和电子化处理的迅速使电子商务具有了如下特点:

高效性:由于互联网将贸易中的商业报文标准化,使商业报文在世界各地的传递能在瞬间完成,计算机自动处理数据,使原料采购、产品生产、需求与销售、银行汇兑、保险、货物托运及申报等过程无须专人干预,就能在最短的时间内完成。电子商务克服了传统贸易方式的费用高、易出错、处理速度慢等缺点,极大地缩短了交易时间,使整个交易非常快捷与方便。

方便性:电子商务不受地域限制,交易方式灵活快捷,24小时自由在线服务

安全性:电子商务网络系统采用了严密的安全措施,如加密技术、数字证书、防火墙、病毒防护等

集成性:万维网的真实商业价值在于协调新老技术,使用户能更加行之有效地利用他们已有的资源和技术,更加有效地完成他们的任务。电子商务的集成性,还在于事务处理的整体性和统一性,它能规范事务处理的工作流程,将人工操作和信息处理集成为一个不可分割的整体。这样不仅能提高人力和物力的利用率,也提高了系统运行的严密性。

可扩展性:要使电子商务正常运作,必须确保其可扩展性。万维网上有数以百万计的用户,而传输过程中,时不时地出现高峰状况。倘若一家企业原来设计每天可受理40万人次访问,而事实上却有80万,就必须尽快配有一台扩展的服务器,否则客户访问速度将急剧下降,甚至还会拒绝数千次可能带来丰厚利润的客户来访。对于电子商务来说,可扩展的系统才是稳定的系统。

协调性:电子商务活动的进行需要各部门的协调合作,如客户,供应商,银行,物流中心,通讯部门的合作才能完成电子商务的全过程。

1.3 电子商务的应用类型

根据电子商务过程中参与实体的不同,电子商务的应用主要分为五种类型: 企业内部的电子商务

企业通过内部网方式交换和处理商贸信息,这种网络与Internet隔离,主要用于企业内部的商贸活动并保持企业组织上的联系。

企业间的电子商务,B2B模式。

就是企业之间通过互联网进行商贸活动的模式。企业与消费者之间的电子商务,B2C模式。

这种模式是企业通过在网上开设网店,消费者通过网络浏览商品信息并下订单,在线支付。这种模式方便快捷,不受时间和空间限制,因而受到消费者欢迎。

企业与政府间的电子商务。

这种模式是企业与政府部门间的业务往来,如政府通过互联网发布采购招标清单,企业经过网络投标,网上报关,纳税等。

消费者间的电子商务,C2C模式。

C2C是消费者之间通过公共电子商务交易平台,卖方提供商品及买方在线支付的交易模式。

1.4 电子商务的组成元素

电子商务的整个系统是由网站业务系统,认证中心,支付网关和客户终端系统四个基本元素组成的。网站业务系统:是电子商务系统的基础应用平台,客户终端通过网络访问网站业务系统进行电子商务应用;认证中心:认证中心向网站业务系统,支付网关,客户终端提供证书发放、授权服务于认证,是保证电子商务应用安全的机构;支付网关:是企业、客户、银行交易资金转移的接口,是实现在线支付的接口界面。

1.5 B2C网上直销方式市场定位分析与发展趋势

B2C是一种网上直销方式,企业通过网络建设网上商店,向消费者展示与供应商品,消费者通过上网走进网上商店,浏览商店内的商品并可在店内直接下单付款订购。由于消费着只商品的直接购买、最终使用者,企业产品直接面对客户,他们都处于供求链末端,因而是最基本的电子商务模式。就如传统销售模式一样,网络销售会随着信息社会的发展逐渐变得普遍,所不同的就是网上商店可以足不出户就可以各地商品任选,如此方便快捷,无时间无空间限制是传统销售无法比拟的。如今人们生活质量在不断提高,购物方式也便的轻松自由化、个性化,B2C网上购物方式将是未来所有购物方式的大趋势。

第二章 开发工具与技术 2.1 编写目的

分析软件功能:给出总体设计方案;划分模块,确定软件元素及其关系;制定软件工作流程;分析接口.通过阅读该文档,开发人员将会有条理地进行整个软件的开发过程。

2.2 编写背景

Dreamweaver8.0中文版的使用背景:

Dreamweaver8.0中文版的出现,使制作一个功能强大的网站变得很容易,可以轻易的作出以前被认为很复杂的ASP,PHP网站。

Dreamweaver 8是建立Web站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。

使用Dreamweaver 8可以制作出整个网站,只是Dreamweaver 本身不适合处理图片,需要Photoshop或Fireworks的配合。使用Dreamweaver 制作静态网站的流程:新建站点——站点文件命名——定义页面属性——插入表格——定义页面大小——转换到布局视图——添加内容——插入导航条——转化到标准视图工作——添加链接——使用代码片段——定义及应用CSS——添加动态交互——链接站点各个页面 2.3 Dreamweaver 简介

Dreamweaver 是Micromedia公司推出的可视化网页制作工具,他于Flash和Fireworks一起被称为网页制作三剑客。其中,Dreamweaver 只要是用来制作网页文件,制作出来的网页兼容性比较好,制作效率也很高,Flash用来制作精美的动画,Fireworks用来处理图形。

Dreamweaver 8是业界领先的WEB开发工具,与其他同类软件相比主要有以下优点:

(1)、不生成冗余代码。(2)、方便的代码编辑。(3)、强大的页面动态支持。(4)、操作简便

(5)、优秀的网站管理功能。(6)、便于扩展。

2.4 ASP概述

ASP(Active Server Pages)是微软公司开发的一套服务器端脚本运行环境。ASP语言结构简单,易学易用,应用非常广泛。利用ASP技术开发网站的人数在不断增加。作为一种相对简单而又功能强大的网页编程语言,ASP结合数据库,可以并发实现企业内的各种管理的数据化、网络化。ASP打破了以往专业程序只能由专业人员来开发的束缚,是一般读者也能独立地开发适合自己公司特色的信息系统。

ASP文件与HTML文件类似,但ASP文件可以包含脚本命令,脚本命令放在<%和%>之间,当用户请求一个*.asp主页时,WWW响应HTTP请示调用ASP引擎,解释被中请的文件。当遇到与Active Scripting兼容的脚本(VBScript或Jscript)时ASP引擎调用相应的脚本引擎进行处理。ASP脚本在服务器端解释执行,结果自动生成符合HTML语言的主页去响应用户的请求。ASP独具以下特点:

a)使用VBScript和Jscript等简单易懂的脚本语言,同时结合HTML代码。就可以快速的完成网站的应用程序。

b)使用普通的文本编辑器。如Windows的记事本就可进行编辑设计,而利用诸如Frontpage或Dreamweaver等所见即所得的网页编辑软件可以快捷方便地惊醒编辑,易学易用。

c)与浏览器无关,用户只要使用可执行HTML代码的浏览器,就可浏览使用普通的文本编辑器。如Windows的记事本就可进行编辑设计,而利用诸如Frontpage或Dreamweaver等所见即所得的网页编辑软件可以快捷方便地惊醒编辑,易学易用。所设计的网页内容。使用普通的文本编辑器。如Windows的记事本就可进行编辑设计,而利用诸如Frontpage或Dreamweaver等所见即所得的网页编辑软件可以快捷方便地惊醒编辑,易学易用。所使用的脚本语言均在WEB服务器执行,用户端浏览器不需要能够执行这些脚本语言。

d)ASP能够与任何Active Scripting语言相容。ActiveX服务器元件具有无限可扩充性,可以使用Visual Basic、Java、Visual C++、等编程语言来编写你所要的ActiveX服务器元件。

e)ASP的源程序不会被传到客户端浏览器,因而可以避免所写的源程序被他人窃取,也提高了程序的安全性。

更重要的是ASP是一种“无需编程”的软件开发工具,用简单的几个语句,就可对数据进行操作。

ASP程序中可以包含纯文本、HTML标记以及脚本命令,用户只要.aso文件放在Web服务器的虚拟目录下,就可以通过WWW的方式访问ASP程序了。ASP程序设计的重点在于脚本的编写,脚本是由一系列的脚本命令组成。要写脚本必须实习至少一门脚本语言。脚本语言是一种介于HTML和诸如Visual Basic、Java、Visual C++、等编程语言间的一种特殊语言,尽管他更接近后者,但他却不具有编程语言复杂、严谨的语法和规则。

ASP包含六个对象:

(1)Application对象(2)ObjectContext对象(3)Request对象(4)Response对象(5)Server对象(6)Session对象

2.5 数据库管理系统(DBMS)

数据库产生于20世纪60年代中期,是数据管理的最新技术,也是计算机科学的重要分支。数据库管理系统是仅次于用户与操作系统时间的一层数据管理软件。数据库在建立、使用和维护时是由数据库管理系统统一管理、同一控制,数据库管理系统能是用户方便的定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的开发使用及发生故障后的系统恢复。Microsoft公司推出的Windows数据库管理系统Access不仅是关系型数据库管理系统,同时它也被设计为Windows图形用户界面应用程序生成器。

第三章

网站的主体设计与分析

3.1 创建Web服务器

3.1.1 构建Web服务器

如果想要将信息发布到Web上,最起码要有一台Web服务器,那么什么样的计算机能成为服务器呢?简单地理解,安装了IIS(Internet信息服务器)或者是PWS(个人Web服务器)的计算机就可成为服务器了。

IIS是一个功能强大的Internet信息服务系统,是Windows服务器操作系统Windows NT 4.0和Windows2000中集成的最重要的技术,它的可靠性、安全性和可扩展性都非常好,并能很好地支持多个web站点,是用户管理功能强大、内容丰富的站点的首选服务系统。

IIS提供了最简捷的方式来共享信息,建立并部署企业应用程序,以及建立和管理Web上的网站,通过它,用户可以轻松地测试、发布、应用和管理自己的Web站点和Web页。

IIS的安装可以像安装其他的Windows组件一样,通过“添加/删除Windows组件”安装,在安装前需要准备系统的安装盘,步骤如下:

进入控制面板,双击“删除或添加程序”,在弹出的对话框中单击【添加或删除程序】按钮,安装程序启动

在弹出的“Windows组件向导”对话框中选“Internent信息服务(IIS)”然后单击“下一步”按钮,安装开始

在弹出的提示安装成功的对话框中单击【完成】按钮,完成IIS的安装。3.1.2 配置Web站点

通过“Internet服务管理器”可以发布、测试和维护自己的web站点和web页,下面是介绍创建新站点测试和维护web页的方法,步骤如下:

打开“开始”→“程序” →“管理工具” →“Internet信息服务管理器” 命令,并打开“Internet信息服务”窗口,单击电脑图标前的“+”号。

在“默认Web站点”上单击鼠标右键,在弹出的快捷菜单中选择“新建” →“站点”命令,弹出“欢迎使用Web站点创建向导”对话框,然后单击【下一步】按钮弹出对话框,输入站点的的说明文字“”。

单击【下一步】按钮,在弹出的对话框中输入Web站点的IP地址、TCP端口号和主机头名,根据实际情况填写。

单击【下一步】按钮,弹出“Web站点创建向导”对话框,设置站点的主要目录,可以单击【浏览】按钮来选择网站的主目录。

设置好以后单击【下一步】按钮,弹出“设置Web站点的访问权限”对话框,一般都采用默认值。

单击【下一步】按钮,再单击【确定】按钮,完成Web站点的创建。

3.4 网站的整体设计

一个网站在需求分析、网站架构、数据库设计完成后,接下来的任务就是网站整体设计了,网站整体设计主要包括CSS样式表文件和数据库连接文件的设计。

CSS样式表的设计

一般在网站整体设计阶段会将应用到的CSS央视保存在一个统一的外部样式文件中,以便在以后的开发中调用该文件。调用外部样式表文件不但可以提高代码重复使用率,而且还有利于统一网站的整体风格。在网页中调用外部样式表文件的语句代码如下:

3.5创建数据库连接 在进行动态网站开发的时候,一个很重要的步骤就是建立数据库的连接,即访问数据库,访问数据库可以使用DSN和非DSN两种方式。应用DSN访问数据库需要配置ODBC数据源(即系统DSN),该方法的优点是比较安全,而应用非DSN访问数据库不需要配置ODBC数据源,比较方便。

创建数据库连接主要分两步进行:一时创建数据库连接文件Coon.aspx,二是在需要与据库连接的页面外面包含该文件(如:)。

详细情况如下:】

由于本系统采用Access数据库,而连接数据库最大的问题就是路径问题,所以采用Application对象保存数据库完整路径,方法是:

(1)创建Global.aspx文件,并修改该文件的Sub Application_OnStart过程的代码,修改后如下:

(2)使用以下代码连接数据库 <% Path=Application(“Dbpath”)Set coon-Server.CreateObject(“ADODB.Connection”)ConnStr=”Driver={Microsoft Access Drive(*.mdb)};DBQ=”&path Conn.Open ConnStr Set rs=Server.CreateObject(“ADODB.RecordSet”)%> 由于这段代码几乎在后面的每个页面都要使用,所以要将其保存为一个单独的文件,文件名为Conn.aspx,在所有与数据库连接的页面中只要包含该文件,就可以连接和打开数据库。

第四章

网站规划设计

概要设计完成后,开始网站的详细设计。网站不是由单一的语言编写而成的,他往往用好几种语言。网站的代码ASP,PHP等,前后台代码分开编写,各自组成独立的模块。

这一阶段最重要的任务有3个:一是确定数据库结构;二是确定每个软件组件对象的接口;三是确定网站的实际结构图。

4.1 数据库设计

5.1 软件组件接口设计

(1)用户管理模块(2)共用组建模块

5.2 网站结构设计

第五章 设计中设计中遇到的问题与解决

5.3 数据库的连接

在设计过程中主要是数据库连接的问题,比如建立数据表以后,在Dreamweaver中建立数据源,然后依次连好数据对象,并对对象插入记录,前面做的没有什么问题,但是再把Dreamweaver关掉后重启就出现了问题,在插入记录选项里面找不到刚才所插入的数据表,对应的网站页面当然也不能正常运行。最后经过长时间严格的检查最终找到原因,原来是程序中的文件名有误,通过修改网页能够正常的运行。

5.4 参数的传递

在模块的创建时,很所时候发现功能不能正常运行,在检查完程序语句的结构之后发现并没有错误,于是在检查页面与页面交互时发现了问题,很多地方传递参数并没有真正的执行,还有些地方没有进行参数的设置,才导致了程序的错误。

5.5 信息检索

在做好数据表格以后,把所有的数据信息建立在衣服哦网页上面,通过插入有关数据达到搜索的目的,但是在操作的时候又有新的问题出现。比如输入检索信息的时候,出来的并不是你想要找的那种类型,可能会跳出N条新信息,反正不是对应起来的。在同学或导师的指导下,最终发现插入的时候有严重的问题缺陷,通过改正才真正搜索到正确的信息。

······内容见成稿······参考文献:(1)······(2)······ ······ ······

ASP开发 篇3

一、ASP技术

1.ASP工作原理

ASP,是Active Server Pages的缩写,即“服务器端动态网页”。它是基于WEB的一种编程技术,能够把HTML文件、脚本命令以及COM组件组合在一起,形成一个能够在服务器端运行的动态WEB应用程序,并能够按照用户的要求制作出标准的HTML页面传递给客户端浏览器。

有了ASP,就不必担心用户的浏览器是否能够读懂动态网页中所编写的代码,因为所有的程序都在服务器端执行。当程序执行完毕后,服务器端执行的结果返回给客户端浏览器,这样就减轻了客户端浏览器的负担,大大提高了交互的速度。

2.ASP的运行环境

目前,ASP可运行在以下三种环境:Windows NT(2000 Server)+IIS4.0(Internet Information Server)以上;Windows NT workstation +Peer Web Server;Windows95/98+PWS(Personal Web Server)。

3.ASP文件的建立

ASP的程序代码简单、通用,文件名由.asp结尾,通常由四个部分构成:标准的HTML标记;ASP语法命令:位于<%%>之间;服务器端的include语句;脚本语言。

4.ASP的内置对象

在面向对象编程中,对象是具有属性(数据)和方法(行为方式)的实体。ASP中提供了六个内置对象供用户直接调用,它们分别是:Application对象,控制服务器端应用程序的启动和终止状态,并保存整个应用程序过程中的信息;Request对象,从用户端获取信息传递给服务器,它是ASP读取用户输入的主要方法;Response对象,服务器将输出的内容发送到客户端;Server对象,提供服务器的方法和属性;Session对象,存储特定的用户会话所需的信息;Object Context对象,配合服务器进行分布事务处理。

二、ASP中的数据库访问

在ASP中,利用ADO(ActiveX Data Objects)可以方便地访问数据库,很好地对数据库进行处理。笔者通过一个实例,具体阐述ASP利用ADO访问数据库的过程。在该实例中,用户希望通过网页能够访问服务器中的teacher数据库中的Information数据表,然后将该表中的所有数据显示在返回表格中,具体步骤如下:

1.定义数据源

在WEB服务器上,打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定数据库种类、名称、位置等。该实例数据库种类是“SQL Server”,名称是teacher。

2.创建ADO的对象

ASP技术中的ADO对象组件作为用户快速访问数据库的最简便方式,只要使用ADO中的两个最基本的对象Connection和Recordset对象,就能够实现对数据库的访问。具体来说,Connection对象的功能是建立和特定数据库的连接,而Recordset对象的功能则是取得从该数据库中返回的查询数据。首先,应为Connection和Recordset对象创建各自的对象实例:

<%SetConn=Server.CreateObject(”ADODB.Connection”)%>

<%SetRS=Server.CreateObject(”ADODB.Recordset”)%>

其中,RS和Conn分别是对象实例名称,用户可以自行定义。这样就成功地创建了两个空的Connection和Recordset对象。

3.建立与数据库的连接

使用Connection对象的Open方法建立与特定数据库的连接,Connection对象的Open方法有3个参数选项,分别为目标数据库的名称、登录用户名和口令,语法为ConnOpenConnectionString,UserID,Password。其中,ConnectionString参数表示与数据源建立的相关信息,如果用户已经成功建立了该数据库的DNS,就可以直接的使用该DNS。另外两个参数登录用户名和口令为可选项,如果用户在建立数据连接的DNS时已经设定了登录用户名和口令,就可以省略这两个参数项。在此,用户使用Connection对象的Open方法与teacher数据库建立连接,具体形式为<% Conn.Open “teacher”%>。

4.使用Recrodset对象获取数据

用户希望取得teacher数据库中Information数据表中的所有数据,因此使用最简单的“Select * From Information”即可。为了使代码更直观,容易修改和维护,建议用户将上述的SQL语句用某个变量代替。具体为

<% SQL=”Select * From Information”%>

其中,SQL为变量名,用户可以自行定义,然后使用Connection对象中的Execute方法执行该SQL语句,并将结果输入到Recordset对象中,具体为:

<% SetRS=Conn.Execute(SQL)%>

至此,ADO从数据库中查询到的所有数据被保存到Recordset对象中。

5.检验Recordset对象是否为空

在对Recordset对象中的数据进行进一步处理之前,建议用户最好验证一下是否确实将查询结果数据保存到了Recordset对象中。用户可以使用Recordset对象的BOF和EOF属性实现验证功能。BOF如果为真则代表数据指正位于首行数据之前,如果EOF为真则代表为数据指正位于末行数据之后,如果两者皆为真,则说明Recordset对象为空。具体代码为:

<% if (RS.EOF and RS.BOF) then

response.write “NO records found”

end if %>

6.处理Recordset对象数据

在验证Recordset对象中确实含有查询返回数据之后,用户就可以按照自己的需要对数据进行响应的处理。通常较为常用的Recordset命令为:

Recordset.Fields.Count:Recordset对象的列数;

Recordset(I).Name:第I列名称,I由0到Recordset.Fields.Count-1;

Recordset(I)第I列数据,I由0到Recordset.Fields.Count-1;

Recordset(“列名称”):读取指定列的数据;

Recordset.MoveNext:数据指针下移一行;

Recordset.MovePrev:数据指针上移一行;

Recordset.MoveFirst:数据指针移到第一行;

Recrodset.MoveLast:数据指针移到最末一行。

接下来的问题是如何将Recordset对象中的数据显示出来。如果用户希望以表格的形式显示数据,则首先需要ASP页面中建立表格标签:

,然后用户需要将表中第一行的各列数据名称显示出来。在此用户通过Recordset(I).Name命令实现:

<% FOR I=0 to RS.Fields.Count-1 %>

<% Next %>

在设定了首行各列名称之后,用户就可以依次把相应的数据填充到表格当中。

<% DoWhileNot RS.EOF %>

<%FOR I=0 to RS.Fields.Count-1 %>

<% RS.MoveNext %>

<% Loop %>

7.正确关闭对象

在完成对数据库数据的查询和输出之后,用户一定不要忘记关闭打开的对象。关闭已打开的对象,不仅能够释放更多的服务器资源,而且可以断开与数据库已建立的连接,从而有效地增强服务器和数据库对多用户的支持。用户可以使用对象的Close方法关闭对象,将其从内存中清除:

<%RS.Close%>

<%Conn.Close%>

(作者单位:江苏省淮安技师学院)

ASP.NET开发基础概述 篇4

当一个HTTP请求到服务器并被IIS接收到之后, IIS首先通过客户端请求的页面类型为其加载相应的.dll文件, 然后在处理过程中将这条请求发送给能够处理这个请求的模块。在ASP.NET 3.5中, 这个模块叫做Http Handler (HTTP处理程序组件) , 之所以.aspx文件可以被服务器处理, 就是因为在服务器端有默认的Http Handler专门处理.aspx文件。IIS在将这条请求发送给能够处理这个请求的模块之前, 还需要经过一些Http Module的处理, 这些都是系统默认的Modules (用于获取当前应用程序的模块集合) , 在这个HTTP请求传到Http Handler之前要经过不同的Http Module的处理。这样做的好处一是为了一些必需的过程, 二是为了安全性, 三是为了提高效率, 四是为了用户能够在更多的环节上进行控制, 增强用户的控制能力。

2 ASP.NET性能优化

2.1 尽量使用静态HTML页面

ASP.NET开发的页面是先在服务器执行然后查询数据库返回数据最终生成HTML送到客户端, 这样来实现数据的动态交互, 运行起来非常方便。但这类程序不得不耗费一定的服务器资源。如果并发量大则肯定会导致服务器响应减慢。

而HTML静态页面是效率最高、消耗最小的页面, 因为它是直接存储在服务器硬盘中的, 当用户请求时, 服务器并不需要做任何处理, 而直接返回该页面, 这样性能消耗最小。因此对于访问量大的新闻频道类的网站, 信息内容的处理方法通常都在后台发布的时候直接生成静态HTML文件, 而不是每次访问都去读取数据库, 这样可以减少数据库的访问次数, 加快网站速度。

2.2 避免不必要的回送操作

在ASP.NET页面的Page_Load事件中的代码, 只要加载一次页面, 都会被执行一次。而按钮类控件比如Button等点击执行的时候, 都会执行回送操作, 这样会激发Page_Load事件而执行其中的代码, 但通常执行Button等点击类事件时, Page_Load事件中的代码是不需要执行的。因此ASP.NET机制中提供了Page.Is Post Back来避免对往返过程来执行不必要的代码。

2.3 关闭不必要的Session状态

Session在ASP.NET中的作用是保存用户的相关信息, 这些信息是保存在服务器端的, 主要用于授权机制。如果Session状态为开启, 则每次调用页面的时候, 都会首先查询Session状态, 虽然单个页面查询Session状态性能消耗小, 但是当并发量大, 访问页面非常多时, 这样显然会影响页面执行速度。因此如果该页面只是用于显示信息, 跟授权无关, 那么请关闭Session状态。比如一般CMS系统的前台页面是不需要Session的, 可以关闭它, 关闭Session的方法是在页面Page指令中加入如下代码:

2.4 关闭不必要的View State

View State在ASP.NET中的作用是保存数据在页面上, 每个对象都必须序列化到View State, 然后进行回传反序列化, 因此使用它是要耗费代价的。ASP.NET默认是开启View State的, 因此如果页面只是用于显示信息, 不用于表单交互, 则可以关闭它, 这样既可以减少View State序列化时耗费的性能, 又可以减小ASP.NET页面本身的体积大小。因为序列化的这些信息都会保存在该页面的HTML源代码中, 会增加页面的体积。

关闭的代码如下:

2.5 尽量在客户端进行用户输入验证

对ASP.NET用户输入进行验证的时候, 比如输入是否合法、是否是数字、格式是否正确、是否为空等, 采用服务器端C#代码来判断虽然非常地方便, 但是每次执行都需要送回服务器进行处理, 这样会大大影响系统的性能。在不必要的情况下尽量采用客户端验证, 比如ASP.NET提供了功能丰富的数据验证控件。

2.6 禁用调试模式

在发布网站之前, 需要始终牢记禁用调试模式。调试模式是在开发过程中用于开发人员调试程序使用的, 如果启用了调试模式, 则该网站的运行性能会受到非常大的影响, 当访问量小时感觉可能不太明显, 如果并发量大, 则网站性能会大大降低。

3 ASP.NET程序开发流程概述

3.1 需求分析

在整个项目中这块可以说是非常重要, 没有需求或者需求不明确, 那么开发人员将无从下手, 所以前期的需求调研是非常重要的, 如果在这块没有好好整理的话将会在后面遇到很多的问题。

3.2 数据库设计

当做好需求分析的时候, 下一个步骤就是搭建整个数据库, 可以说数据库是整个项目中最重要的角色, 一个优秀的数据库设计者就能从这里看出来。

在进行数据库设计的时候主键是必须的, 每个表都有其对应的主键, 而且主键最好用一个不相干的字段ID来表示, 这样方便我们在项目里面写代码。其他的就是一些命名之类的最好要见名知意, 不要使用汉字命名, 还有数据库的设计遵循三大范式。

3.3 编码

首先建立解决方案项目, 最后使用动软生成器生成相应的代码, 然后放到解决方案中, 修改bug, 使动软的代码可以运行, 最后建立web应用程序, 整个架构就是一个典型的三层架构。在各小组项目整合的时候, 如果前期不讨论如何弄的话在整和项目的时候将会遇到许多的问题, 这需要我们在Web应用程序中必须建立相应的使用外部文件的文件夹, 比如我们使用的JS文件我们可以放到Jquerys文件夹下面, css文件可以放到相应的style文件夹下面, 还有调用的dll我们可以放到lib文件夹下面。

动软生成的代码, 我们一般情况下不可以直接在里面操作, 因为那样的话如果数据库的结构变了, 我们需要重新生成代码, 将会覆盖我们的代码, 我们需要给DLL层的用户表里面添加一个分页的方法, 那么可以直接建立一个部分类LYSC_user Ext, 然后实现代码。

对于后台的实现, 后台是分角色写的, 个人有个人的模块, 所以后天的开发尤其能体现出来前面所说的内容, 因为后台分为用户管理、客户管理、企业文化、新闻和人才管理, 所以对应的每个角色都建立一个文件夹, 比如用户对应Users, 新闻对应news, 然后将该使用的easy UI文件夹行放到后台下面, 然后因为在后台用到了富文本编辑器, 所以将富文本编辑器的文件夹也放到下面, 这样就搭建好了整个系统的开发环境, 然后将这个文件发给我们的每个成员, 然后每个成员对应每个成员的开发角色, 在其相应的文件夹下面建立html, 一般处理程序和代码的书写, 在最后合并的时候我们只需要拷贝过来一个成员的文件夹复制到项目里面就行了。

3.4 调试测试

调试非常重要, 在写代码的时候就应该适当的调试, 比如那些很低级的错误, 文本框的长度, 邮件格式, 文本框不能为空等这些本来可以避免的Bug我们应该就不要让其发生, 所以我们在编写代码的时候就应该写完。调试测试最好由专业的团队进行测试, 最忌讳的就是自己测试自己的代码, 那样可能一些潜在的代码始终是测试不出来的, 所以等项目成型之后就要将自己开发的模块分给别人测试, 而你测试别人的模块, 这样使用黑盒测试一下基本通过, 这样一个网站算是成型了。

参考文献

ASP开发 篇5

使用DevExpress控件来做项目开发已经有很长一段时间了,在摸索开发到客户苛刻要求的过程中,其中碰到过很多问题需要解决的,随着一个个问题的解决,也留下很多对DevExpress控件的使用经验及教训,综合设计到的多个项目的问题,对这些开发常用的要点进行总结,方便别人也方便自己。提供这些解决方法,一个可以快速应用到项目中,二个也可以作为对界面开发的更高要求对待自己的项目,使得自己的东西更加完美,更加受欢迎。

1、GridControl控件的数据显示的样式控制

如上两图所示,我们有时候需要控制列表访问过的颜色变化,或者是时间显示格式等内容,这个时候设置GridView的RowCellStyle即可实现,如下所示。this.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle);

void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)

{

if(e.Column.FieldName == “PublishType”)

{

if(e.CellValue!= null && e.CellValue.ToString()== “中介”)

{

e.Appearance.BackColor = Color.DeepSkyBlue;

e.Appearance.BackColor2 = Color.LightCyan;

}

}

if(e.Column.FieldName == “PublishTime”)

{

e.Column.DisplayFormat.FormatString = “yyyy-MM-dd HH:mm:ss”;

}

if(e.Column.FieldName == “Title”)

{

string id = this.winGridViewPager1.gridView1.GetRowCellDisplayText(e.RowHandle, “Id”);

if(historyDict.ContainsKey(id))

{

e.Appearance.BackColor = Color.DeepSkyBlue;

e.Appearance.BackColor2 = Color.LightCyan;

}

}

}

2、在LayoutControl布局中固定控件宽度 固定宽度后的真实效果。

为了使得界面统一性及更好的控制性,我们一般使用LayoutControl布局控件作为我们添加控件的布局容器,但是这个控件默认是对其中的控件进行按窗口比例进行缩放的,有些客户就不喜欢这些特点,因为他们的显示器可能是30寸的(夸张一点点,不过很多宽屏的),这样很多输入框就会被拉得很长,这样小小一个输入框,可能有很长的一段空白的距离,那样可能真的不好看,如下图所示。

设置固定宽度,其实不是很麻烦,需要设置几个属性即可 1)设置控件的SizeConstraintsType为DevExpress.XtraLayout.SizeConstraintsType.Custom;2)设置控件的FillControlToClientArea 为False 3)设置控件的ControlMaxSize的大小(必要时也可以设置ControlMinSize),设置例子如下所示。

3、GridControl中的GridView内容打印

由于GridView的良好封装性,实现打印的代码很简单。

private void menu_Print_Click(object sender, EventArgs e)

{

PrintableComponentLink link = new PrintableComponentLink(new PrintingSystem());

link.Component = this.gridControl1;

link.Landscape = true;

link.PaperKind = System.Drawing.Printing.PaperKind.A3;

link.CreateMarginalHeaderArea += new CreateAreaEventHandler(Link_CreateMarginalHeaderArea);

link.CreateDocument();

link.ShowPreview();

}

private void Link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e)

{

string title = string.Format(“年度大体检-({0}年度)”, this.txtYear.Text);

PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.None, title, Color.DarkBlue,new RectangleF(0, 0, 100, 21), BorderSide.None);

brick.LineAlignment = BrickAlignment.Center;

brick.Alignment = BrickAlignment.Center;

brick.AutoWidth = true;

brick.Font = new System.Drawing.Font(“宋体”, 11f, FontStyle.Bold);

}

4、设置GridView的行指示器(行头)显示行号

在我的分页控件以及Winform开发框架很多项目介绍里面,很多都显示了行号,其实这个在DevExpress中的实现很简单,如果需要,可以实现在自己的代码里面。

1)先实现GridView的CustomDrawRowIndicator事件,实现代码如下所示。

private void advBandedGridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)

{

e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;

if(e.Info.IsRowIndicator)

{

if(e.RowHandle >= 0)

{

e.Info.DisplayText =(e.RowHandle + 1).ToString();

}

else if(e.RowHandle < 0 && e.RowHandle >-1000)

{

e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;

e.Info.DisplayText = “G” + e.RowHandle.ToString();

}

}

} 2)然后设置GridView控件的IndicatorWidth为合适的宽度,如40左右则比较好。这样设置后,就能顺利显示行号了,是不是很方便呢。

5、GridView表头多行显示(折行),表头及行内容居中操作

在一些自定义的列表中,我们为了合理显示表头的内容,可能会要求表头显示的文字可以折行显示,然后还需要内容居中显示,那么在DevExpress该如何操作呢,代码设置如下所示。

//表头折行设置

this.gridView1.ColumnPanelRowHeight = 40;

this.gridView1.OptionsView.AllowHtmlDrawHeaders = true;

this.gridView1.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;

//表头及行内容居中显示

this.gridView1.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;

this.gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;然后设置表头的时候,设置内容使用rn来进行换行,如:体重rn(kg)下面是我分页控件里面的例子设置,供参考。

this.winGridViewPager1.AddColumnAlias(“Weight”, “体重rn(kg)”);

this.winGridViewPager1.AddColumnAlias(“Pulse”, “脉搏rn(次)”);

this.winGridViewPager1.AddColumnAlias(“BloodSystolic”, “收缩压”);

this.winGridViewPager1.AddColumnAlias(“BloodDiastolic”, “舒张压”);

this.winGridViewPager1.AddColumnAlias(“SightLeft”, “视力rn(左)”);

this.winGridViewPager1.AddColumnAlias(“SightRight”, “视力rn(右)”);

6、控件内容输入问题

在客户使用软件的时候,反馈说有一些数字输入框、日期输入框,不支持键盘输入内容,经测试,确实是存在这个问题,默认的数字、日期等输入,都要切换输入法才可以输入,不能默认就支持数字的输入,那么是否有办法解决呢,当然办法总是有的。

其实只需要设置 ImeMode=Off 即可解决问题,关于这个属性,大家可以参考下面的介绍。(就开发而言,记得逢数字,日期的控件,必须设置 ImeMode=Off,否则你的软件使用客户会骂娘。

ImeMode 枚举:指定一个值,该值是用来确定在选定了对象时该对象的输入法编辑器(IME)的状态。以下是微软的解释:

成员名称 说明

Alpha 字母数字单字节字符(SBC)。此设置仅对朝鲜语和日语 IME 有效。

AlphaFull 字母数字双字节字符。此设置仅对朝鲜语和日语 IME 有效。

Close Disable IME 被禁用。如果使用此设置,则用户无法从键盘打开 IME,而且 IME 浮动窗口处于隐藏状态。

Hangul 朝鲜文 SBC。此设置仅对朝鲜语 IME 有效。

HangulFull 朝鲜文 DBC。此设置仅对朝鲜语 IME 有效。

Hiragana平假名 DBC。此设置仅对日语 IME 有效。

Inherit 继承父控件的 IME 模式。

Katakana 片假名 DBC。此设置仅对日语 IME 有效。

KatakanaHalf 片假名 SBC。此设置仅对日语 IME 有效。

NoControl 无(默认)。

Off IME 已关闭。此模式指示 IME 已关闭,这意味着该对象的行为方式与英语输入模式相同。此设置仅对日语、简体中文和繁体中文 IME 有效。

ASP开发 篇6

关键词:Asp.net;网站开发;弹出对话框;必备网页;信息填写 文献标识码:A

中图分类号:TP393 文章编号:1009-2374(2015)22-0025-02 DOI:10.13535/j.cnki.11-4406/n.2015.22.013

弹出对话框,包含三层级的总架构、数据库配有的交互路径、输入进来的验证、转换得来的精准字符串。为了规避常常见到的误差操作,在设定网站之时,应能缩减添加上去的页面数目、文本框附带的总控件。弹出对话框特有的配件,缩减页面总数。这种设计之中,针对细分出来的数据类别,修正及变更原初的文本框。这种弹出特性,提升了原有的网站水准。

1 新颖设计特有的价值

用户发布信息、设定个性网页,都要填写偏多的关联信息。填写好的信息,还应被存留在建构的数据库、衔接着的服务器。对应这种需求,初始时段的网站开发,就应拟定多层级的可用页面。配套页面之中,还应附带文本框,搭配可用控件。添加这类控件,方便了平日之中的信息填充、信息修正等。

从现状看,各类技术加快了原有的更新速率,缩减了刷新时段。多样媒体技术,增添多层级网页,缩减等待耗费。但与此同时,这种成套技术也布设了更多页面、文本框拟定的有关控件。用户上网之时,需要填充信息。在修正信息时,为了纠正特有的某一控件偏差,还需把拟定好的完备页面都予以修正。这种修正方式添加了额外范畴的服务器荷载,带来误差操作,缩减应有的最优体验。

为了规避这一状态,初始时段的设计之中,应能减少附带着的文本框、减少必备页面以及成套控件。设定弹出对话框,即可缩减页面。针对细分出来的数据类别,修正特有的文本框。弹出来的特有对话框,包含宏观架构下的网站框架、控件封装状态、数值提交式样。采纳CSS特有的新颖样式,拟定了带有兼容特性的精准测试。在设定好的浏览器以内,即可搜索下载。

2 总体网站构架

选取开发实例,采纳了多层级特有的网站架构。拟定出来的宏观框架,从底侧层级直至布设的前台,依次涵盖着数据库、配套访问工具、实体层级及特有的访问层级、业务逻辑关涉的层级、惯用的函数层、网站表示层。访问工具层配有的更新文件,表征了重载函数。针对细化类别,更新必备数据、其他范畴的关联数据。

表示层带有验证特性的某控件、封装必备样式。弹出对话框关涉的各类数据,都应及时提交。体系配有的浏览器,对于拟定好的样式,能测定它的兼容特性。

3 独特的数值类别

数据库存留的独特类别,包含可空类型特有的存储数据。这样的数据表征了搜集的基础值、常规范畴内的正常值,除此之外,还应添加特有的null。可空类型范畴的一切数据,在拟定好了类别之后,还应添加问号,例如在time、Data、int特有的数值之后添加一个问号。真正编程之时,常把没能填充进来的文本控件、非字符串这样的独特类别添加在流程以内。默认情形下的取值,设定成偏小日期或者对应着的偏大数值,不可添加null。

有些情形下,常会把设定好的非字符串、可填充这样的文本框控件,都填入零这样的数值,同时一并提交。若把没能填充好的非字符串、文本框以内的控件,都默认成零,那么很难判别真正用户输入、网站默认数值。表征着日期及时间这样的精准赋值,若凸显了偏大的、偏小的关联数值,则不符合本源的默认规则。

弹出对话框独有的新性能,是把没能添加进来的非字符串,赋予默认数值,不可填入特有的null数值。这是因为添加null这样的惯用做法,不利于接续的函数操作。初始程序开发,常把初始时段的最佳赋值,拟定成int关涉的某一对象。若拟定了原初的默认赋值,则这样的取值只可被设定成正负1,很多开发者并没能熟识这一规则。由此可见,用户没能添加上去的这些非字符串,应把可填入范畴的文本框控件,都设定成最佳的可空类型。这就规避了常常见到的偏多误差。底层数据库特有的常规开发、平日之中的操作,都添加了便利。

4 布设样式及封装

4.1 封装各类控件

带有验证特性的网页控件,应被封装在拟定好的文件夹以内,衔接某一文件。这种封装作用,是确保添加进来的信息精准。按照各类环境,在拟定好的页面以内,凸显提示信息。这种新式封装,提升了细节范畴的新体验。

Asc配有的各类控件,包含五类样式。这些样式状态可分成默认架构下的隐蔽状态、平日常规状态、查验成功状态、对应着的验证失败、验证时段中的警告。对于各类状态,都拟定了对应着的CSS。这种控件配有的多层级样式,都被涵盖在不同特性的文件以内。在这之中,隐藏情形下的这类状态,没能被凸显在网页之中。为此,控件表征出来的多类样式,都关联着CSS。

4.2 布设最优样式

弹出来的对话框会包含表示层,这种层级样式整合了更新特有的控件、输入查验必备控件、CSS附带的多重样式。在这之中,带有更新特性的分支控件,在对话框及附带的页面交互之中,可以及时更新,省掉了刷新步骤。输入查验依托的必要控件,确保输入进来的数值是精准的。与此同时,这类双重控件也添加了独有的新式体验。CSS范畴的新颖样式,是表示层配有的侧重部分。弹出对话框附带着的这一样式,被设定在表征样式的文件内。CSS搭配样式整合了遮蔽层、对话框范畴的局部,包含成套样式,其中遮蔽层独有的特性,是防止弹出特有的对话框时,网页仍被更改。对话框特有的总布局、多层级的配套代码,都可查验得到。

各类版本范畴的这种样式、厂商研发得来的不同样式,都搭配多样支撑。凸显出来的对话框,也带有多层级的布局差异。开发进程之中,对于拟定好的某一浏览器,应先去测定它凸显的兼容状态。例如:IE特有的这类浏览器,从原初的版本更替至现有版本,都应经由兼容测验。对于6.0特有的惯用版本,尤其注重测验。

5 结语

伴随网络普及,各类企业都建构了自带的网站。网站建构依托的新颖技术就涵盖了ASP,ASP特有的建构思路便利信息查验。企业依托这一网站,拓展自身形象,提升了内部范畴的办公成效。这种态势下,提升ASP特有的网页速率,缩减潜藏着的数值误差,是面对着的侧重任务。网站开发中,采纳了带有弹出特性的对话框,缩减了拟定的源代码。对于整个网站,设定命名规则、可空类型关涉的多样数据、数据库必备交互、字符串彼此变更、控件封装形式。弹出对话框这样的设定性能,包含数据提交、浏览器特有的兼容状态。这种新颖框架提升了上网时段的新颖体验,方便了数据存储。

参考文献

[1] 周建,朱广祯.Asp.net网站开发中实现弹出对话框

[J].科技信息,2012,(7).

[2] 王春丽.ASP.NET在企业网站中的应用[J].计算机光盘软件与应用,2012,(7).

作者简介:衣李娜(1974-),女,辽宁本溪人,辽宁政法职业学院讲师,硕士,研究方向:软件开发。

ASP应用程序开发技术探究 篇7

1.1 ASP应用系统的结构设计

ASP程序有个最大的缺陷,即脚本代码与HTML标记混在了一起。程序员既要考虑业务处理和数据库的访问还得关心与HTML的整合。当程序逻辑足够复杂时,源文件过于冗长,降低了系统维护的效率。鉴于此,我们可以设计三层架构体系的ASP程序,即将应用划分为用户界面层、业务逻辑层和数据库层。用户界面层负责用户的输入和输出;业务逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在;数据库层负责实际的数据存储和安全访问控制。设计三层架构的ASP应用程序的步骤一般是:建立数据库和数据表;建立动态链接库;注册动态链接库;编写ASP程序。

1.2 ADO编程技术

为了进一步扩展ASP应用程序的功能,还必须借助数据库访问组件实现对数据库的访问。ADO(ActiveX Data Objects)是微软推出的目前最为成熟的数据库技术,利用ADO组件可以在ASP页面上浏览、检索、添加、删除、修改数据库中的数据。下面以实例剖析ADO对象模型中的3个主要对象,即Connection、Recordset、Command对象。

1.2.1 Connection对象

Connection对象是与数据库连接的对象,它不仅可以实现与多种数据库的连接,也可使用其方法对数据库进行各种各样的操作。

(1)创建数据库连接。首先应使用Server对象的CreateObject方法创建该对象的实例,然后使用Connection对象的Open方法来初始化连接。下面介绍常用数据库的连接方法。

ODBC的连接方式

方法一:创建系统数据源,将连接信息保存在Windows注册表中

Connection对象名.connectionstring=“DSN=数据源名;UID=用户名;PWD=密码”

Connection对象名.open

方法二:创建文件数据源,将连接信息保存在文本文件中

Connection对象名.connectionstring=“FILEDSN=数据源名;UID=用户名;PWD=密码”

Connection对象名.open

方法三:将连接信息保存在字符串中

连接SQL Server数据库:

Connection对象名.connectionstring=“{driver=SQLServer};server=服务器名;database=数据库名;UID=用户名;PWD=密码”

Connection对象名.open

连接Access数据库:

Connection对象名.connectionstring=“driver={microsoft access driver(*.mdb)};DBQ=”&server.mappath(“数据库的相对路径”)

Connection对象名.open

OLE DB的连接方式

连接SQL Server数据库:

Connection对象名.connectionstring=“provider=sqloledb;data source=服务器名;database=数据库名;UID=用户名;PWD=密码”

Connection对象名.open

连接Access数据库:

Connection对象名.connectionstring=“provider=Microsoft.Jet.OLEDB.4.0;

datasource=”&server.mappath(“数据库的相对路径”)

Connection对象名.open

(2)编辑数据

1.2.2 Recordset对象

该对象包含了从数据库中查询到的记录的集合,不仅可以访问记录中的字段值,还能对数据库进行操作。

(1)创建记录集

方法一:调用Connection对象的Execute方法,主要代码如下:

(2)检索数据

(3)编辑数据。

Recordset对象能通过其方法编辑数据,但效率要比Execute方法低得多。

1.2.3 Command对象

Command对象使用Execute方法执行SQL语句,最大的优势是能通过其Parameter对象向参数化查询传递数据。使用Command对象处理数据时,应首先设置命令类型、命令文本、活动数据库连接,若执行参数化查询,则需要创建Parameter对象,并设置其Value属性值。

1.3 ASP编码优化

1.3.1声明VBScript变量

在VBScript中变量可以不声明而直接使用,于是有很多程序员习惯了不声明变量,事实上,这是非常不可取的做法,它有如下缺点:(1)从开发角度讲,在编码时节省了一点时间,但调试程序时可能增加数十倍以上的时间;(2)从执行效率角度讲,这样会加重服务器的解析负担,进而影响服务器的响应请求速度。

鉴于此,在VBScript中强制用户进行变量声明。其方法是在程序的行首放置:<%Option Explicit%>

1.3.2对URL地址进行编码

我们使用ASP动态生成一个带参数URL地址进行跳转时,在IE中解析很正常,但用Netscape浏览时却出现错误。解决方法是对生成的URL参数使用ASP内置Server对象的URLEncode方法进行URL编码,例如:

1.3.3使用完对象后释放它

当使用完对象后,应即时释放对象所占用的系统资源。对于ADO对象,首先使用Close方法来关闭连接,然后设置对象值为”nothing”来释放对象占用的内存空间。

1.4 ASP安全优化

1.4.1避免使用inc作为扩展名

许多开发人员喜欢把用include包含的文件的扩展名设为inc,但笔者仍建议以asp作为被包含文件的扩展名。当这些代码在安全机制不好的Web Server上运行时,只需在地址栏中输入某个扩展名是inc的文件的URL,就可以浏览该文件的内容,这是由于在Web Server上,如果没有定义好解析某类型的动态链接库时,该文件以源码方式显示。

1.4.2过滤字符串中的单引号

SQL语句中字符串常量是以单引号为分界符的,如下面的语句,在执行时就会出错:

strsql=“select*from user where[name]=’I’m jack’”

conn.execute strsql

由于在“I’m jack”中包含一个单引号,这样系统会认为在字母“I”后面已经结束,但后面仍有字符,于是就会提示语法错误。也许你会觉得只要在客户端进行输入数据的有效性验证就行了,但总有人试图从网址的参数中加入这样的单引号,同样会产生错误。仅仅是错误并不可怕,可怕的是错误提示,因为那些提示标明了出错文件的位置,数据库等重要信息,于是,有人便开始用SQL注入而下载数据库……

解决的办法是使用replace函数将单引号过滤掉,或者替换为两个单引号,另外一种方法就是设置IIS,不向客户端输出详细的错误信息。

1.4.3禁止向客户端输出详细错误信息

这需要通过设置IIS来实现,在“Internet信息服务”管理器中选择你的Web应用程序,单击右键弹出快捷菜单,选择【属性】命令打开“属性”对话框,切换到“自定义选项卡”,在“HTTP错误消息”列表框中找到HTTP错误“500;100”,修改其属性为“默认值”或指向其它文件。设置完后,如果再发生上面的VBScript错误,就会只显示简单的“HTTP500-内部服务器错误”,而再也看不到出错文件位置和数据库信息了。

1.4.4系统后台管理的安全性

为了不让未授权的用户通过输入网址直接进入后台管理系统,必须采取安全措施防范这种非法访问。通过session对象的功能可以保障后台管理的安全。合法的用户登录系统成功后,就可设置一个session变量值,然后在进入系统管理页面前都进行一次此session变量值的判断,如果与用户登录后所设置的值不同,则可跳转到错误页面,反之则进入管理页面。

1.4.5加强Access数据库的安全性

如何保证数据库中的数据不被恶意攻击和下载,就成了十分关键的问题。如果系统用的是Access数据库,就要考虑数据库的安全保护。Access数据库的文件的后缀是mdb,如果用户猜测到数据库的位置和名称,就可以通过浏览器直接下载数据库了。为了解决这个问题,可将数据库文件的后缀改为asp,即使用户在浏览器中输入了文件的URL,由于浏览器对ASP文件要进行编译,所以用户看到的是一个错误的页面,根本不可能下载数据库。

2结束语

从实际项目开发过程中经常借鉴、思考和总结开发的技巧对于程序员提高ASP技术的应用技能是一个行之有效的方法。本文归纳的技巧只是众多ASP技巧中的冰山一角,更重要的是,我们从中可找到一种ASP应用程序开发的方法和技巧,从而提升软件产品的质量和生命力。

摘要:在介绍ASP技术的本质和特点的基础上,从应用系统的结构设计、数据库设计和程序设计等方面详细分析、归纳了常用的ASP应用程序的开发技巧。以Web数据库编程为实例论述了使用广泛且重要的ADO编程技术。

关键词:ASP,数据库,ADO

参考文献

ASP的网络聊天室设计与开发 篇8

关键词:网络聊天室,ASP技术,Application对象,聊天信息

1 引言

互联网的飞速发展给人们的生活带来了巨大的变化,网络聊天已成为诸多网络用户日常生活的一部分,用户可通过QQ、MSN等即时通信工具软件进行聊天,也可通过在线的网络聊天室进行交流。将讲述网络聊天室设计和开发过程。

2 设计思想

用户通过首页登录聊天室之后,系统向所有在线用户发出新用户登录提醒。用户能看到系统或者是其他用户发布的公共消息,还能够与在线的用户进行一对一的私人交流。聊天信息中可加入表情动画,表现说话人的情感。

聊天室主界面采用上中下结构的框架式设计,顶部含Logo等信息,中间分为两部分,左边显示聊天信息,右边显示在线用户列表,底部为消息发送窗口。聊天内容和在线用户显示窗口均采用定时刷新的方式,以更新内容。设计结构如图1所示。

3 数据库

考虑到聊天内容信息量大,读取信息的操作频繁,若将聊天内容先存入数据库,再行读取,将会大大延迟系统的执行效率,造成数据传输延时严重等影响,因而聊天内容使用Application对象来存储,后文详细介绍。

数据库“user.mdb”仅包含一个表“tbUser”,其中存储了用户的信息,以便用户进行注册操作和登录时的身份验证。“tbUser”表的结构如表1所示。

4 聊天室开发

4.1 数据库连接

当存在多个页面都需要连接数据库的情况时,可将数据库连接代码编写成公用文件,此方法将大大减少代码的繁杂度,增加代码的可修改性。本系统将数据库连接代码放入公用文件“conn.asp”中,在需要连接数据库的时候,在文件中添加包含即可。conn.asp的代码如下:

4.2 Global.asa文件

在本系统中使用Application对象来记录用户的聊天内容,因此需要使用“Global.asa”文件来记录程序的启动、会话的开始与结束,进行相应的变量初始化,在用户登录时进行信息处理。具体代码如下:

4.3 聊天室首页

首页“index.asp”为用户提供了登录的入口,新用户也可通过此页面的链接进行账号注册。如图2所示。

该部分代码如下:

用户通过个人账号和密码登录后, 转入“loginJump.asp”页面处理, 验证用户输入的账号信息。用户通过信息验证后, 将用户信息和消息记录保存在Application变量中。该部分代码如下:

4.4 用户注册页面

新用户点击“注册”链接进入注册页面“register.asp”,输入相关信息即可进行注册。如图3所示。

部分代码如下:

用户填写信息后, 点击“注册”按钮, 进入注册处理页面“insUser.asp”, 将用户信息记入数据库中。该部分代码如下:

4.5 聊天室主页

“main.asp”页面为聊天室的主页面, 该框架页面包含了“top.asp”、“chatContent.asp”、“userList.asp”、“sendMsg.asp”4个子页面。页面效果如图4所示。

“main.asp”页面该部分代码如下:

4.6 在线用户列表

在线用户列表页面“userList.asp”每10秒自动刷新一次,动态更新在线的用户信息。用户可通过其中的“退出”链接进行退出,并清除相关记录内容。但若用户是通过关闭浏览器退出的,则不会自动更新用户列表,因此需要进行用户是否在线的判断,在此,当用户的页面30秒未刷新时,即表示用户已退出,从而更新列表。该部分代码如下:

4.7 发送消息

在页面“message.asp”中,用户可选择表情,输入消息内容,并选择消息的发送对象。如图5所示。

代码如下:

“sendMsg.asp”页面对用户发送的信息进行处理。将单条消息按照特定的格式封装, 并加入到Application对象的数组变量“Talk”中, 在聊天内容显示页面再行显示。该部分代码如下:

4.8 聊天内容显示

“chatContent.asp”页面显示了即时的聊天记录,并设置了5秒自动刷新一次,以更新消息。对于所有聊天记录,选择接收对象为“所有人”或者用户名为当前登录者的人(私人的消息)显示。该部分代码如下:

5 系统测试

通过登录3个用户“10010”、“10011”、“10012”进行测试,分别发送了公共消息、私人消息,消息的发送与接收均正常。其中“10010”用户的聊天室测试主界面如图6所示。

6 结语

使用Application对象,记录了聊天室中的聊天内容,并在页面中刷新和显示。对聊天内容进行特定的封装,能够将用户发送的表情、文本消息内容、发送对象整合在一起,发送到服务器中。在用户接收消息时,能够根据用户身份匹配的结果,判定消息是否应该显示,从而保证了私人消息不会在其他人的聊天窗口中显示出来。真正的网络聊天室会比此系统复杂很多,但其原理是相同的,广大读者可在此基础上作出进一步的完善。

参考文献

[1]尚俊杰.网络程序设计[M].3版.北京:清华大学出版社, 2008.

[2]管西京.ASP+SQL Server动态网站开发案例开发学习笔记[M].北京:电子工业出版社, 2008.

ASP开发 篇9

关键词:表单,数据库,ASP,CSS

1 系统功能描述

该系统可以提供在线订报, 把订户的订购信息, 按时间写入数据库, 可以删除无效信息。

2 系统结构

通过用户界面表单, 把订户的订单信息, 用ASP技术在显示与存储中控制整个系统, 用户界面用HTML及CSS控制界面显示。系统结构如图1所示。

3 数据库设计

图1描述了该系统结构, 该系统采用Access数据库存储订户的订单信息, 共分为存储一控制一界面三层结构。数据库中order表用于存储订户的订购信息。查看信息需要管理员权限, 在Admin表中存储管理的信息。

4 用户界面界面设计

系统设计理念简单易用, 人机交互性强。

5 获取订户信息的实现

订户通过用户表单界面, 把订户的订报信息, 通过save.asp写入数据库。写入数据库的代码如下:

6后台管理界面 (如图)

7实现后台数据管理

检查order表中有没有数据, 然后以每页20条记录, 显示订户信息。由于版面要求后台数据管理的实现代码略去一些字段数据的获取。

下面是具体代码的实现:

8结语

ASP开发 篇10

1.1 两层结构及其局限性

两层结构有如下特点:

数据库访问和用户类型判断逻辑放在一起实现。

用户界面层直接调用数据访问实现。

整个系统功能放在同一项目中实现。

传统的两层结构的特点是用户界面层直接与数据库进行交互, 还要进行业务规则、合法性校验等工作。两层结构软件模型如图1所示。

这种结构存在着很多局限性, 比如:一旦用户的需求发生变化, 应用程序都需要进行大量修改, 甚至需要重新开发, 给系统的维护和升级带来了极大的不便, 用户界面层直接访问数据库, 会带来很多安全隐患。为了克服两层结构的局限性提出了三层结构。

1.2 定义

所谓三层体系结构, 是在客户端与数据库之间加入了一个“中间层”, 也叫组件层。这里所说的三层体系, 不是指物理上的三层, 不是简单地放置三台机器就是三层体系结构, 也不仅仅有B/S应用才是三层体系结构, 三层是指逻辑上的三层, 即使这三个层放置到一台机器上。通用三层结构软件模型如图2所示。

中间层通常包括业务逻辑层、数据访问层和数据对象模型层。此时的三层结构软件模型如图3所示。

用户界面 (User Interface, 简称UI) , 也称表示层, 位于最上层, 用于显示和接收用户提交的数据, 为用户提供交互式的界面。表示层一般为Windows窗体应用程序或Web应用程序。

业务逻辑层是表示层和数据访问层之间沟通的桥梁, 主要负责数据的传递和处理。

数据访问层主要实现对数据的读取、保存和更新等操作。

数据对象模型层即业务实体层。主要用于表示数据存储的持久对象。在实际应用程序中的实体类是跟数据库中的表相对应的, 也就是说一个表会有一个对应的实体类。当然有些三层结构并不包含单独的数据对象模型层, 而将其功能分解到业务逻辑层和数据访问层之中。

在三层结构中, 表示层直接依赖于业务逻辑层;业务逻辑层直接依赖于数据访问层;数据访问层直接依赖于数据对象模型层。

1.3 优势

三层结构主要体现出对程序分而治之的思想:数据访问层只负责提供原始数据, 并不需要了解业务逻辑;业务逻辑层调用数据访问层提供的方法自定义一些业务逻辑, 对数据进行加工, 本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法把数据呈现给用户。

三层结构的优点在于不必为了业务逻辑上的微小变化而迁至整个程序的修改, 只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员之间的合作, 只要遵循一定的接口标准就可以进行并行开发了, 最终只要将各个部分拼接到一起构成最终的应用程序。

三层结构的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下, 客户端不直接与数据库进行交互, 而是通过COM/DCOM通信与中间层建立连接, 再经由中间层与数据库进行交互, 这样会大大提高系统的安全性。

三层结构的应用程序更能够适应企业级应用日益增长的复杂度和灵活性的要求, 并且通过软件分层的高内聚、低耦合的原则, 实现扩展、维护和重用的要求, 可以大大提高开发效率。

2 搭建ASP.NET的三层结构框架

ASP.NET可以使用.NET平台快速方便地搭建三层结构。ASP.NET革命性的变化是在网页中也使用基于事件的处理, 可以指定处理的后台代码文件, 可以使用C#、VB作为后台代码语言。.NET中可以方便地实现组件的装配, 后台代码通过命名控件可以方便地使用自己定义的组件。表示层放在Web窗体中, 业务逻辑层、数据访问层和数据对象模型层用类库来实现, 这样就很方便地实现了三层结构。其方法如下。

(1) 建一个数据库 (简单起见可建Access数据库) , 以备存取数据。

(2) 新建解决方案

打开VS 2008, 新建一个“空白解决方案”, 将其命名为“Three Layers”。

(3) 搭建表示层 (网站)

在“解决方案资源管理器”中, 新建一个网站, 其存放位置为解决方案文件夹下的My Web子文件夹。

(4) 搭建业务逻辑层 (类库)

在“解决方案资源管理器”中, 新建一个“类库”项目。填写项目的名称为“Business Logic Layer”, 该项目用于实现业务逻辑。

(5) 搭建数据访问层 (类库)

在“解决方案资源管理器”中, 新建一个“类库”项目。填写项目的名称为“Data Access Layer”, 该项目用于实现数据访问层。

(6) 搭建数据对象模型层 (类库)

在“解决方案资源管理器”中, 新建一个“类库”项目。填写项目的名称为“Models”, 该项目用于实现数据实体。至此, 已搭建了三层结构 (添加了4个项目) 。

(7) 添加各层之间的依赖 (引用)

此时, 虽然三层结构的基本框架已经搭建成功, 但是各层之间是独立的。只有添加依赖关系, 才能让它们相互协作。

1) 添加表示层对业务逻辑层、数据访问层和数据对象模型层的依赖。

2) 添加业务逻辑层对数据访问层和数据对象模型层的依赖。

3) 添加业数据访问层对数据对象模型层的依赖。

至此, 三层结构及各层之间的依赖关系创建完毕。

(8) 将表示层设置为启动项目

通过上述步骤, 就已经成功部署了ASP.NET的三层架构。表示层My Web网站放置用于显示的Web页面;事务逻辑层Business Logic Layer项目, 把所有的业务逻辑代码在该层实现;数据访问层Data Access Layer项目主要处理数据库的操作, 供事务逻辑层调用;数据对象模型层Models项目实现数据实体类, 供其他各层调用。只要在各个层中实现具体的类就可以成功实施三层结构的应用程序了。

3 应用举例

3.1 系统分析

本例的功能非常简单, 只是实现用户登录与注册的功能, 用户信息存放在数据库中, 旨在体现如何用ASP.NET实现三层结构。

表示层My Web网站放置用于显示的Web页面;事务逻辑层Business Logic Layer项目, 把所有的业务逻辑代码在该层实现;数据访问层Data Access Layer项目主要处理数据库的操作, 供事务逻辑层调用;数据对象模型层Models项目实现数据实体类, 供其他各层调用。

各层次之间的调用 (引用) 关系如表1所示。

3.2 创建框架

3.2.1 建立数据库

打开Access创建名为userinfo.mdb的数据库, 并为其创建一个名为t_User的表, 其结构如图4所示。

3.2.2 新建解决方案

打开VS 2008, 依次选择“文件”→“新建”→“项目”命令, 打开“新建项目”对话框中, 然后选择项目类型为“Visual Studio解决方案”, 选择模板为“空白解决方案”。然后填写解决方案的名称为“Three Layers”, 并指定保存位置, 如图5所示。单击“确定”按钮, 创建解决方案。

3.2.3 搭建表示层

(1) 在“解决方案资源管理器”中, 在解决方案名称上单击鼠标右键, 在弹出的快捷菜单中选择“添加”→“新建网站”命令。

(2) 在打开的“添加新网站”对话框中, 选择“ASP.NET网站”, 选择位置为“文件系统”, 并设置网站的路径, 如图6所示。

(3) 设计Default.aspx如图7所示。

(4) 添加一Web窗体, 将其命名为Welcome.aspx, 其设计视图如图8所示。

(5) 添加一Web窗体, 将其命名为Register.aspx, 其设计视图如图9所示。

(6) 将建好的userinfo.mdb拷贝到站点的App_Data文件夹下。

(7) 添加Global.asax, 在其Application_Start () 添加如下代码。

3.2.4搭建业务逻辑层 (类库)

在“解决方案资源管理器”中, 在解决方案名称上单击鼠标右键, 在弹出的快捷菜单中选择“添加”→“新建项目”命令, 打开“新建项目”对话框中, 然后选择项目类型为“Visual C#”, 选择模板为“类库”。填写项目的名称为“BusinessLogic Layer”, 该项目用于实现业务逻辑。此时项目的保存位置已经默认输入了, 是刚才创建空白解决方案时产生的路径, 如图10所示。

3.2.5 搭建数据访问层 (类库)

在“解决方案资源管理器”中, 在解决方案名称上单击鼠标右键, 在弹出的快捷菜单中选择“添加”→“新建项目”命令, 打开“新建项目”对话框中, 然后选择项目类型为“Visual C#”, 选择模板为“类库”。填写项目的名称为“Data Access Layer”, 该项目用于实现数据访问层。此时项目的保存位置已经默认输入了, 是刚才创建空白解决方案时产生的路径。

3.2.6 搭建数据对象模型层 (类库)

在“解决方案资源管理器”中, 在解决方案名称上单击鼠标右键, 在弹出的快捷菜单中选择“添加”→“新建项目”命令, 打开“新建项目”对话框中, 然后选择项目类型为“Visual C#”, 选择模板为“类库”。填写项目的名称为“Models”, 该项目用于实现数据访问层。此时项目的保存位置已经默认输入了, 是刚才创建空白解决方案时产生的路径。

至此, 已搭建了三层结构 (添加了4个项目) , 此时的解决方案如图11所示。

3.2.7 添加各层之间的引用 (依赖)

此时, 虽然三层结构的基本框架已经搭建成功, 但是各层之间是独立的。只有添加依赖关系, 才能让它们相互协作。

(1) 添加表示层对业务逻辑层、数据访问层和数据对象模型层的依赖。

在“解决方案资源管理器”中, 在表示层上单击鼠标右键, 在弹出的快捷菜单中选择“添加引用”命令, 打开“添加引用”对话框, 然后选择“项目”选项卡, 选中项目名称为“Business Logic Layer”的项目, 单击“确定”按钮, 如图12所示。

同样添加对Data Access Layer和Models的引用。

(2) 添加业务逻辑层对数据访问层和数据对象模型层的依赖。

在“解决方案资源管理器”中, 在业务逻辑层上单击鼠标右键, 在弹出的快捷菜单中选择“添加引用”命令, 打开“添加引用”对话框, 然后选择“项目”选项卡, 选中项目名称为“Data Access Layer”的项目, 单击“确定”按钮。

同样添加对Models的引用。

(3) 添加数据访问层对数据对象模型层的依赖。

至此, 三层结构及各层之间的依赖关系创建完毕。现在Three Layers解决方案资源管理器应该如图13所示。

3.2.8 将表示层设置为启动项目

运行程序前, 还需设置启动项目。在“解决方案资源管理器”中的表示层上单击鼠标右键, 在弹出的快捷菜单中选择“设为启动项目”命令, 将表示层设置为启动项目。

将表示层设置为启动项目后, 表示层 (站点) 自动创建了Bin文件夹, 该文件夹下生成了:Business Logic Layer.dll、Business Logic Layer.pdb、Data Access Layer.dll、Data Access Layer.pdb、Models.dll和Models.pdb等6个文件, 如图14所示。

ASP开发 篇11

【关键词】行动导向教学法;ASP.net网站开发;课程改革

行动导向教学法在实践应用中可以做到做中学,学生依据自身行动来获得知识,从而培养职业能力。行动导向教学法是以学生为主的实践活动,注重学习评价,也就是学习过程的反馈和评价。行动导向教学包括五步教学法、案例教学法、项目教学法、头脑风暴教学法等。在ASP.net网站开发中应用行动导向教学法,能够促进学生对知识的认识,改变教学模式,提高教学效率。

一、行动导向教学法的ASP.net网站开发课程改革

1.构建教学体系和教学内容

ASP.net网站开发教学可课程中,依据微软ATA快递运输管理系统为例,适当融入优秀的学生作品,利用企业实际管理方式来创建大学生虚拟创业公司,此时教学的主要内容就是虚拟公司真实项目[1]。实际操作中功能模块为快递运输管理系统,以此当做教学的载体,并且把教学内容合理分为多个情境,从不同情境来对学生能力进行考核。对快递运输管理系统进行分析,依据不同功能可以把案例分为应用管理、接货管理、到货管理、客户管理、配车管理、票据管理六大模块。常规教学过程中主要针对应用管理和客户管理进行设计和实现,小学期实践中完成其他模块。设计快递运输管理系统的时候,包括常用服务器控件、CSS样式、内置对象、ADD.net数据库编程等ASP.net网站开发的基础知识,小学期培训的过程中对学生进行分组,每组5~6人,模拟完成案例教学的其他四个模块。实践教学的主体是学生,老师只是引导者和组织者,负责回答、收集学生的问题。学期结束的时候,学生需要对课程进行评比和答辩,从中选择优秀的作品参加设计大赛[2]。

2.改革教学方法

ASP.net网站开发教学方案实际上是依据项目驱动的方式进行课程教学,并且利用角色扮演和任务导向方式实施每堂课的教学,此外也需要合理应用多种辅助手段。ASP.net网站开发教学中依据案例的不同情境进行真实教学。教师授课的时候利用引入问题的方式来具体讲解案例项目,并且从中提炼有用的知识,同时向学生介绍需要完成的项目学习情境,教师和学生一起进行讨论和分析,最后学生解决问题,教师总结问题。小学期实训项目中,对学生进行分组教学,并且每组都选出一名作为经理人的组长,项目程序员作为组员,切实完成案例的设计和实现[3]。

3.改革教学手段

ASP.net网站开发教学的时候,合理利用现代信息技术,并且有机结合SOVO虚拟平台,从而紧密联系实际工作环境和课堂教学,以便于达到无缝对接企业工作和学习课程的目的。ASP.net网站开发教学中进行相应的改革和创新。第一,ASP.net网站开发教学中所有教师都配备教师电脑,教师授课中全面利用多媒体,从而确保可以有效提高教学质量,促使形成丰富多彩、生动活泼的学习内容;第二,ASP.net网站开发教学中,大部分专业课教学中保障学生人手一台笔记本,充分体现移动实验室的效果和作用。第三,实施网上训练和答疑。为了有效提高师生交流,增加学生学习机会,学校可以开设ASP.net网站开发课程网站,为师生交流提供平台。第四,通过辅导员、邮件、微信等方式来密切联系学生,确保可以及时了解学生情况,方便调整教学方式和教学进度。第五,有兴趣和有时间的学生可以把他们融入到SOVO中,并且利用虚拟真实项目来有效提高学生的专业能力。第六,学校每一年都设置小学期,依据课程实训来检验和巩固之前的学习内容。第七,利用期末总结汇报的方式来为学生提供机会,并且通过学习动力和压力来最大限度激发学生的积极性。第八,学校定期或者不定期举办软件设计大赛,以便于提高学生积极性。例如,软件设计大赛、网页设计大赛等[4]。

二、行动导向教学法ASP.net网站开发课程改革的特色

经过多年研究和实践,行动导向教学法ASP.net网站开发课程建立形式多样、内容丰富的教学资源。从社会服务覆盖性和专业教学支撑性体现课程资源,包括以下几方面特色[5]。第一,课程资源主要就是实际项目,并且结合SOVO案例和优秀学生作品构成,在整个教学中贯穿案例,充分展现项目为导向、实践为基础、改革为本位的理念。从专业角度来构建课程,依据快递运输管理系统来实现ASP.net网站开发课程教学活动,并且把课程案例分为几个独立模块,对所有模块进行讲解、练习、模拟以及实训,从易到难,从简单到复杂,逐渐完成整体案例。第二,设计ASP.net网站开发课程的时候,利用实训学期做中学、常规学期学中做的原则进行教学,也就说第二学期的时候教师带学生完成案例实训的应用管理和客户管理模块,注重教师讲解演示,学生学习操作。小学期实训的时候依据分组形式独立完成案例项目,ASP.net网站开发是小学期实训的基本内容。以一个月为时间,学生独立完成软件项目开发的五个阶段的所有项目,最后在学期期末结束的时候进行评比答辩,并且推荐优秀作品参加学校比赛。第三,构建项目开发真实案例库的时候合理应用SOVO虚拟平台。SOVO的赛特科技、威信科技、奥德科技等都是软件开发企业,从接手项目、分配任务、开发项目都应该配备专门的学生,教师只是需要在学生实践中进行指导[6]。

三、结束语

综上,随着科学技术以及信息技术的不断发展,学校教育也越来越重视软件的开发,ASP.net网站开发课程改革得到专家和学者的广泛关注,可以在一定程度上促进其他课程的发展。ASP.net网站开发课程依据实践示范和教学示范来改革课程。ASP.net网站课程提供教学教案、教学大纲、电子教材、实验指导、习题解答、网络课件等可以极大程度上扩展教学空间和资源,不但能够促进教学效率,同时也能够体现师生共享资源的优势,起到了良好的示范作用。实际操作中需要从教学案例、教学方法、教学手段方面创新和完善ASP.net网站开发课程的改革方式,最终构建特色的ASP.net网站开发课程。

参考文献:

[1]魏菊霞,李志中,向燕飞等.基于行动导向教学法的ASP.net网站开发课程改革和实践[J].教育教学论坛,2014(41):160-162.

[2]冯燕.基于项目教学的《使用ASP.NET构建动态网站》课程改革研究与实践[J].亚太教育,2015(25):117.

[3]许世亮.行动导向教学法在高职外贸客户开发与维护课程教学中的应用[J].教育探索,2011(6):73-74.

[4]李华伟,董海静,戴梓宁等.行动导向教学法在永久性膀胱造瘘患者健康教育中的应用[J].中华护理杂志,2015,50(4):408-410.

[5]王燕燕.行动导向教学法在中职内科护理教学中的应用[J].中国护理管理,2015,15(7):823-825.

ASP开发 篇12

从2008年开始, 网站建设就成为江苏省计算机技能竞赛中的一个常规项目。它从最初的园区网, 发展到后来的电子商务。随着竞争的激烈化, 网站建设项目对学生的技能要求越来越高, 特别是在动态网站开发方面。动态网站开发的一个主要技术是将数据库的内容“动态”地显示在页面上。所谓“动态”, 就是一旦数据库的内容发生改变, 网页上所显示的内容也会跟着改变。要实现此功能, 必须掌握动态网站开发技术。

动态网站的开发技术有很多, 如利用Dreamweaver的数据库面板实现、利用ASP技术进行开发等。根据两年多的指导经验, 我发现如果单纯用Dreamweaver的数据库面板所提供的功能来制作, 虽然操作较方便, 但Dreamweaver自动生成的代码太繁琐, 不利于学生理解, 而且若要实现复杂的功能比较困难, 它比较适合简单功能的实现;但如果全部用ASP代码实现, 虽然代码简洁、而且较容易实现功能复杂的模块, 但对于中职生而言, 要让他们熟练地掌握VBScript和Java Script脚本语言是比较困难的。

所以, 应该将这两种技术完美地进行结合, 以便让中职生在较短的比赛时间内完成网站建设。为此, 需要研究哪些功能适合用Dreamweaver实现, 哪些功能需要用ASP代码实现。在比赛时网站建设一般由2名学生共同完成, 所以按照一名学生负责前台, 另一名学生负责后台进行分工。下面, 我就分别从前、后台来进行阐述。

1、前台页面制作的研究

对于前台来讲, 一般包含的模块有用户登录、用户注册、类别/菜单的动态显示、数据库内容在首页的显示及在二级页面的分页显示、数据的查询、留言等。

利用Dreamweaver的数据库面板可以完成数据库内容在页面上的显示, 包括多字段的显示、分页显示, 还可以实现单字段的查询, 一级菜单/类别的显示、用户的登录等模块。

在开发过程中, 先利用“数据库”选项建立数据库的连接, 然后通过“绑定”选项添加新的记录集, 再结合“服务器行为”完成开发。一级菜单的显示和字段的显示, 都只需将记录集中相关的字段拖到网页的对应位置上, 再利用“服务器行为”选项中的“重复区域”就可实现显示多行或全部记录;分页显示则还要结合“记录集导航条”来实现。单字段的查询, 在查询页面需要添加表单, 表单中文本域控件是用来让用户输入查询条件, 而且表单的method方法要设置成post。这样, 在查询结果页面添加记录集时, 只需设置一个筛选条件, 便可根据用户输入的查询条件进行查询, 可以是精确查询 (选择“=”号) , 也可以是模糊查询 (选择“包含”) 。用户的登录需要用到“服务器行为”选项中“用户身份验证”中的“用户登录”。这些操作又方便又快捷, 可以节省很多比赛时间。

但对于注册模块、多级类别的显示, 仅靠Dreamweaver是很难实现的, 需要ASP的参与。在注册模块中, 一般有密码确认, 而用Dreamweaver数据库面板只能实现用户的每个字段值的添加, 并不会对密码进行确认, 因此, 需要用ASP代码来实现。在操作过程中, 先用Dreamweaver实现用户的插入, 然后找到自动生成的代码, 在插入操作之前用ASP代码确认两次所输入的密码是否一致, 如果一致, 执行插入操作, 否则取消此操作, 并给出相应的提示语句。

对于多级类别显示模块, 以二级类别为例, 先利用Dreamweaver显示第一级类别, 然后再利用ASP代码显示二级类别。每一个一级类别包含若干个二级类别, 所以在编写ASP代码时, 需要对所创建的记录集设置一个条件, 那就是所显示的二级类别是属于当前一级类别的。

对于多条件查询模块, 因涉及的条件组合比较多, 要分很多种情况讨论, 所以用ASP代码实现更快, 代码更清晰, 学生也更容易理解。

2、后台管理页面制作的研究

对于后台管理来讲, 基本上是对数据库实现显示、查询、添加、更新、删除操作。所以, 实现起来相对简单。

对于数据库内容的显示, 不管是否分页, 都可以依照前台所讲的制作方法, 即直接利用Dreamweaver进行实现。

对于查询, 如果是单条件查询, 可以直接利用Dreamweaver进行实现, 如果是多条件查询, 则用ASP代码直接实现。

对于数据库的添加/更新操作, 如果不需要对用户所输入的数据进行检验, 则直接利用Dreamweaver的“插入”/“更新”功能进行实现, 否则, 在完成插入/更新操作之前用ASP代码进行检验, 检验通过则执行插入更新操作, 检验没有通过则不能执行, 并相应地提醒用户。

为了操作方便, 对于某个数据表中的数据, 查询、添加、更新和删除按钮是放在同一个页面。因为查询和添加是针对整个数据表而言, 所以可以让查询放在一个表单中, 添加放在另一个表单中。但是更新和删除是针对某条记录而言, 所以应该放在一起, 在第三个表单中。在利用Dreamweaver数据库面板实现过程中, 一个表单只能拥有一个提交表单按钮, 所以查询按钮可以成功跳转到查询或查询结果页面, 添加按钮也可以成功跳转到插入页面, 而对于更新和删除处于同一表单的按钮来说, 只用Dreamweaver是不能实现两个功能的, 哪个功能的代码在前, 就只实现对应的功能。所以, 一般情况下更新不用按钮来进行跳转, 而是通过超链接来实现, 并传递当前记录的id值参数。

但对于一些字段少, 而且字段内容比较简单的数据表来说, 可以将插入、更新、删除放在一个页面中实现。同样, 插入用一个表单布局, 但更新和删除是放在同一表单的。为了能够准确地区分更新和删除, 需要结合ASP代码。删除功能可以利用Dreamweaver数据库面板的“服务器行为”中的“删除”操作来实现, 而更新功能也先利用Dreamweaver数据库面板的“服务器行为”中的“更新”操作实现, 然后再将执行更新操作的判断条件重新用ASP代码编写便可。这样, 就可以完成一个表单同时拥有多个提交按钮, 能实现多种功能的效果。

总之, Dreamweaver和ASP各有自己的特点, 将它们结合起来开发动态网站既可以节省时间, 又可以提高速度, 而且不影响功能的实现, 比较适合比赛时使用。但要注意的是, 利用Dreamweaver结合ASP开发某个模块时, 一定要先完成Dreamweaver的操作, 而且确保操作无误, 再在自动生成的代码里添加ASP。因为一旦修改了自动生成的代码, 在数据库面板上就不会显示相应的操作名。所以一旦出错, 只能将本模块的所有代码删除, 然后重新按顺序进行操作。

摘要:网站建设是计算机技能竞赛的一个传统项目, 本文主要针对动态网站开发技术Dreamweaver与ASP各自的特点, 分析两者如何有效地结合, 才能让中职生在规定的短时间内快速、成功地开发出动态网站。

关键词:ASP,Dreamweaver,动态,网站建设

参考文献

上一篇:畜禽粪便处理下一篇:儒学研究

<% =RS(I).Name %>

<% =RS(I)%>