WAP网站开发实训代码及资料.docx
《WAP网站开发实训代码及资料.docx》由会员分享,可在线阅读,更多相关《WAP网站开发实训代码及资料.docx(21页珍藏版)》请在冰豆网上搜索。
WAP网站开发实训代码及资料
目录
第一章实训目的1
第二章所涉及到的技术1
第三章服务器端(IIS)配置1
第四章实训内容2
4.1总体架构2
4.2数据库表的设计3
4.2.1数据库配置3
4.2.2数据库中的表设计4
4.3用户登录模块设计5
4.3.1系统功能介绍5
4.3.2具体处理流程:
6
4.3.3代码实现6
4.3.4运行效果图8
4.4用户注册模块设计8
4.4.1系统功能介绍8
4.4.2具体处理流程:
9
4.4.3运行效果图9
4.5成绩查询模块设计10
4.5.1系统功能介绍10
4.5.2具体处理流程:
10
4.5.3代码实现11
4.5.4运行效果图12
4.6投票系统功能模块设计13
4.6.1系统功能介绍13
4.6.2具体处理流程:
14
4.6.3代码实现14
4.6.4运行效果图16
第五章实训小结18
第六章参考文献19
第一章实训目的
1掌握如何配置Web服务器,使其支持WAP应用服务
2掌握WAP网站搭建的步骤
3熟练掌握WML&WMLScript编程的基本知识
4掌握WML的动态网页编程(ASP)
5掌握WAP网站和数据库相操作的基本知识
第二章所涉及到的技术
1NokiaWapToolkit模拟器
2IIS服务器
3ASP动态网页编程
4SQLServer2005数据库
5Opera10浏览器
第三章服务器端(IIS)配置
1.开始->设置->控制面板->管理工具
->Internet信息服务
2.打开Internet信息服务
3.选择默认网站->右键->新建->虚拟目录
4.根据向导提示一步步往下做,在其过程中给出你新建虚拟目录的别名(我起名为:
aspweb);并且给出输入内容所在的目录路径(假设我们设置为C:
\aspcode)
5.选择你刚才新建立的虚拟目录aspweb,右键->属性->HTTP头页签->单击“文件类型(F)”按钮
6.单击“新类型”按钮,弹出文件类型对话框
7.在关联扩展名里填入“wml”,在内容类型(MIME)里填入“text/vnd.wap.wml”,点击确认按钮
8.重新点击单击“新类型”按钮,弹出文件类型对话框
9.在关联扩展名里填入“wmlc”,在内容类型(MIME)里填入“application/vnd.wap.wmlc”,点击确认按钮
10.重新点击单击“新类型”按钮,弹出文件类型对话框
11.在关联扩展名里填入“wmls”,在内容类型(MIME)里填入“text/vnd.wap.wmlscript”,点击确认按钮
12.重新点击单击“新类型”按钮,弹出文件类型对话框
13.在关联扩展名里填入“wmlsc”,在内容类型(MIME)里填“application/vnd.wap.wmlscriptc”,点击确认按钮
14.重新点击单击“新类型”按钮,弹出文件类型对话框
15.在关联扩展名里填入“wbmp”,在内容类型(MIME)里填入“image/vnd.wap.wbmp”,点击确认按钮
16.此时服务器端配置成功
第四章实训内容
4.1总体架构
综合WML&WMLScript、ASP和SQLServer实现一个简单的学生信息系统。
其中包括用户登录模块、用户注册模块、查询学生成绩的功能模块、给班级干部投选票的模块。
学生先进行登录,存在登录成功和失败两种情况。
如果登录失败,则不允许进行其他操作;只有登陆成功,才允许查询成绩,并且登录成功的同学,可以给自己想选择的班委投上一票,以便于新班委名单的产生。
总体架构如图4-1所示。
图4-1总体架构
4.2数据库表的设计
4.2.1数据库配置
1.开始->程序->MicrosoftSQLServer2005->SQLServerManagementStudio
2.连接到服务器
3.展开数据库服务器->展开安全性->展开登录名
4.右键单击sa,选择属性进入
5.选择常规,删除原先的密码,输入新的密码123456
6.选择状态,登录由原来的“禁用”状态改为“启用”状态,设置完以后点击确定
7.选择数据库服务器,点击右键,选择“属性”进入
8.点击左侧“安全性”,在右边的“服务器身份验证”中选择“SQLServer和Windows身份验证模式”,点击确定,弹出提示“需要重新启动服务器,刚才的设置才有效”的提示
9.选择数据库服务器,点击右键,选择“重新启动”进入,在弹出的提示中,选择“Y”,然后开始重新启动数据库的过程
10.断开当前数据库连接
11.重新连接数据库,选择“SQLServer身份验证”,并输入用户名和密码,如果登录成功,则表示刚才的配置成功
12.选择“数据库”->右键->新建数据库
13.为新建数据库起一个名字(我的数据库名为mydb)
14.此时数据库端配置成功
4.2.2数据库中的表设计
在数据库中总共包含4个表,下面分别介绍
student表如表4-1所示
表4-1student表
字段
类型
默认值
描述
sid
int
notnull
学生学号
sname
nchar(10)
null
学生姓名
spassword
nchar(10)
null
用户密码
flag
int
null
登陆次数及判断投票条件
student_course表如表4-2所示
表4-2student_course表
字段
类型
默认值
描述
sid
int
notnull
学生学号
cid
int
notnull
学生课程号
score
float
null
学生成绩
course表如表4-3所示
表4-3course表
字段
类型
默认值
描述
cid
int
notnull
学生课程号
cname
nchar(10)
null
课程名
present表如表4-4所示
表4-4present表
字段
类型
默认值
描述
sname
nchar(10)
null
候选同学名
num
int
null
选票数
4.3用户登录模块设计
4.3.1系统功能介绍
1用户输入学生姓名和密码
2提交用户输入的学生姓名和密码到服务器端
3查询数据库中的学生信息表,并查看有无此学生信息
4如果有此学生信息,则提示用户登陆成功;如果无此用户信息,则提示用户登陆失败,并返回到登录界面,让学生进行重新输入。
4.3.2具体处理流程:
如图4-3所示:
图4-3登录流程图
4.3.3代码实现
登录的ASP代码:
loginasp.asp
<%Response.ContentType="text/vnd.wap.wml"%>
xmlversion="1.0"encoding="gb2312"?
>
DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.3//EN""http:
//www.wapforum.org/DTD/wml13.dtd">
<%
aname=Request("username")
passd=Request("password")
ifaname=""then
Response.Write"用户名为空!
"
Response.Write"登录失败"
Response.Write""
Response.Write""
Response.Write""
Response.Write"
"
Response.end
endif
Dimconn,records,sqlQuery
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"DRIVER={SQLServer};database=mydb;Server=(local);uid=sa;pwd=123456;"
sqlQuery="SELECT*FROMstudentWHEREsname='"&aname&"'ANDspassword='"&passd&"'"
Setrecords=Server.CreateObject("ADODB.Recordset")
Setrecords=conn.Execute(sqlQuery)
ifrecords.EOFthen
Response.Write"登录失败!
密码错误!
"
Response.Write""
Response.Write""
Response.Write""
else
flag1=records("flag").value
flag1=flag1+1
sqlServer="updatestudentsetflag="&flag1&"wheresname='"&aname&"'"
Setrs=Server.CreateObject("ADODB.Recordset")
rs=conn.Execute(sqlServer)
Response.Write""&records("sname")&"登录成功!
"
Response.Write"请任意选择一项:
"
Response.Write"成绩查询"
Response.Write""
Response.Write"
"
Response.Write"班委投票"
Response.Write""
Response.Write""
endif
records.close
Setrecords=nothing
%>
4.3.4运行效果图
其运行效果图如图4-3所示,其中登录界面如图4-3中的(a)图所示,登录成功如图4-3中的(b)图所示,登录失败如图4-3中的(c)图所示。
(a)(b)(c)
图4-3个人信息管理模块运行效果图
4.4用户注册模块设计
4.4.1系统功能介绍
1用户输入要注册的用户名和密码
2提交用户输入的用户名和密码到服务器端
3查询数据库中的用户信息表,并查看有无此用户信息
4如果有此用户信息,则提示用户已存在;如果无此用户信息,则进行插入功能,并返回到首页,让用户进入登录界面。
4.4.2具体处理流程:
如图4-4所示:
图4-4注册流程图
4.4.3运行效果图
其运行效果图如图4-4所示,其中注册界面如图4-4中的(a)图所示,注册成功如图4-4中的(b)图所示,注册失败如图4-4中的(c)图所示。
(a)(b)(c)
图4-4用户注册模块运行效果图
4.5成绩查询模块设计
4.5.1系统功能介绍
1用户登录成功后,可以查询任意一个同学的成绩;
2用户进入查询界面,,输入想要查询学生的学号后,直接点击查询按钮就能够显示指定学号学生的各科成绩;
4.5.2具体处理流程:
如图4-5所示:
图4-5成绩查询流程图
4.5.3代码实现
成绩查询的ASP代码:
queryscore.asp
<%
id=request("stud_id")
'利用Server对象的CreateObject方法建立Connect对象。
Setconn=Server.CreateObject("ADODB.Connection")
'打开连接数据库
strProvider="Driver={SQLServer};Server=(local);Database=mydb;UID=sa;PWD=123456;"
conn.OpenstrProvider
'建立查询命令,选择student_course表的指定学号的所有记录项。
sqlQuery="selecta.snameas姓名,ameas课程名,c.scoreas成绩fromstudentainnerjoinstudent_coursecona.sid=c.sidinnerjoincoursebonc.cid=b.cidwherea.sid="&id
'执行查询。
rs是RecordSet对象。
Setrs=Server.CreateObject("ADODB.Recordset")
Setrs=conn.Execute(sqlQuery)
Response.Write"学号为"&id&"的学生成绩如下所示:
"
'建立一个表,把查询得到的结果保存到表中。
Response.Write""
'表头
Response.Write"
"Fori=0Tors.fields.count-1
Response.Write"
"&rs(i).name&" | "Next
Response.Write"
"
'把查询结果,填入表中。
Whilenotrs.EOF
Response.Write"
"Fori=0Tors.fields.count-1
Response.Write"
"&rs(i).value&" | "Next
Response.Write"
"
rs.MoveNext
Wend
Response.Write""
Setconn=nothing
%>
4.5.4运行效果图
其运行效果图如图4-5所示,其中成绩查询界面如图4-5中的(a)图所示,输出成绩结果页面如图4-5中的(b)图所示,。
(a)(b)
图4-5成绩查询模块运行效果图
4.6投票系统功能模块设计
4.6.1系统功能介绍
1用户进行投票
2用户进入投票页面
3提交用户输入的用户名到服务器端
4查询数据库中的记录表,并查看有无此用户信息
5如果有此用户信息,则提示已经投过票了如果没有就就进行投票
6查看候选人的得票数。
4.6.2具体处理流程:
如图4-6所示:
图4-6班委投票流程图
4.6.3代码实现
投票系统的ASP代码:
vote.asp
<%Response.ContentType="text/vnd.wap.wml"%>
xmlversion="1.0"encoding="gb2312"?
>
DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.3//EN""http:
//www.wapforum.org/DTD/wml13.dtd">
<%
stud_name=Request("sname")
id=Request("stud_id")
Dimconn,rs,sqlServer
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"DRIVER={SQLServer};database=mydb;Server=(local);uid=sa;pwd=123456;"
sqlQuery="SELECT*FROMstudentainnerjoinpresentbona.sname=b.snamewheresid="&id
Setrecords=Server.CreateObject("ADODB.Recordset")
Setrecords=conn.Execute(sqlQuery)
ifrecords("flag").value>1then
Response.Write"您已经投过票了,不能再投了!
"
else
sqlServer="SELECT*FROMpresentWHEREsname='"&stud_name&"'"
Setrs=Server.CreateObject("ADODB.Recordset")
rs=conn.Execute(sqlServer)
snum=rs("num").value
snum=snum+1
sqlServer="updatepresentsetnum="&snum&"wheresname='"&stud_name&"'"
Setrs=Server.CreateObject("ADODB.Recordset")
rs=conn.Execute(sqlServer)
Response.Write"您已经成功投票给"&stud_name&"
"
Response.Writestud_name&"目前的票数是"&snum&"
"
Setconn=Server.CreateObject("ADODB.Connection")
strProvider="Driver={SQLServer};Server=(local);Database=mydb;UID=sa;PWD=123456;"
conn.OpenstrProvider
Command="select*frompresent"
Setrs=conn.Execute(command,recordsAffected,adcmd)
Response.Write"目前的投票情况为:
"
Response.Write"
"Response.Write"
"&"
"Fori=0Tors.fields.count-1
Response.Write"
"&" | "Next
Response.Write"
"Whilenotrs.EOF
Response.Write"
"&"
"Fori=0Tors.fields.count-1
Response.Write"
"&rs(i).value&" | "Next
Response.Write"
"&"票"&"
"rs.MoveNext
Wend
Response.Write"
"
endif
Setconn=nothing
Response.Write""
Response.Write""
Response.Write""
%>
4.6.4运行效果图
其运行效果图如图4-6所示,其中投票界面如图4-6中的(a)图所示,投票结果如图4-6中的(b)图所示,投票失败界面如图4-6中的(c)图所示。
(a)(b)(c)
图4-8投票功能模块运行效果图
第五章实训小结
虽然这次实训只有一个星期的时间,但是我还是学到了很多,至少增
强了我动手编程的能力。
当然,从这次实训中也发现了自己还有很多
足。
例如,上课讲的内容还没吃透,所学知识不能灵活运用,把老师
布置的任务完成了就了事了,不想再扩展功能等等。
因为我们对asp动态网页编程语言的基本语法结构,各个对象的方法、
集合、属性还是不是很了解,尽管老师上课基本上已经讲过,但我们
有VB语言的基础及我们下课之后很少复习上课的知识,再加上我们
大部分自学的积极性还不高,所以,存在的问题主要还是asp方面。
如果不是老师提供了登录asp的代码,加上以前老师上课讲课用的
asp例子,我想我们的情况更严重。
在这次实训中,我也遇到了不少问题,当然最后都解决了。
如asp程
序中双引号匹配问题;不同的的链接为什么链接到同一个卡片;投票
的票数为什么没有自动增加等等。
我想在这次实训中,我最得意的就是成绩查询部分用的关联查询和在
Student表里增加了一个flag字段(flag有两个用途,一是记录用
户登录的次数,二是限制投票时判断的条件)。
当然,这些很简单或
者别的同学也做出来了,但至少我思考了。
我知道在软件技术这个的行业,虽然前景很好,待遇很高,但竞争力
很大,没有扎实的基础,大量的编程经验以及很强的自学能力,是很
难再这个领域立足的。
说到底,就是兴趣。
我想只要对某一行感兴趣
的话,再大的困难也会克服的,最怕的是对这行不感兴趣。
当然,不
是每个人一开始对某一行感兴趣的,而是在这行中因为做成功某事有
了成就感以及得到周围人的“认可”,就逐渐对这行感兴趣了。
我们学习也一样,所以,要把每一件小事做好,比如每一次的实训,
我想,不管以后你干哪一行,你都会得心应手。
第六章参考文献
参考文献
1刘新娥.WAP&WML网站开发.南京信息职业技术学院,2010.1.