3.4技术方案分析 系统采用ASP+MSSQL2000,B/S模式开发。ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时,Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。ASP们最主要的工作就是为客户提供软件,数据储存甚至是数据传输的服务。客户通常使用网络浏览器从互联网上或通过私人网络来获取服务。这意味着客户不需要自己来维护或升级他们的软硬件和网络设备。脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容。 任何开发工具皆可发展ASP,开发工具简洁多样,适合各种浏览器语言相容性高 。ASP与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、JavaScript、ActiveX服务器组件来设计外,并可经由plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。 ASP程序并不会轻易地被看见进而被盗用。易于操控数据库。ASP可以轻易地通过ODBC(OpenDatabase Connectivity)驱动程序连接各种不同的数据库ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的"Application"对象或"Session"对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。隐密安全性高。 http://www.paper51.com 由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。 本系统采用的是微软公司的SQL Server 2000。SQLServer与Windows2000 Server服务器紧密集成,而Windows 2000 Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLServer 2000服务器的安全性,符合系统对安全性的要求;用户可以使用Web浏览器查询存储在SQLServer 2000数据库中的数据,符合系统远程访问数据库的要求。容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制。ASP与Windows 2000 Server/Advanced Server的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。 paper51.com 系统选择选择B/S结构,B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。这样就大大简化了客户端电脑载荷,无需安装特定客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。采用该结构软件的优势在于架构管理软件更是方便、快捷、高效:(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。 内容来自www.paper51.com
http://www.paper51.com 图3-5 B/S结构图 copyright paper51.com 页面模块化,很多页面共用的部分集成为一个模块,无须重新编写重复代码,提高了开发效率。用户或者管理员出现错误操作或者非法操作时或予以屏蔽并给出错误提示,方便修正,保证系统正常运行。 paper51.com 4系统详细设计与实现 paper51.com
4.1系统界面设计 copyright paper51.com
本系统主界面如图4-1所示: 内容来自www.paper51.com 内容来自www.paper51.com 图4-1系统界面 内容来自www.paper51.com 4.2数据库连接 http://www.paper51.com setcon=server.createobject("adodb.connection") paper51.com con.open"dsn=chen;uid=sa;pwd=sa" paper51.com
系统通过以上代码验证登陆信息,通过setcon=server.createobject("adodb.connection") copyright paper51.com con.open"dsn=chen;uid=sa;pwd=sa"完成与数据库的连接,再根据根据不同验证结果进入相应页面。 内容来自论文无忧网 www.paper51.com
4.3管理员模块功能 http://www.paper51.com 其中管理员进入的页面,如图4-2所示: http://www.paper51.com
copyright paper51.com 图4-2 管理员页面 copyright paper51.com 验证管理员的代码: 内容来自论文无忧网 www.paper51.com else http://www.paper51.com rs="select * from denglu wherename='"&username&"'and pwd='"&pwd&"'andshenfen='"&shenfen&"'" http://www.paper51.com set s=con.execute(rs) paper51.com if s.eof then http://www.paper51.com response.write" 对不起! 你没有管理员权限" http://www.paper51.com
else copyright paper51.com
session("name")=request("name") 内容来自论文无忧网 www.paper51.com response.Redirect"guanli.htm" 内容来自www.paper51.com end if copyright paper51.com 4.3.1用户资料管理 内容来自论文无忧网 www.paper51.com
用户资料管理页面如图4-3所示: 内容来自论文无忧网 www.paper51.com
内容来自www.paper51.com
图4-3 客户资料管理页面 内容来自论文无忧网 www.paper51.com 管理员有对客户资料进行填加和删除的权限, 内容来自论文无忧网 www.paper51.com <%if session("name")=empty then paper51.com response.Redirect("zcee.htm") copyright paper51.com
end if 内容来自论文无忧网 www.paper51.com
%> 内容来自论文无忧网 www.paper51.com 先进行权限判断,检查管理员的的信息是否继承。如果name为空的话就没有权限进行管理员的操作。 http://www.paper51.com setcon=server.createobject("adodb.connection") paper51.com
con.open"dsn=chen;uid=sa;pwd=sa" 内容来自www.paper51.com s="select * from denglu where shenfen='用户'" 内容来自论文无忧网 www.paper51.com set rs=con.execute(s) 内容来自www.paper51.com if rs.eof then 内容来自www.paper51.com
response.Write"还没有用户信息" paper51.com else http://www.paper51.com 然后进行数据库连接,从表“denglu”在查询用户信息,如果指针指向表尾,则显示"还没有用户信息"。 paper51.com 4.3.2站点信息管理 copyright paper51.com 站点信息管理如图4-4所示: copyright paper51.com
copyright paper51.com 图4-4站点信息管理页面 内容来自论文无忧网 www.paper51.com 站点信息管理主要是输入起点和终点还有合同号进行查询本合同执行的具体情况,如经过的站点等。进入查询页面后如图4-5所示: copyright paper51.com
http://www.paper51.com
图4-5站点信息查询 内容来自www.paper51.com
<% 内容来自论文无忧网 www.paper51.com sstart=request("start") 内容来自论文无忧网 www.paper51.com sstop=request("stop") paper51.com id=request("id") http://www.paper51.com session("sstart")=request("start") paper51.com session("sstop")=request("stop") 内容来自www.paper51.com session("nid")=request("id") paper51.com %> http://www.paper51.com
<%setcon=server.createobject("adodb.connection") copyright paper51.com con.open"dsn=chen;uid=sa;pwd=sa" paper51.com
setrs=server.createobject("adodb.recordset") paper51.com rs.open"select * from xianlu wherestart='"&sstart&"'and stop='"&sstop&"'andhetongid='"&id&"'",con 内容来自论文无忧网 www.paper51.com if sstart=""or sstop=""orid="" then paper51.com response.Write"资料不完整" copyright paper51.com elseif rs.eof then 内容来自论文无忧网 www.paper51.com response.Write"你输入的资料不存在" http://www.paper51.com
else 内容来自www.paper51.com set r=server.createobject("adodb.recordset") copyright paper51.com r.open"select count(next) as sum from xianluwhere start='"&sstart&"'andstop='"&sstop&"'andhetongid='"&id&"'",con paper51.com %> 内容来自论文无忧网 www.paper51.com <p>这次定单合同总共经过 <%=r("sum")%> 站点统计</p> http://www.paper51.com <p><ahref="zhandianguanli3.asp">查看站点</a></p> paper51.com <% r.close 内容来自论文无忧网 www.paper51.com set r=nothing copyright paper51.com con.close 内容来自论文无忧网 www.paper51.com set con=nothing 内容来自www.paper51.com
end if 内容来自论文无忧网 www.paper51.com
%> paper51.com 在执行这个页面的代码中有一个求和函数<%=r("sum")%>,其具体的执行代码为: 内容来自www.paper51.com setr=server.createobject("adodb.recordset") 内容来自论文无忧网 www.paper51.com r.open"selectcount(next) as sum from xianlu where start='"&sstart&"'andstop='"&sstop&"'andhetongid='"&id&"'",con paper51.com
把每个“下一站”做一个和运算就可以得到一个除了出发站点在外的,该合同在执行过程中所经过的站点数,在点击查看站点后还可以查询到具体经过的每个站点的名字。 paper51.com
|