仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 453|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计ASP初学者必看:静态网页应当注重的一些...

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。初学|静态|网页|成绩关于用ASP手艺编程的初学者来讲,无从动手是第一感到,笔者已经有这么一段履历。经由一番"劫难"今后,你就会找到灵感。现将自己编程中堆集的一些履历,拟本钱文,贡献给读者。

1起首要进修一些例子程序。

接就任务后,不要自觉地急于编写代码,而是先看一下他人乐成的例子,然后在其上修正或仿照调试,如许会加速你熟习的速率。比方,关于ASP编程的教科书上常常有这么一个例子呈现,即显现体系以后工夫的语句:<%=now()%>,别看这么复杂的一条语句,里边却包括了ASP的编程头脑和格局,会给你后边的事情带来很年夜的匡助。好比说,测试IIS(InternetInformationServer)WEBSERVER是不是一般事情,用上边的一个语句测试就充足了。

2在WINDOWSNT上安装ODBC后,要测试和背景数据库的确连通后,再入手下手编程测试。
大概您没有看懂标题的意义,我在这里注释一下:好比说,背景数据库是ORACLE,那末在NTSEVER上起首要安装SQL*NET(或NET8),然后设置ODBC,断定和ORACLE数据库连通,能够用SQL*PLUS测试,还要选择和ORACLE数据库不异的字符集,这个事情要在注册内外完成。最初在ODBC里边测试和ORACLE数据库连通后,申明WEBSERVER到背景数据库真个事情就完成了,下边再入手下手编程事情。反过去,你若先编程,后做ODBC的事情,那末你没法调试程序是不是准确,大概年夜年夜下降编程效力。在ODBC设置中要选择MICROSOFTODBCFORORACLE,不要选择ORACLEODBCDRIVER,不然不克不及和数据库创建接洽。

在ASP程序中,和数据库毗连的语句是对照流动的,举比方下:
SetConn=Server.CreateObject("ADODB.Connection")
Conn.Open"odbclink","o7people","peoplepd"
在这里,odbclink是数据源的名字,能够说成是ODBC和数据库毗连的界说,o7people是ORACLE的一个用户名,peoplepd是用户o7people的暗码。
3纪录下堕落信息,寻觅纠错纪律。
在编程、调试过程当中,是一个堕落、纠错的轮回历程,可是工夫长了,会发明一些纪律,扫除毛病的效力会年夜年夜进步。
3.1堕落信息:
MicrosoftOLEDBProviderforODBCDrivers毛病80040e14
[Microsoft][ODBCdriverforOracle][Oracle]ORA-00933:SQLcommandnotproperlyended
/default.asp,行781
这类毛病,通常为在实行Conn.Execute("SQL语句")操纵时,所界说的"SQL语句"有成绩,反省此语句就可以发明成绩,如日期格局不合错误,等等。
zhezhong
3.2堕落信息:
ADODB.Field毛病800a0bcd
BOF或EOF中有一个是"真",大概以后的纪录已被删除,但使用程序请求操纵的是以后的纪录。
/lzjsblr.asp,行123
这个毛病,一样平常产生在实行以下语句的过程当中:
setRS=Conn.Execute("SQL语句")
varnum1=RS(0)
RS.CLOSE
所取的值RS(0)偶然义或偶然义,还要反省"SQL语句"的准确性。
3.3堕落信息:
MicrosoftVBScript编译器毛病毛病800a0409
未停止的字符串常量
/people/default.asp,行86
insert_sql=insert_sql&dwdm&","&d1&","&t1&","&t2&",
--------------------------------------------------------------------------^
次项毛病也是出在SQL语句的界说上,反省引号、单引号等的配对情形。
4下边是一个基于扫瞄器的网上用户注册挂号程序,笔者在里边使用了一些技能,贡献给感乐趣的读者。
<html>
<head>
……
<
<%和数据库毗连
SetConn=Server.CreateObject("ADODB.Connection")
Conn.Open"odbclink","o7people","peoplepd"
将选择的数据放当选择框
SetRS=Conn.Execute("SELECTdwmcFROMtab_dworderbydwdm")
%>
<%DoWhileNotRS.EOF%><option><%=RS(0)%></option>
<%
RS.MoveNext
Loop
RS.Close
%>
<%
界说变量
DimD1,D2,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,csrq,sqrq
事务触发按钮
B1="commit"
B2="return"
%>
<%
将信息初始化
SubReset()
D1=""
……
T9=date()
T10=""
EndSub
%>
<%
CallReset()
%>
<%
信息提交前提(触发前提)
ifRequest("B1")="commit"ThenSaveButton
D1=Request("D1")
setDWDM_RS=Conn.Execute("SELECTdwdmFROMtable_dwwheredwmc="&D1&"")
DWDM=DWDM_RS(0)
DWDM_RS.CLOSE
D2=Request("D2")
……
日期数据转换成ORACLE辨认的格局
csrq=DAY(T6)&"-"&month_array(Month(T6))&"-"&Year(T6)
sqrq=DAY(T9)&"-"&month_array(Month(T9))&"-"&Year(T9)
界说SQL语句
Sql_insert="INSERTINTOpeopleuser(dwdm,dwmc,sjks,tele,address,zipcode,xm,xb,csrq,peoplename,peoplepd,sqsj,bz)VALUES("
Sql_insert=Sql_insert&DWDM&","&D1&","&T1&","&T2&","&T3&","&T4&","
Sql_insert=Sql_insert&T5&","&D2&","&CSRQ&","&T7&","&T8&","&SQRQ&","
Sql_insert=Sql_insert&T10&")"
将信息进库
SetLFMC_R4=Conn.Execute(Sql_insert)
信息提交完成后,将屏幕信息初始化
callreset()
endif
%>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  1、计划计划
  如今是模块化程序计划的世界,使用程序要完成的方针就是金字塔尖,举行程序计划计划的意义就在于,对组成金字塔的基本模块举行分别,计划得越具体,模块合作越明白,越简单分明下一步该做甚么,这比如搭积木的游戏,你能够把你的积木块组分解林林总总的外形,但起首要熟习每一个积木块的功效。

  2、未雨绸缪
  实战之前,先找几个样例程序研讨研讨,最最少分明怎样开首,怎样开头,别打无筹办之仗。

  3、葵花宝典
  做一份所用程序言语的精简列表,包含基础数据范例、各种运算符申明、基础语句布局、经常使用关头词(保存字)、经常使用函数(控件)申明等等。

  4、自在自力
  为你的使用程序创建一个独自的目次,如许既便利使用程叙文件的办理,并且假如你要给程序搬“家”,卷起展盖就能够走人了。

  5、见名知意
  程序再小,用的变量也不会少,变量起名应该见名知意是个老话题了,优点是不言而喻的。保举程序员利用“匈牙利定名法”,它会使你的起名事情变得十拿九稳,并且相称专业。

  6、对称之美
  中国人考究对称之美,用在编程里也很符合,假如程序里用到A轮回嵌套B判别,B判别又包括C轮回之类的布局,记住利用缩进法,让A:ENDDO对齐A:DO,B:ENDIF对齐B:IF……诸云云类,顺次缩进,总之对称就即是美妙加易读。

  7、多加注解
  对程序中自界说的变量、函数、子程序加以功效性的正文申明,别嫌贫苦。假如过了三月蒲月,连本人写的器材都看不分明了,那才年夜贫苦。

  8、情况回护
  假如使用程序必要修正体系设置,记住使用入手下手前先保留设置,使用停止后要恢复设置,万万别净化情况。

  9、拿来主义
  一团体的力气是无限的,人人的力气是无穷的,平常多看看他人的程序,假如可巧有好的履历,巧的办法,用得上的段子,无妨拿来。

  10、忍者无敌
  当你以为程序代码写的“百分百”准确,而程序编译实行百分百有偏差,你基础属于晕菜的时分,万万要忍,歇口吻,重头来,别保持!信任终极的成功是属于你的!

。。。。。。。。。。。。。。。。。。。。。

1.纪录集封闭之前再次翻开:
------------------------------------
sql="select*fromtest"
rs.opensql,conn,1,1
ifnotrs.eofthen
dimmyName
myName=rs("name")
endif
sql="select*frommyBook"
rs.opensql,conn,1,1
-------------------------------------
办理:在第二次rs.open之前先封闭rs.close

setrs1=server.createobject
rs1.opensql,conn,1,1

2,用SQL关头字做表名或字段名
-------------------------------------
sql="select*fromuser"
rs.opensql,conn,1,1
-------------------------------------
user为sql关头字
办理:改成
sql="select*from[user]"


3,用锁定体例往举行update
-------------------------------------
sql="select*from[user]"
rs.opensql,conn,1,1
rs.addnew

rs("userName")="aa"
rs.update
-------------------------------------
以后纪录集的翻开体例为只读
办理:
改成
rs.opensql,conn,1,3

4,在查询语句中接纳的对照字段值与字段范例不符
-----------------------------------------
sql="select*from[user]whereid="&myID&""
rs.opensql,conn,1,1
-----------------------------------------
假定表中计划ID为数字型,那末些时堕落。
办理:
sql="select*from[user]whereid="&myID

5,未反省变量值而堕落
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假定myID变量此时价为null,那末sql将成为
sql="select*from[user]whereid="
办理:
在后面加上
ifisnull(myID)then堕落提醒

6,未反省变量值范例而堕落
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假定id为数字型,myID变量此时价不为null,但为字符,好比myID此时为"aa"
那末sql将成为
sql="select*from[user]whereid=aa"
办理:
在后面加上
ifisnumeric(myID)=falsethen堕落提醒

这也能够无效避免sqlinjection毛病打击。

7,因为数据库文件地点目次的NTFS权限而引发的不克不及更新。数据库或工具为只读"毛病。
申明:
WIN2K体系持续了WINNT体系的NTFS权限。
关于体系中的文夹都有默许的平安设置。
而经由过程HTTP对WWW会见时的体系默许用户是iusr_盘算机名用户,它属于guest组。
当经由过程HTTP会见时,能够ASP或JSP,也或是PHP或.NET程序对数据举行修正操纵:
好比:
当翻开某一个文章时,程序设定,文章的浏览次数=原浏览次数+1
实行
conn.execute("updateartssetclicks=clicks+1whereid=n")
语句时,假如iusr_盘算机名用户没有对数据库的写权限时,就会堕落.
办理办法:
找到数据库地点目次
右键》属性》平安选项卡》设置iusr_盘算机名用户的写权限(固然,也能够是everyone)
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
admin 该用户已被删除
沙发
发表于 2015-1-19 06:03:01 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
乐观 该用户已被删除
板凳
发表于 2015-1-24 08:57:08 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
精灵巫婆 该用户已被删除
地板
发表于 2015-1-31 22:45:02 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
蒙在股里 该用户已被删除
5#
发表于 2015-2-7 01:12:08 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
深爱那片海 该用户已被删除
6#
发表于 2015-2-19 06:49:02 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
变相怪杰 该用户已被删除
7#
发表于 2015-3-6 13:40:52 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-13 01:09:43 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
小魔女 该用户已被删除
9#
发表于 2015-3-20 09:04:52 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-18 16:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表