通用自助式网站开发
2013-12-29方木云
姜 伟,方木云
1 通用自助式网站系统设计思想
1.1 需要解决的问题
易懂、通用的自助式网站系统,需要解决以下几点问题:网站各子站风格必须统一,接近于主站;实现导航栏菜单和logo的自助式动态设置,达到有限增加页面,用户自己设置网站,开发者轻松的目标;建立网站的通用类型模版。
1.2 系统应用逻辑和通用框架的建立
1.2.1 系统应用逻辑
网站采用B/S(Browser/Server)结构,客户端用户使用浏览器进行访问,服务器端采用3层架构,包括表示层、应用层和数据层。表示层负责对应用的展示,提供二级网站服务的发布,包括教学网站、职能网站、教学网站及部门网站等;应用层封装业务逻辑,实现网站群的站点及站点资源管理、用户及用户权限的管理、信息采集及发布的管理等;数据层提供联机事务处理,实现数据的统一访问。
1.2.2 自助式网站建设框架设计
网站页面采用上、中、下3层框架设计,Top.aspx显示logo和导航栏,主页显示页面,Bottom.aspx显示版权信息,所有主页使用统一的Top.aspx;logo和导航栏通过一定的逻辑方法动态显示。建立公共网页目录Publicpage,存储所有自助式网站部分功能模板,根据所送参数,使模板页显示出需要显示的效果。
2 数据库设计
使用SQLSERVER 2005,在主站原数据库基础上,建立两张相关的表TopMenu和Publictable。
2.1 菜单表TopMenu
菜单表TopMenu起到动态控制导航栏菜单的作用。其中,leibie字段为部门标识,比如A部门是020,B部门是021。OID字段标识该导航栏菜单的级别和顺序,当OID为100、200…(100倍数)时,该菜单为顶级菜单显示,否则为二级菜单显示。MenuText字段标识为导航栏菜单在IE上显示的内容。URL字段标识菜单链接地址,如morepublic.aspx是目录publicpage下的公共页模版,p和q送出MenuText和leibie参数。Parented字段为0表示顶级菜单,为-1是子菜单,该字段可以被看作OID字段的补充(图1)。
2.2 通用表Publictable
通用表publictable以leibie字段和MenuText字段为外键,达到约束模板页通用部分显示内容的效果。
3 系统程序设计与算法
3.1 实现Logo的动态显示
关于实现logo动态显示的问题,我们使用了一个小技巧:因为站点每个子站都拥有自己独有的leibie字段,所以把Logo以leibie.jpg的形式保存在/image目录下,例如A部门的logo命名为020.jpg,B部门为023.jpg……以此类推。然后在Top.ascx.cs的Page_Load事件中,加入赋值img=Request[“q”].ToString();。在Top.ascx中,在Logo显示处写入html代码
3.2 实现导航栏的动态显示
实现导航栏的动态显示,还是从leibie字段入手。先在Top.ascx中,建立一个Literal控件显示导航栏,然后在Top.ascx.cs的程序中,建立一个对应Literal控件Text属性的公有对象getTopMenu()。对象中实现对TopMenu表leibie字段的一个动态查询,然后再对Parented字段进行一个条件判断:若是顶级菜单,则通过MenuContent.Append方法输出一个
- ;若是子菜单,输出一个
- 加上导航栏名。
算法:(1)定义变量leibie=Request[“q”];pub=-1;(2)建立数据库连接myConnection设计;(3)建立新的DataTable dt;实现对TopMenu表基于leibie字段等于变量leibie的查询,查询语句如下:SELECT*FROM TopMenu WHERELeibie=”+leibie+”ORDERBY OID;(4)在html代码中输出一个
标记。(5.2)若当前ParentID字段等于0且没有循环到最后一行,则在html代码中输出
- 标记头,最后将当前的ParentID赋给pub变量。(5.3)若5.2不成立,则在html代码中输出显示内容等于当前MenuText字段值、指向链接为当前row字段值的
3.3 通用自助式页面的实现
自助式页面的实现采用的是送参数到模板页的方法,即将leibie字段和MenuText字段的参数传递到公共页morepublic.aspx,然后公共页morepublic.aspx根据leibie字段和MenuText字段在通用表Publictable的映射,完成自助式页面在IE上的体现。
3.4 后台管理程序设计
针对后台管理程序设计,采用管理员权限分职责的办法。即将用户名字段和leibie字段绑定,实现中心每个部门和系部都有且只有一个管理员账户;中心另外设定一个超级管理员账户,可以管理中心所有部门管理员账户。同时,为了提高网站的安全性能,后台程序设计作出两点安全措施:(1)针对管理员账户密码,采用Md5方式加密,有效防止黑客通过入侵数据库服务器获取管理员密码。(2)后台程序登陆成功后,实现管理员离开计算机又没有关闭后台管理页面时,后台管理页面自动超时关闭。
4 结语
易懂、通用自助式网站系统的开发,着重于体现建站迅速、有限级扩展站点、对网站管理人员要求低的特点,有效提高了网站群中信息的信息资源利用率,实现了资源互补,同时节约了开发时间,减少了维护工作量。
图1 OID关系表
[1]沈俊.高校网站群的建设和方案浅谈[J].价值工程,2010(5):200-201.
[2]范江波.聚焦二级网站内容管理[J].中国教育网络,2010(2):76-78.
[3]杨迎新,赵骥.基于ASP.NET架构WEB应用程序中数据加密的几种方法[J].计算机安全,2009(10):54-56.