首页 > 实用范文 > 心得体会 > 心得体会范文 > 初学asp心得体会热门五篇正文

《初学asp心得体会热门五篇》

时间:

初学asp心得体会(通用5篇)

初学asp心得体会 篇1

经过两个多月的学习和上课听讲,初步掌握了Asp.net动态网页制作的一些简单的知识和基本常识,也能从老师讲的基本知识中应用一下上课所学到的知识,感觉Asp.net网站建设和维护不是很简单,其中不仅要应用各种方面的知识还要对所学的知识学会变通使用,虽然会有一些成功的地方,以前学c++、数据库等一些相关知识的时候没好好学,现在想真正做好这个网站就显得不那么容易了。曾经看到网上有这么一句话,一个优秀的网络程序员不但要了解自己领域的一些专业技术,而且很多时候还要充当半个网络工程师,半个美术设计师和半个数据库管理员。照这么说来,我单单学习Asp.net是远远不够的,还要学习计算机网络、美术设计、数据库,我很喜欢有关计算机方面的东西,认为我们当代的生活越来越离不开计算机,并且我也很痴迷计算机所带来的强大功能。

它是microsoft .net战略的核心产品,Asp.net凭借它丰富的控件,以及具有革命性的code-behind技术,以及良好的封装性,无疑成为业界开发active server page的一门巨将, asp 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器

端脚本技术。 指 active server pages(动态服务器页面) ,运行于 iis 之中的程序 。Asp.net 是 asp(微软动态服务器网页技术)的最新版本。执行效率大幅提高:Asp.net构架是可以用microsoft(r)公司最新的产品 visual 开发环境进行开发,wysiwyg(what yousee is what you get所见即为所得)的编辑。简单性和易学性

高效可管理性

Asp.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"zerolocal administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个Asp.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 Asp.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝链接技术,将很大的提高运行速度。即使你现在的Asp.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的asp确做不到这一点。自定义性和可扩展性 Asp.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,Asp.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。

安全性基于windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。 Asp.net 的语法在很大程度上与 asp 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 asp 应用程序中逐渐添加 Asp.net 功能,随时增强 asp 应用程序的功能。 Asp.net 是一个已编译的、基于 .net 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比asp即时解释程序速度上要快很多.而且是可以用任何与 .net 兼容的语言序。另外,任何 Asp.net 应用程序都可以使用整个 .net framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 Asp.net 可以无缝地与 wysiwyg html 编辑器和其他编程工具(包括 microsoft visual studio .net)一起工作。这不仅使得 web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 web 页的gui 和完全集成的调试支持。

当创建 Asp.net 应用程序时,开发人员可以使用 web 窗体或 web,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些html和简单的web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的asp开发经验(当然有经验更好),但是你必须了解交互式web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在Asp.net的世界开始展翅高飞了。

首先我们学习了怎么设计主页,一个好的主页可以给浏览者一个耳目一新的感觉,所以网站主页的布局就显得格外重要了,好的布局加上亲切的言语,以及强大的功能,都会是浏览者感到无比的亲切。这次我跟刘昕做的是乐糕网,一个粉红色的布局显出温馨的格调,其次我们添加了用户注册界面,同时应用了模板页,模板页嵌套在注册页面上,同时与主页的注册按钮相连接,在主页引用了css样式,使得格局更加清晰。之后我们做了在线投票页面,同样引用了模板页,同时学会了使用cookie,session的使用。做好这些功能之后,我们开始用到了数据库,要实现用户的存储和调用,以及商品信息的录入,同时对商品id进行数据绑定,之后我们实现了购物车功能,使用 datalist控件实现了对后台代码文件中绑定其数据源,asp,net3.5提供的datalist控件使用模板显示内容,他允许每一行显示多条记录。可以使用html表对应模板项的呈现方式进行布局,从而控制各个单元格的顺序、方向和列数。在这之后我们又做了留言板,通过调用存储过程,做到了留言板功能的实现,。前面所学到的数据访问都是web应用程序直接访问数据库。这种在web窗体中直接访问和操作数据库中数据的方式是一种低效的资源使用方式,并且有可能产生安全风险。通过存储过程访问数据库,可以有效地提高数据访问效率和数据的安全性。

可以在执行复杂任务时减少窗体的编码量,降低对网络宽带的需求;通过只允许可信赖的本地存储过程直接访问数据库,可以保护数据库的安全。同时我们用到了一个容器控件repeater,当运行页面时,repeater将绑定数据源中的数据,并按照模板的要求将数据在界面上呈现出来。正是由于repeater控件没有默认的外观,所以进行界面设计的时候会感到不太直观。但repeater控件非常灵活,可以通过对模板的灵活使用,创建多种不同形式的列表,包括以特定分隔符的列表,或者xml格式的列表,同时它还能够非常精确地对界面元素进行定位。除此之外我们还添加了网络在线投票功能,网络在线投票是网络用户的兴趣、价值取向以及热点关注等信息的关注程度的一种体现,实现了在线投票功能,为了更为直观的显示和查看投票结果,将投票结果图形化是一种较好的手段。所以我们引用了一个类graphics, graphics类是gdi+图形编程中的核心类。他封装了gdi+界面的绘图方法以及图形显示设备,极大地的简化了开发人员的图形编程工程工作。通过graphics类的属性可以获取graphics对象的分辨率,并能够为graphics对象进行裁剪区域的选择和判断,而页面中图形的绘制则都是通过graphics类的实例方法实现,同时引用了web服务器控件image。image控件同img标签一样,其主要作用是在web页面中显现图片信息,其主要属性为imageurl,用于设置需要显示的图片的url地址。尽管Asp.net提供的image控件可以快速地载入图形,但却并不支持click事件。而且gdi+除了可以绘制图形和文字外,还可以绘制或编辑已有图片,为图片添加水印或裁剪图片等操作。

在实际的web应用开发中,开发人员为了防止非法用户恶意批量注册或者恶意程序暴力破解密码等操作,我们相应的做了图形验证码功能,在用户身份验证时都会采用验证码技术。验证码技术可以有效防止某些特定注册用户采用恶意程序和暴力破解方式对网站进行不断的登录尝试,为此我们引用了random类,随即数在计算机应用程序设计,尤其是在实践环境模拟和测试等领域得到了非常广泛的应用。random类是一个伪随即数生成器,能够产生满足一定随即性系统要求的数字序列。既然是伪随机数生成器,产生的数字就不是绝对的随即数,而是通过一定的算法产生的伪随机数。初始化一个随机数发生器有两种方法:第一种是不指定随即种子,系统自动选取当前时间作为随机种子,代码如下:random rand=new random;第二种方法是指定一个int型参数作为随即种子,认识到了网站的真正的结构,最终才对bs结构的网站程序有了进一步的认识。同时,对sql大型数据库的认识才有了质的改变。最后我们做了网络在线人数统计,完成了对乐购网网站的制作。

在这短短的几个月中,我知道在程序设计的时候,不要太在意程序是否最简洁灵活,对于一般开发者而言,程序规范化和可读性可能比追求程序的灵活性更加重要。在互联网资源越来越丰富的情况下,我们可以参考一些规范的程序源代码来学习。同时我也知道,想要学好这门课程,所要具备很多条件,首先打代码要规范,要做注释,这样回头来看程序时可以很快的看懂,一方面可以练习自己的逻辑表达能力,对以后遇到难以实现的功能也可以很好的表达出来向别人请教,而且出去从事编程工作的话,代码的规范是相当重要的。还有一点要学会总结,把自己做的程序用到的知识点列出来就可以很好的总结自己的知识点。当形成知识体系,对知识的理解就会更上一层楼。

初学asp心得体会 篇2

一、准备工作

首先,学习asp要有些基本的编程知识.最好先学过点vb java最好因为asp不是一门编程语言而是一个web编程框架.他是利用脚本(vbscript javascript)语言做为编程语言的.如果你不会他们那么至少得会点c.c也不会的话建议你先学下c,虽然并不是一定要先学过编程语言,但是学他对这个的学习是有莫大的好处的.在Asp.net中,整张web页是放在一张大表单里面的。如:

网页的具体内容

在这个表单内可能放置了很多html控件如按钮、下拉菜单、文本框等。Asp.net提供了一些服务器端web控件。在服务器上执行的时候,通过一定的条件,web窗体将这些服务器web控件转换为普通的html控件。比如一个按钮:

经过转换后就变成了:

在Asp.net中,一个web窗体被看成了一个对象。它的数据成员就是那些web控件和你自己定义的变量,它的函数成员就是那些用来响应客户端操作的函数,当然还有你自己定义的函数。我大致讲一下用户请求一张web页的时候发生了一些什么事件:

首先,用户第一次请求页面时,先执行web页的page_init过程,在这里通常对组件进行初始化。然后执行page_load过程,在这里,我们可以做一些初始化的工作。比如:设定标签控件的文本为:“初始”。然后,由于用户是第一次请求页面,所以没有什么其他事件发生。程序控制转为解释执行html代码页中的服务器代码。在html中,有一个这就是我们的标签控件。因为我们在page_load过程中对标签的文本赋值了,所以现在程序在将转换为初始。而按钮的转换就类似于上面我已经说过内容。经过这些转换以后,html页内的代码变成了标准的代码。然后,这些代码被用户浏览器得到了。经过解析后,用户就可以看到一个“初始”和一个按钮。

现在,用户对着按钮点击了一下。于是,表单就提交了。(提交的细节,我下面再说)通过提交的表单,服务器得知这是用户点击了按钮控件。并且这是用户第二次请求该页面了。于是,程序又执行page_init过程、page_load过程。这时,因为用户点击了按钮控件,则程序开始执行另一个函数,这个函数是用来专门处理用户点击了按钮控件这个事件的。在这里,我们将标签控件的文本设置为:“点击”。然后程序控制又转到html页。跟上面第一次请求时一样。于是用户在客户端通过浏览器就可以看到一个“点击”和一个按钮了。

.net是通过隐藏控件来传递客户端信息的,例如产生事件的控件的名字。然后,提交表单。这样,服务器端就可以根据隐藏控件来确定产生事件的控件的名字,并产生服务器事件,进而对该事件进行处理。

对于一个熟练的程序员来说,他也不可能完全记住每个语言的各项细节.再简单的语言也有很复杂的细节,所以帮助文件是必须的.在一次又一次的查阅中你会发现自己查阅的次数越来越少了.如果你基本上不查阅了,那么你已经基本上掌握这么语言了.(为什么说基本上,那是因为一门语言不是只有语法,还有其他的,比如编程思想,特性等)我列出的这些都是必须的,当然还可以有些别的比如xml ajax技术等

运行环境

在这里推荐iis毕竟asp是人家微软的技术.人家又那么牛,别人很难做的比他好啊!aspstudio很容易出错,不怎么好,不推荐做大型项目.但是个人做点小东西的很方便很好,不过他好象不支持类的功能(也许是我没找到支持它的版本,有请大虾指出).net没用过有请大家讨论下!

数据库

建议初学的话用access因为起功能简单.也容易上手.但是最终你还是要会大型数据库的,现在对网络程序员的招聘一般要回oracle sqlserver mysql.

二、开始学习

学习asp首先得开始学习静态页面开始,如果你有这方面的知识那么可以省略。

静态页面

静态页面就是纯html语言加客户端javascript的页面。所以你可一先学习下html语言,但是如果不是学过面向对象编程的话,建议你先不要看javascript。先就学点 html语言,不要太深就学习个基本的表格,字体样式,基本的结构就可以了。然后再学会用网页三剑客。特别是要学好用dreamvear.

页面大小:一个页面的大小一般是宽度778像素或者是1024像素,但是大多数是用的778因为现在还有很多显示器很差设置的是778像素。这样能更多的支持。当然你可以设置为百分比这样就不会为这个而烦恼了!比如54的页面就是设置的百分比(一般的论坛都是)。logo和banner:一般logo和banner也是有固定尺寸的logo一般88×31而banner一般是和网页的宽度差不多可以是778和1024高度最好不要超过120

网页标题:好多人最开始学习的时候没怎么注意过结果他编的网页都是无标题文档。记住在中间加个标题。

网页关键字:网页的关键字是搜索工具检索网页的重要依据,有效的关键字对于提高网站排名及人气很有用处。

版权信息:一个网页一定得有个版权信息,这是专业与非专业的区别。当然加上一些联系方式比如邮件地址等,方便别人的联系。如果你的网站有什么问题,网上还是有很多热心人通知你的。

文件名: 建议大家才开始学习的时候就养成良好的习惯。用英文命名,同时最好能表达你的文件的主要内容,可以是英文单词,或者是拼音,当然英文是最好的。不是特殊要求请不要用特殊字符,比如#等

javascript:javascript开始的时候可以不用学习,网上的这些代码很多很详细,连怎么样运用都写的很清楚。可以直接找来运用。

1.另外为了防止代码乱码,所以要有句如上面的.因为中文编码都是gb2312不加这句很荣誉出错出现乱码

2。开始学习的时候你可能没注意过代码的排版。html你可以用dm看,但是当你开始编辑动态页面的时候就要注意。一个好的排版能够让别人读懂你的代码(这个很关键,你进公司工作,不可能一个人开发整个系统)。关键是做好缩进html代码如是,asp代码也是。

3。开始学习的时候不要贪多争取先弄懂一的对象比如adodb,然后在看别的。其实所有的东西基本都是一个模板。主要是理解,绝不要强求记忆。记忆是等你做多之后自然的事情。不过最基本的对象开始你得弄懂,比如request response要学会运用他们。

4。开始学习的时候要弄清楚一些基本的技术。包括分页技术;数据库的连接,数据的查询,删除;数据库的基本操作,表的建立,删除。

三、编程实践

编程只看教程,只看书是不行的。需要你实际操作,才知道一些细节的问题.

开始编的话可以学习编写一些小的模块.比如新闻显示,或折一个简单的留言本.练习下.然后做个简单的整站试下.

编程的时候要注意代码尽量思路清晰.要有高的扩展性,便宜以后扩展.所以尽量做成函数和过程再在页面里面调用.

同时这里也有些需要提醒大家注意的地方

1.前期设计工作

设计一个网站是其实主要的工作不是在后面的编程,而关键成功的因素是在前期的归划.前期要弄明白你的需求是什么.要实现什么功能.划分好每个功能模块.为每个功能模

块,划分好好实现的各个功能函数.最好有一个清晰的计划书.如果着一切你都事先做的横好那么后面编程是很简单的事情.一切水道渠成.

2.数据库设计

数据库设计也是非常重要的,一个好的数据库设计就为一个漂亮的开始.

数据库尽量简单,不要建立太多的表.一个表要尽量容入多的数据.但是这个是在一个原则的条件下,数据库设计的要清晰.最好一个对象建立一个表.而对于某个对象起属性少的情况下,就不要建立一表.

比如我门常用的电子邮件,如过你不是做邮件服务器的话就没的必要建立电子邮件的表,你只要在用户的表里面建立个email字段就可以了.

另外要特别注意数据库的速度,网络一切速度第一.所以你最好要为每张表建立一个int类型的id字段我们查询的时候就查询id,由于是数字,比字符的查询的速度快(在大量数据的情况下很明显)当然这就以为着你必须检查,或者设置id字段的值不能重复.当然还有的就是你得有个习惯就是所有的字段都是用英文表示(有点废话,但是也许有写人不知道),也上为了提高速度,同时便宜兼容别的不支持汉语的数据库.

3.数据库的查询等

数据库的操作很重要,他很影响整个程序的速度.注意:一般一个网站的速度限制住要是在网络带宽,和内存的大小.而数据库是耗内存的大户,同时他的访问速度也限制整个网页的速度(对于小型网站这个是主要的限制因素).

所以数据库的操作很重要.我们在做数据库操作的时候要记得尽量提高查询速度.首先,要编写尽量简单的查询语句,不要一个查询语句里面做很多圈套,少用或尽量不用联合查询.

尽量在搜索的时候用id字段查询,少查询字符,提高检索速度.

其次,对于数据库的资源.当申请了连接用完就释放.于最早的时间释放资源.然后如果数据库里面的记录特别多的话,那么就最好做一些优化我们在查询的时候只查询前面1000记录避免暂时无用的数据占用资源.同时也可以用asp自代的分页功能.adoob对象有这个功能.

再次,对于复杂的事物处理我们可以用视图和存储过程,事实证明运用试图存储过程能显著提高速度.当然建立必要的索引也是可以的.要在这些方面做好取舍.不过前提是你所用的数据库都支持.

最后,我们可以把经常用的业务查询放入内存.来优化速度.这样当每次寻要用的时候就可以直接去内存寻找,避免每次都查询数据库.

4.asp编程

首先,我们如果才开始编程的的话,不要求什么新技术.尽量采用简单的技术.其实一个程序如果设计的思想很好很漂亮,那么我们就没必要关心他是用什么技术实现的哪怕是最初级的技术.一样

是好程序,只要它能达到最开始的要求就是.而且对于我们才开始学习的人,如果一就研究这些复杂的东西是困难的,也没的必要啊.等你基本是上很熟悉asp编程了.你可以去阅读技术文档.再去学习.

其次,我们要照顾一些安全的需要.

1.检测下sql语句编写安全的sql语句.

比如这样的语句就不怎么好:sql="select * from table1 where name="&rename传过来的可能代有'号可以够造一个查询被注射.

可以这么写sql="select * from table1 where name='"&rename&"'"

2.时刻记得检测传递过来的request对象,加一句replace(cint(request("")),"'","")

可以起到一定的防范作用.

3.对于权限的检测有些人只用cookies验证,这是不行的现在有工具可以自己构造这个.因为cookies是放在客户端的,很容易被黑课利用.对于次我们可以采用cookies 加session验证的办法.

4.另外记得数据库的安全,要做下防下载的处理.可以用几个变态的数据库名,同时在数据库里面建立个防止下载的表.防止被暴库.同时帐号密码最好加下密采用md 5加密一般不好被破解.

5.对于用户的登陆页面的验证.我们在查询的时候最好最好加下面的语句

code:

'前面为查询

if not rs.eof then

if rs("username")=md5(username) and rs("userpass")=md5(userpass) thensession("user")=true

response.redirect"转入成功页面"

else

response.redirect"转入错误页面"

end if

end if

同时我们在登陆的地方最好要有的验证码验证,或者记录错误登陆次数.限制同一ip多次错误的登陆.防止被暴力破解.

6.后台编辑器我门尽量不要采用html编码,可以采用ubb代码,防止被嵌入木马等.存储如数据库的时候要采用字符过滤.过滤掉一些危险的单词,如 delete in to content 等最后要说的是编译运行.

你写的代码不可能是完全正确的.需要通过服务器的检测才行.但是一般一经检测都有那么点问题.这时候就需要调试.我推荐大家采用aspstudio因为他可以设置断点.方便找错及修改.不过他的技术可能不是很成熟有时候出错.所以你有时候还是得用iis.有是在本地运行不了的程序,在服务器上却可以.所一你最好有个个人的动态空间.方便测试.另外说下的是,找错误.一般是出的小错误.比如编码格式,或者一个if没结束.这个以为就是逻辑错误

在众多的if语句中出错误.大家向这个方面去找.一般不是什么大问题.

四、总结

asp是容易上手,而且速度也很好,不用编译为可执行程序,所以他才这么流行.但是现在看来我感觉他的前途不大了.因为它有太多的毛病.首先这个东西似乎特别不怎么安全.我看见的网站入侵大多数是asp的.其次它也不适宜特别大的项目.作为小中型运用还可以.做为大型.他一是很不好做好逻辑与业务分离.程序用到东西太多,代码再怎么注意清晰的编写都感觉很乱.程序的偶合程度太强.不便于以后改进更新.十分不便于多人开发.然后相对于jsp他不能跨平台.没有其有着从小型到大型的web运用的成熟的解决方案强大语言支持.同时不能向php一样开源.而微软现在又关注的是.net平台.

初学asp心得体会 篇3

ASP内置对象response

Response的属性

.buffer (表明页输出是否被缓冲)

使用格式

Response.buffer=true/false

注:很多方法使用时对BUFFER属性有要求,对其设置最好写在ASP文件第一行。

.ContentType (指定HTTP输出内容类型)

使用格式

Response.ContentType="内容类型"

.BinaryWrite (不经过任何转换,将指定的信息输出,它主要输出非字符信息)

使用格式

Response.BinaryWrite 二进制数据

Clear/End/Flush与Buffer属性的依赖关系

{

.Clear (把缓冲区内容清空)

.End (停止执行后面的代码,缓冲区内容仍然有效)

.Flush (缓冲区中编译完成的数据先发送到客户端)

}

.Redirect (跳转网页,必须将Buffer的属性设置为TRUE)

使用格式

Response.Redirect 网址

Request对象Cookies集合用来取得用户的相关信息

Response对象Cookies集合负责将数据设置到浏览器

写入Cookies到用户浏览器

response.Cookies("Cookies名")="Cookies值"

读取Cookies

request.Cookies("Cookies名")

另类的Cookies

response.Cookies("Cookies名")("元素")

另类的Cookies的读取

request.Cookies("Cookies名")("元素")

.expires (设置Cookies的过期时间)

使用格式

respones.Cookies("Cookies名").expires="过期的时间 (例:20xx-7-17 7:17)"分享:

初学asp心得体会 篇4

Asp.net在现在商业中应用相当的广泛,这学期我们开了这门课,那到底什么是asp呢?asp吗,它是一种包含了使用vb script或jscript脚本程序代码的网页。当浏览器浏览asp网页时, web服务器就会根据请求生成相应的html代码然后再返回给浏览器,这样浏览器端看到的 就是动态生成的网页。asp是微软公司开发的代替cgi脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。在了解了vbscript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的asp系统。asp的网页文件的格式是.asp。 现在经过三个多月的简单学习和上课听讲,初步掌握了Asp.net动态网页制作的一些简单的知识和基本常识,也能从老师讲的基本知识中简单的应用一下上课所学到的知识?感觉Asp.net网站建设和维护不是很方便,其中不仅要应用各种方面的知识还要对所学的知识学会变通使用,虽然会有一些成功的地方。但是,更多的是困惑,有太多的东西都不懂,以前学c++、数据库等一些相关知识的时候没好好学,现在想真正做好这个网站就显得不那么容易了。曾经看到网上有这么一句话,一个优秀的网络程序员不但要了解自己领域的一些专业技术,而且很多时候还要充当半个网络工程师,半个美术设计师和半个数据库管理员。照这么说来,我单单学习Asp.net是远远不够的,还要学习计算机网络、美术设计、数据库,我很喜欢有关计算机方面的东西。认为我们当代的生活越来越离不开计算机,并且我也很痴迷计算机所带来的强大功能。首先我们学习了c#,虽然c#现在不是编程员的热门语言,但在网页制作中也相当的使用。大三上学期我们有一门课是c# and development。虽然我们当时用的c#程序的开发平台是.net,但是我对.net却了解粗浅,对这门编程语言和.net的关系不太清楚。随着后来学了另一门.net的课程soa, cloud computing and sharepoint programming with microsoft .net,我才对.net这一门技术有了深入的理解。在这里,我想说一说我个人对.net的理解,希望能帮助大家更好的学习。

现在在asp的世界中,asp的应用相当的广泛,在很多方面都有有用到。一方面,用户拥有一套设备,例如 pc、移动电话、笔记本。这些设备可能放在办公室或者家里。当用户需要在办公室的某台设备或移动电话上访问家中存储的的信息(电子邮件或其他任何信息)时,问题就出现了,因为所有这些设备都将数据存储在不同的位置。用户认为需要一种个人信息空间,通过它,用户可以在家中或途中访问存储在办公室的信息,或者以相同方式从任何位置访问存储在家中的信息。另一方面,开发人员没有足够的工具来开发用户所需的解决方案。 结果是,站点虽然颇具吸引力却缺乏有效性和实用性。此外,需要为不同的设备开发不同的代码,这也使开发人员颇感为难。如果开发人员拥有某些工具,使他能够只编写一次代码,并可在多种设备中部署该代码,将可以提高开发人员的工作效率。这是开发人员的需求。

在asp中我们还学习了fso、cgi、php等,那什么是fso呢?而fso是微软asp的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。是asp编程中非常有用的一个控件。但是因

为权限控制的问题,很多虚拟主机服务器的fso反而成为这台服务器的一个公开的后门,因为客户可以在自己的asp网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。因此不少业界的虚拟主机提供商都干脆关掉了这个控件,让客户少了很多灵活性。 万维时空的w2k虚拟主机服务器具有高安全性,可以让客户在自己的网站空间中任意使用却有没有办法危害系统或者妨碍其他客户网站的正常运行。cgi是一个用于定web服务器与外部程序之间通信方式的标准,使得外部程序能生成html、图像或者其他内容,而服务器处理的方式与那些非外部程序生成的html、图像或其他内容的处理方式是相同的。因此,cgi程序册仅使你能生成表态内容而能生动态内容。使用cgi的原因在于它是一个定义良好并被广泛支持的标准,没有cgi就不可能实现动态的web页面,除非使用一些服务器中提供的特殊方法(如今,也有除cgi之外的其他技术逐渐在成为标准)。php是一种服务器端html-嵌入式脚本描述语言。 其最强大和最重要的特征是其数据库集成层,使用它完成一个含有数据库功能的网页是不可置信的简单。在html文件中, php脚本程序(语法类似于perl或者c语言)可以使用特别的php标签进行引用, 这样网页制作者也不必完全依赖html生成网页了。由于php是在服务器端执行的, 客户端是看不到php代码的。 php可以完成任何cgi脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。 php除了可以使用http进行通信,也可以使用imap, snmp, nntp, pop3协议。

在目前的网站统计系统决大部分都是cgi的,但编写起来特别复杂,而asp学起来简单,更有和数据库结合的优点,所以结合自己曾经做过的网站统计系统,和大家探讨一下asp编写网站统计系统。大家都看过网易的网站统计系统,它可以统计总访问量,每日平均访问量,当日访问量,最高访问量,最高访问日期,日流量分析,月流量分析,周流量分析,浏览器分析,等等。其实要做一个asp的访问统计系统关键是系统表结构的设计。以及如何来采集用户的cgi变量,如何来显示用户的信息。也就是说系统的关键是两个asp程序,统计程序和显示程序。采集用户名我们可以用request对象的相应方法取得,然后检查用户表判断用户是否合法,然后取信息,用我们上面讲到的取得相应信息的方法取得信息,然后进行加工保存在数据表里,但最重要的是如何对数据进行更新,如当日每小时访问统计数,当天每小时统计数等,我们如何对每天的数据进行更新是这个程式的要点,我们可以采取几种方式,如对每天的每个小时的记录的更新我们采取在每天午夜12点更新,对每月的每一天的数据我们在月份切换的那一天进行更新。随着internet的发展,web技术日新月异。继通用网关接口(cgi)之后,“asp”(active server pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行、电子商务、搜索引擎等各种互联网应用中。同时access数据库作为微软推出的以标准jet为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。因此asp+access成为许多中小型网上应用系统的首选方案。但asp+access解决方案在为我们带来便捷的同时,也带来了不容忽视的安全问题。由于access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在*.mdb文件中从地址“&h42”开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到access数据库的密码。基于这种原理,可以很容易地编制出

解密程序。由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。

前面所学到的数据访问都是web应用程序直接访问数据库。这种在web窗体中直接访问和操作数据库中数据的方式是一种低效的资源使用方式,并且有可能产生安全风险。通过存储过程访问数据库,可以有效地提高数据访问效率和数据的安全性。可以在执行复杂任务时减少窗体的编码量,降低对网络宽带的需求,通过只允许可信赖的本地存储过程直接访问数据库,可以保护数据库的安全。同时我们用到了一个容器控件repeater,当运行页面时,repeater将绑定数据源中的数据,并按照模板的要求将数据在界面上呈现出来。正是由于repeater控件没有默认的外观,所以进行界面设计的时候会感到不太直观。但repeater控件非常灵活,可以通过对模板的灵活使用,创建多种不同形式的列表,包括以特定分隔符的列表,或者xml格式的列表,同时它还能够非常精确地对界面元素进行定位。除此之外我们还添加了网络在线投票功能,网络在线投票是网络用户的兴趣、价值取向以及热点关注等信息的关注程度的一种体现,实现了在线投票功能,为了更为直观的显示和查看投票结果,将投票结果图形化是一种较好的手段。所以我们引用了一个类graphics, graphics类是gdi+图形编程中的核心类。他封装了gdi+界面的绘图方法以及图形显示设备,极大地的简化了开发人员的图形编程工程工作。通过graphics类的属性可以获取graphics对象的分辨率,并能够为graphics对象进行裁剪区域的选择和判断,而页面中图形的绘制则都是通过graphics类的实例方法实现,同时引用了web服务器控件image。image控件同img标签一样,其主要作用是在web页面中显现图片信息,其主要属性为imageurl,用于设置需要显示的图片的url地址。尽管Asp.net提供的image控件可以快速地载入图形,但却并不支持click事件。而且gdi+除了可以绘制图形和文字外,还可以绘制或编辑已有图片,为图片添加水印或裁剪图片等操作。在实际的web应用开发中,开发人员为了防止非法用户恶意批量注册或者恶意程序暴力破解密码等操作,我们相应的做了图形验证码功能,在用户身份验证时都会采用验证码技术。验证码技术可以有效防止某些特定注册用户采用恶意程序和暴力破解方式对网站进行不断的登录尝试,为此我们引用了random类,随即数在计算机应用程序设计,尤其是在实践环境模拟和测试等领域得到了非常广泛的应用。random类是一个伪随即数生成器,能够产生满足一定随即性系统要求的数字序列。既然是伪随机数生成器,产生的数字就不是绝对的随即数,而是通过一定的算法产生的伪随机数。

在本次课程学习过程中,我学到了好多东西。在此特别感谢老师教诲。老师不仅上课生动、幽默,平时上机时又悉心的指导。同时感谢学校给我们提供了非常优越的设计环境,对于我顺利完成这次asp课程的学习,本次学习起到了关键性的作用。也通过上次的实验设计学会了简单的网站设计,通过开发上次的系统,我较全面的掌握了aspt及sql的基本知识和编程技巧,并在开发过程中我的Asp.net开发能力得到了进一步的提高。如: sql语言的使用;以前学过的软件工程知识、数据库原理及操作也得到了充分的应用。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编程,先应有较长的时间去把分析做好,做好数据库设计工作,写出相关的开发文档等。然后再开始编写程序代码,这样做到每写一步代码心底有数,有条不絮。在这短短的几个月中,我知道在程序设计的时候,不要太在意程序是否最简洁灵活,对于一般开发者而言,程序规范化和可读性可能比追求程序的灵活性更加重要。在互联网资源越来越丰富的情况下,我们可以参考一些规范的程序源代码来学习。同时我也知道,想要学好这门课程,所要具备很多条件,首先打代码要规范,要做注释,这样回头来看程序时可以很快的看懂,可以练习自己的逻辑表达能力,对以后遇到难以实现的功能也可以很好的表达出来向别人请教,而且出去从事编程工作的话,代码的规范是相当重要的。还有一点要学会总结,把自己做的程序用到的知识点列出来就可以很好的总结自己的知识点。

初学asp心得体会 篇5

asp 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 active server pages(动态服务器页面) ,运行于 iis 之中的程序 。 Asp.net的前身asp技术,是在iis 2.0上首次推出,当时与 ado 1.0 一起推出,在iis 3.0发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了visual

interdev开发工具,在1994年到20xx年之间,asp技术已经成为微软推展windows nt 4.0平台的关键技术之一,数以万计的asp网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。

因为Asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在windows 20xx/20xx server/vista/7/xp/win7上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到Asp.net的web应用中。Asp.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c++和java的结合体),vb,jscript , c++、f++。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向Asp.net。

Asp.net一般分为两种开发语言,vb.net和c#,c#相对比较常用,因为是.net独有的语言,vb.net则为以前vb程序设计,适合于以前vb程序员,如果新接触.net,没有其他开发语言经验,建议直接学习c#即可。

Asp.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如Asp.net页面构架允许你建立你自己的用户分界面,使其不同于常见的vb-like界面。

Asp.net使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"zero local administration"的哲学观念使Asp.net的基于应用的开发更加具体和快捷。一个Asp.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 Asp.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的Asp.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的asp却做不到这一点。自定义性和可扩展性 Asp.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,Asp.net可以加入自己定义的任何组件。网站程序的开发从来没有这么简单过。安全性基于windows认证技术和每应用程序配置,你可以确保你的原

程序是绝对安全的。 Asp.net 的语法在很大程度上与 asp 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 asp 应用程序中逐渐添加 Asp.net 功能,随时增强 asp 应用程序的功能。 Asp.net 是一个已编译的、基于 .net 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比asp即时解释程序速度上要快很多.而且是可以用任何与 .net 兼容的语言(包括 visual basic .net、c# 和 jscript .net.)创作应用程序。另外,任何 Asp.net 应用程序都可以使用整个 .net framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 Asp.net 可以无缝地与 wysiwyg html 编辑器和其他编程工具(包括 microsoft visual studio .net)一起工作。这不仅使得 web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 web 页的 gui 和完全集成的调试支持。 当创建 Asp.net 应用程序时,开发人员可以使用 web 窗体或 xml web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义. 如果你从来没有开发过网站程序,那么这不适合你,你应该至少掌握一些html语言和简单的web开发术语(不过我相信如果有兴趣的话是可以很快的掌握的)。你不需要先前的asp开发经验(当然有经验更好),但是你必须了解交互式web程序开发的概念,包含窗体,脚本,和数据接口的概念,如果你具备了这些条件的话,那么你就可以在Asp.net的世界开始展翅高飞了。iis指 internet information services(因特网信息服务)

iis同时也是 windows nt 4.0 的可选组件此可选组件可通过因特网下载

Asp.net不仅仅是 active server page (asp) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台web服务器来建立强大的web应用程序。Asp.net提供许多比现在的web开发模式强大的优势。

Asp.net 运行的架构分为几个阶段: 在 iis 与 web 服务器中的消息流动阶段。 在 Asp.net 网页中的消息分派。 在 Asp.net 网页中的消息处理。

连接层级的对象是 session,以浏览器的运行个体为识别单位,数据依浏览器的运行个体来储存,在浏览器的运行个体第一次连到应用程序时,Asp.net会设置一个 session id,并且使用它来识别session,每一个 session 都是 icollection与ienumerate的实现,用 key 来识别数据值,并且具有时间的限制,若超出时限时服务器会自动清理掉,默认的 session 时限为 20 分钟。session id 的算法是由 rngcryptoserviceprovider (密码编译乱数产生器提供者)产生,并编码成一个 session id 字符串(例

如 anf4vuup3xiq0arjlqla2l55 这样的字符串)储存在服务器中,用以识别不同的 session 个体。

为因应不同的用户端,Asp.net 设计了不同的 session id 存放机制,像是旧式的浏览器或是行动用户端这种不支持本地储存cookie的设备时,Asp.net 可以直接在 url 中加上 session id 的识别,像是

(anf4vuup3xiq0arjlqla2l55)/profile.aspx 这样的 url,可以由开发人员自行设置,或是使用 autodetect 设置来让 Asp.net 自行判断要使用的 session id 存放方式。

session id 的产生方法可以由程序开发人员自定义,借由改写 sessionidmanager 的 createsessionid 方法来自定义。

using system;

using system.configuration;

using system.web.configuration;

using system.web;

using system.web.sessionstate;

namespace samples.aspnet.session{

public class guidsessionidmanager : sessionidmanager {

public override string createsessionid(httpcontext context) {return guid.newguid.tostring;

}

public override bool validate(string id) {

try {

guid testguid = new guid(id);

if (id == testguid.tostring) return true;

}

catch { }

return false;

}

}

}

Asp.net 是开发 web 应用程序的基础架构 (framework),除了它内部的运作方法外,对外也显露了许多的开发支持,让开发人员可以利用它来发展出许多强大的 web 应用程序解决方案。

Asp.net 最基础的底层为网页,网页由 system.web.ui.page 类来提供基础支持,包含了页面的事件以及对象绘制的引发点(page 类本身是一个 http handler 的实现品)。Asp.net 网页在微软的官方名称中,称为 web form,除了是要和windows forms作分别以外,同时也明白的刻划出了它的主要功能:“让开发人员能够像开发 windows forms 一样的方法来发展

web 网页”。因此 Asp.net page 所要提供的功能就需要类似 windows forms 的窗体,每个 web form 都要有一个区块,所有的 Asp.net 服务器控件都要放在这个区域中,这样才可以让 viewstate 等服务器控制能够顺畅的运作。

使用代码后置模式的设置时,可以让 Asp.net 运行引擎在加载网页时,由代码后置参数取得对应的类信息,藉以使用 reflection 的方式来运行后置的代码。

Asp.net 可以支持html和xhtml两种网页内容,但在visual 中,默认是使用 html,但在visual studio 20xx以后的版本,则一律都改用xhtml格式。

Asp.net 的内置控件分为两种:html 控件:直接在 html 标记中加上 runat="server",即可对应到Asp.net指定的 html 服务器控件类,像是: htmlanchor:表示 html 的 web 控件:由 Asp.net 提供,比 html 控件提供更多的功能,但操作与设置会比 html 控件要复杂许多,像是: linkbutton:一种外型为链接 htmlbutton:表示 html 的 。 htmlimage:表示 html 的 。 htmlgenericcontrol:表示没有对应到服务器控件的对象,都会被对应到这个类。 web 控件 (web control):由 Asp.net 提供,比 html 控件提供更多的功能,但操作与设置会比 html 控件要复杂许多,像是: linkbutton:一种外型为链接 (除了内置的控件之外,Asp.net 也提供了可以自定义的控件架构,并且支持两种控件开发方法:

用户控件,以.ascx 为扩展名,可以让开发人员用最轻松的方式来开发控件,优点是开发速度很快,但缺点是无法转散布,且无法加入参考。 自定义控件,可转散布型的控件,是经过编译后的代码,可单独转散布,并且可在其他的项目加入参考引用,自定义控件有三种开发模式: 基础控件:由 system.web.ui.control 类继承而来,或是由现有的 web 控件继承而来,像是由 button 控件继承。 复合控件:由 system.web.ui.webcontrols.compositecontrol 继承而来,可以用复合的方式来开发控件。 样板控件:可以在控件中使用样板,并套用数据到样板中,支持数据绑定的表达式。

以往在 asp 中常被使用的五大基本对象,在 Asp.net 中仍然持续被支持,但它们都换了一个身份来提供:

application:包装了 httpapplication 对象,在程序中使用 application 指令取得的对象,都是来自于 httpcontext.current.application 属性回传而得。 request:包装了 httprequest 对象,在程序中使用 request 指令取得的对象,都是来自于 httpcontext.current.request 属性回传而得。 response:包装了 httpresponse 对象,在程序中使用 response 指令取得的对象,都是来自于 httpcontext.current.response 属性回传而得。 session:包装了

httpsessionstate 对象,在程序中使用 session 指令取得的对象,都是来自于 httpcontext.current.session 属性回传而得。

server:包装了 httpserverutility对象,在程序中使用 server 指令取得的对象,都是来自于httpcontext.current.server属性回传而得。

目前很多人对Asp.net和asp很混淆,有的甚至认为两者是一样的!因为他们根本不了解,其实两者是不同,asp是解释性编程框架,而Asp.net是编译性框架,Asp.net无论是从执行效率和安全上都远远超过asp,而文件上也是有差异的asp的后缀是.asp 而Asp.net则是.aspx和.aspx.cs,Asp.net实现了代码分离。可以说让代码管理更加直观。

Asp.net1.0和Asp.net1.1的设计是良好的,因为在Asp.net 2.0中只有很少的改动是修复已有的特性的,Asp.net保留了同之前版本相同的基础,增加了新的、更高层此的特性支持,主要特性如下:丰富的控件 ,模板页 ,主题 ,安全和成员资格 ,数据源控件 ,web部件 ,配置文件

Asp.net3.0并不存在,微软使用.net framework3.0的名称发布了一系列的新的技术,其中最着名的有wpf,它是用于构建富客户端的全新用户界面技术,wcf使用于构建面向消息的服务技术,以及wf允许把复杂的业务逻辑过程建模为一组动作,不过.net framework3.0没有包括新版本的clr或者Asp.net。

Asp.net 在一开始的时候是缺乏范本引擎的,其主因是.net framework本身是面向对象,且需要用继承的方式才能够延伸功能,大多数的开发人员都是由 system.web.ui.page 继承并定义出新的基类,并撰写要绘制 html 的方法,以及在他们的应用程序中修改以继承该类,然而这个方法可能会被用在网站的很多地方,因而会大大的提升混合代码与标记的复杂度,这个方法也只能在运行期才能够以可视化的方式测试,无法在设计时期可视化,其他的开发人员总是使用原有的 asp方法来把每个网页需要的部份包到网页中,防止在每个网页中都要撰写相同的导览代码。

在 Asp.net 2.0 中,推出了主版页面 (master page)的概念,它可以让开发人员先行定义外观版型 (*.master),再使用它来套用实际运行的网页,网页与主版页面之间以 contentplaceholder的 id 做链接,以套用正确的内容到保留区中,开发人员也可以定义在保留区没有套用时需要显示的默认内容。在 Asp.net 3.5 中更进一步的支持设计时期的嵌套主版页面,以及把网页的 head 区块纳入 contentplaceholder 的范围。

与主版页面相关的,还有主题以及面板技术,这两个技术允许开发人员或设计人员自行定义网页的样式设置以及套用的样式支持,每个主题中可以包含数个面板档,这些面板档决定了控件要输出时套用的样式,开发人员则可以利用主题来决定不同的外观要使用的样式。