网页设计实习报告
利用ASP设计网的实习报告
今年11月,我在超想电脑公司实习,本次实习主要是参加超想电脑公司给一个地税的办公自动化系统的软件设计,此软件采用asp开发。本人在此过程中主要参与了用ASP进行网设计,包括新闻栏的创建和自动更新,以及公告栏的创建、使用和维护。通过本次设计,使我更加深入掌握了ASP网设计的技巧。下面就是本人在本次实习后的心得。
ASP是Microsoft公司推出的一种用以取代通用网关接口的技术,英文全称Active Server Pages。它是一个Web服务器端的运行环境。ASP本身包含了VBScript和JavaScript引擎,使得脚本可以直接嵌入HTML中。现将我们在ASP运用过程中的几个小技巧与大家分享。
一、新闻栏
大多数网上有新闻栏,用以显示最近新闻的主题,点击此主题即可查看详细报道。倘若每天都一条条写在网上,再依次建立链接太过麻烦。如何让其可以根据文件自动更新呢?
1.预备工作:
1)建一个文件夹,起名为\"news\",假设存于D:/ASP/目录下;
2)把每条新闻的详细内容写入文件,且此文件的命名形式为:x (newstime).htm。其中x为此条新闻的主题,newstime为此条新闻发布的时间(按年-月-日顺序写)。为什么要这样写呢?看了下面的算法思想和源程序就知道了。
2.算法思想:对于news文件夹中的文件,依据它们文件名中新闻发布的时间(即括号内的内容),从大到小排序。这样一来,最新的新闻排在最上面,只要在网相应位置显示 news文件夹中最上面的若干个文件名,因为文件名的命名方式如1中所述,就可以在新闻栏中显示最新新闻了。
3.源程序段(用VBScript编写的)
<%
Dim fs, f, f1, fc, filenum
dim count
dim i,j,t1,t2
dim file(100)
dim mystr(100)\'标志文件中日期的字符串
count=0
Set fs = CreateObject(\"Scripting.FileSystemObject\")
Set f = fs.GetFolder(\"D:/ASP/news \")
Set fc = f.Files
for each f1 in fc
count=count+1\'计文件个数
file(count)=fs.getbasename(f1)\'标记文件基名
mypos=InStr(1, file(count), \"(\")\')在文件基名中的位置\'文件基名中的日期字符串
mystr(count) = Mid(file(count), mypos + 1, Len(file(count)) - (mypos + 1))
next
for i=1 to count
for j=1 to count-i
if mystr(j)
t1=file(j)
file(j)=file(j+1)
file(j+1)=t1
t2=mystr(j)
mystr(j)=mystr(j+1)
mystr(j+1)=t2
end if
next
next
j=1
if count
temcount=count
else
temcount=10
end if
do while j
.htm\" target=\"new_window\"><%=file(j)%> <%
j=j+1
loop
%>
4.新闻栏内容更新:
只要养成良好的书写习惯,使得新闻的名称遵照1的要求,再把写好的文件存入news文件夹,新闻栏就会自动显示出最新的10条新闻了。
二、公告栏
除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网上的公告栏里自然就会显示通知内容了。
1.解决这一问题的关键在于灵活应用FileSystemObject对象和TextStream对象。在实际应用中,你无需自行建立TextStream对象,因为只要利用FileSystemObject对象打开了文件,系统便自动建立TextStream对象。也就是说,一旦调用OpenTextFile或CreateTextFile方法,便会传回TextStream对象。
2.所需相关文件有三个:更新.asp、公告.asp、维护文本.txt,把它们存入d:/ASP/maintain目录下。
3.三个文件的主要功能和源程序段:
1)更新.asp
主要功能是让用户输入欲显示的公告,检验输入内容是否为空,若不为空,则提交给”公告.asp”程序处理。
更新公告栏内容
<script language=vbscript>
function datacheck()
dim msg,errflag
errflag=true
if len(trim(maintain.t1.value))=0 then
focusto(0)
errflag=false
msg=\"请输入需提交的公告内容\"
end if
if (errflag=false) then
msgbox msg,64,\"oh no!\"
exit function
end if
datacheck=errflag
maintain.submit
end function
sub focusto(x)
document.maintain.elements(x).focus()
end sub
</script>
①