• asp毕业设计——基于asp+access的中学网站设计与实现(毕业论文+程序源码)——中学网站


    基于asp+access的中学网站设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于asp+access的中学网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 本文首先介绍了internet的相关知识,接着介绍了构建动态WEB站点常用的ASP技术。然后以《中网站的设计》为例,逐一介绍了建网的系统分析、系统设计和系统实现。在系统分析中以模块功能结构图,系统分析说明书和数据流图的形式确定了系统的基本框架,然后用E-R图说明了系统的库表结构,并对各功能模块的特点作了具体分析,最后论文从网页实现功能的实现上逐一做了技术说明。在附录中则给出本系统库表结构的详细说明和本网站运行时的主要页面。
        
      2.本网站主要实现了对Web数据库的数据录入,修改,删除,查询,相关数据的分析统计等功能。

    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:11350个字31页
    包含内容:整套源码+完整毕业论文
    资源文件目录简图如下:
    请添加图片描述


    3、关键词:

    中小学网站 学校网站

    4、毕设简介

    提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

    第一章 概述
    1.1问题的提出
    省略

    1.2 学校需要走进INTERNET
    省略

    1.3、ASP简介
    Active Server Pages即ASP是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI(Common GAteway Interface 通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBSCRIPT,javascript等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。

    对于广大网页技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。
    ASP吸收了当今许多流行的技术,如IIS,ACTIVEX,VBSCRIPT,ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。可以在此找到更详细的信息:http://www.activeserverpages.com。

    ASP中最为常用的内置对象和组件如下:
    Request对象:用来连接客户端的Web页(.htm文件)和服务器的Web页(.asp文件),可以获取客户端数据,也可以交换两者之间的数据。

    Response对象:用于将服务端数据发送到客户端,可通过在客户端浏览器显示,用户浏览页面的重定向以及在客户端创建cookies等方式进行。该功能与Request对象的功能恰恰相反。
    Server对象:许多高级功能都靠它来完成;它可以创建各种Server对象的实例以简化用户的操作。
      Application对象:它是个应用程序级的对象,用来在所有用户间共享信息,并可以Web应用程序运行期间持久地保持数据。同时如果不加以限制,所有客户都可以访问这个对象。
      Session对象:它为每个访问者提供一个标识;Session可以用来存储访问者的一些喜好,可以跟踪访问者的的习惯。在购物网站中,Session常用于创建购物车(Shopping Cart)。
      Browser Capabilities(浏览器性能组件):可以确切的描述用户使用的浏览器类型、版本以及浏览器支持的插件功能。使用此组件能正确地裁剪出自己的ASP文件输出,使得ASP文件适合于用户的浏览器,并可以根据检测出的浏览器的类型来显示不同的主页。
      FileSystem Objects(文件访问组件):允许你访问文件系统,处理文件。
      ADO(数据库访问组件):它是最有用的组件;可以通过ODBC实现对数据库的访问。
      Ad Rotator(广告轮显组件):专门为出租广告空间的站点设计的,可以动态的随机显示多个预先设定的BANNER广告条。

    第二章 系统设计
    2.1 系统目标设计
    通过设计一个学校网站-广西藤县塘步镇一中网站,宣传我们学校,让社会了解我们学校,让学校走进社会,从而得到各界人士的关心和支持。达到教育更好的为社会服务的目的。

    2.2 开发设计思想
    本系统开发设计思想:
    尽量采用学校现有软硬件环境,及先进的网站系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用效果的目的。
    系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便于未参与开发的技术维护人员补充,维护。
    系统应具备数据库维护功能,及时根据学校信息的需求进行数据的添加,删除,修改等操作。

    2.3 开发和运行环境选择
    开发工具:FLASH,Adobe Photoshop ,Dreamweaver UltraDev
    服务器端运行环境:Windows+IIS。
    客户端运行环境:Windows。

    2.4 系统功能分析
    系统功能分析是在系统开发的总体任务的基础上完成的。本站需要完成功能主要有:
    新闻文章发布:学校新闻,教育科研,名校名师,学生园地,招生信息等的介绍。
    留言系统:对来访者提供网上留言,从而让学校及时得到社会的反馈,以便和社会沟通和交流。
    在线调查系统:本站提供对教育和学校的热点问题进行网上调查的专栏,来访者可以通过网上调查对热点问题投上代表自己的一票。
    流量统计系统:本站可以对流量从多方面进行统计。包括开站天数,浏览总数,当天浏览总数,上一天浏览总数,本月浏览总数,上月浏览总数,平均浏览总数。

    2.5 系统功能模块设计
    在系统功能分析的基础上,得到如图所示的系统功能模块图。
    在这里插入图片描述

    系统功能结构图
    下面我将对每个模块的总体设计作简要说明。
    1. 新闻文章发布模块
    新闻文章发布是本网站的重点。网站作为一种媒体,应当可以提供足够多的用户感兴趣的信息。广西藤县塘步镇一中网站作为学校的一个窗口,为了满足社会对学校信息的了解的愿望,本站的新闻文章主要开设五个方面的栏目。分别是:学校新闻,教育科研,名校名师,学生园地,招生信息等。对新闻文章模块的总体设计是分为前台浏览和后台管理子模块。来访者通过前台点击可以浏览到本网站有关新闻文章等各种信息。这些信息包括:学校新闻快讯信息,教育科研信息,名校和名师的各种信息,学生园地信息,学校招生相关的信息等。本后台管理子模块完成对学校新闻文章发布子模块中的五个栏目进行后台管理员才能操作的添加信息,编辑信息,删除信息等操作。

    2.留言模块
    来访者中有不少人对学校的发展和现状有很多建议和观点需要对学校提出,作为学校的窗口,所以本站需要提供让来访者发言的平台,正是由于这个原因,所以本网站设计和规划有留言模块,本模块又分为浏览着前台发言和浏览子模块以及后台管理员删除修改发言子模块。

    3.在线调查模块
    本网站对一些社会热点提供在线调查的栏目,来访者可以对网站上的社会热点问题投上代表自己观点的一票。这样就可以综合民意得到教育等热点从而决定以后的发展方向。

    4.流量统计模块
    作为管理员应该实时知道本网站的流量。流量统计的数据包括:网站开站的天数,浏览的总数,当日的浏览数,昨日的浏览数,本月的浏览数,上月的浏览数,平均来访数等。一个网站如果没有流量,那么就说明了这个网站开设的栏目没有吸引力。作为管理员就学校可以通过流量及时知道网站开设新栏目后流量是否有变化等。

    第三章 后台数据库的设计
    通过以上功能模块的分析和设计可以知道,本网站设计需要涉及到后台数据库的设计。

    在数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的问题。数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构会减小数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。

    在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。

    3.1 数据库需求分析
    数据库需求分析是数据库结构设计的第一个阶段,是非常重要的一个阶段。在这个阶段主要是收集基本数据,数据结构以及确定数据处理的流程,组成一个详尽的数据字典,为以后进一步设计打下基础。
    在仔细调查本站运作过程的基础上,我们得到本网站所处理的数据流程如图所示。
    在这里插入图片描述

    通过以上数据流程可以看出:管理员通过登录网站,输入正确的用户名和密码可以进行网站管理。进入管理状态后可以选择管理的项目,可以是对包括对管理员密码在内的系统设置信息的修改,也可以是对本网站的各种数据库中其它的信息进行后台管理,包括对学校概况,学校新闻,教育科研,名校名师,学生园地,招生信息,招聘信息等管理。管理的内容分为:对信息的添加,修改,删除,审核等操作。
    来访者可以在浏览器中输入学校网址登录网站,通过点击网站的链接浏览各种相关信息。这些信息是通过调用后台数据库中相关信息在前台显示的。

    针对本网站的数据结构,可以通过对以上对本站数据流程的内容和数据关系分析,得出以下的数据项和数据结构如下:
    ● 新闻信息:新闻类别号,标题,所属专栏,文章来源,文章作者,内容,发布时间,点击次数,关键字, 状态等。
    ● 新闻类别:类别号、类别名。
    ● 新闻所属栏目:栏目号,类别号,栏目名。
    ● 管理员信息:用户名,密码等。
    ● 留言信息:用户名,电子邮箱地址,来自地区,主页地址,OICQ号,ICQ号,头像,留言内容等。
    ● 留言后台管理员信息:用户名,密码等。
    ● 在线调查信息:调查的主题编号,主题名称,主要观点1,主要观点2,主要观点3,主要观点4,观点1的票数,观点2的票数,观点3的票数,观点4的票数。
    ● 流量统计信息:总流量,今日流量,昨日流量,本月流量,上月流量,开站日期,最后访问IP。
    有了上面的数据结构,数据项和数据流程,就能进行下面的数据库设计。

    3.2 数据库概念结构设计
    这一设计阶段是在需求分析的基础上,设计出能够满足网站设计需求的各种实体,以及确定它们之间的关系,为后面的逻辑结构设计打下基础。本网站根据上面的设计规划出的数据项和数据结构得出的实体有新闻实体,新闻类别实体,新闻栏目实体,管理员实体,留言信息实体,在线调查信息实体,流量统计实体等。
    下面详细介绍本系统主要的实体以及主要实体之间的关系。
    1:新闻实体E-R图:

    在这里插入图片描述

    2:新闻类别实体E-R图:

    在这里插入图片描述

    3:新闻栏目实体E-R图:

    在这里插入图片描述

    4:管理员实体E-R图:
    在这里插入图片描述

    4:主要的实体和实体之间的关系E-R图如图所示。

    在这里插入图片描述

    3.3 数据库逻辑结构设计
    我们需要将上面的数据库概念结构转化为ACCESS2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
    在上面的实体以及实体之间关系的基础上,我们就可以形成数据库中的表格以及各个表格之间的关系。

    根据分析阶段得出的的结论,结合本网站对有关数据的存储的需要,更加方便实现该网站预期的所有功能,现将本系统设计成5个数据库表,每个表的字段名、类型、宽度设计如下:
    数据库中各个表格的设计结果如表3-1到表3-2所示。每个表格对应在数据库中的一个表。
    表3-1为新闻信息表。
    该表用来记录存储本网站新闻信息相关的各种信息:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    以上是本系统的库表结构的设计简要说明。

    第四章 网站的实现
    完成了以上的后台数据库的设计后,下面就可以对前面系统分析阶段逻辑设计出的功能模块将技术设计转化成为物理实现,是系统建设的实现阶段。因此,网站的实现的成果将是系统分析和设计阶段的结晶。
    4.1:安装网站设计相关软件:
    省略

    4.2 建立Asp的运行环境
    省略

    4.3、主页的设计
    来访者输入网址,首先打开的就是学校网站的主页,主页设计应该美观,同时提供足够多的链接,以便来访者可以通过链接导航到自己所关心的信息页面上去。下面是该首页运行的界面图:
    在这里插入图片描述

    该页面的布局结构是 ∏型布局结构。具体的说:在网页的上面是log图片和导航条。Log图片表明网站的主题:广西藤县塘步镇一中网站。导航条将本站的栏目分成了学校概况,学校新闻,教育科研,名校名师,学生园地,招生信息,诚聘英才,校长信箱,网上留言等栏目。这些导航栏目分别设计有相应的文字链接,点击这些文字链接可以进入相应的页面。

    利用布局表格工具,设置好网页的表格布局。然后就可以在表格中添加单元格。利用表格的属性面板和单元格属性面板设定好各自的属性以后,就可以在单元格中添加文字和插入图片。
    布局设计好的网页如下:
    在这里插入图片描述

    代码设计:为了实现首页显示学校快讯,教育科研,名校名师,学生园地等文字信息以及为了方便管理。不是在每个栏目设计静态的文本信息,而是内嵌java脚本,脚本的数据源来自一个和数据库相连接的asp文件: new.asp。下面给出学校快讯,教育科研,名校名师,学生园地对应的四个java脚本语句:

    1<script language="javascript" src="news.asp?typeid=10&n=10?m=14"></script>
    2<script language="javascript" src="news.asp?typeid=11&n=10?m=14"></script>
    3<script language="javascript" src="news.asp?typeid=12&n=10?m=14"></script>
    4<script language="javascript" src="news.asp?typeid=13&n=10?m=14"></script>
    
    • 1
    • 2
    • 3
    • 4

    4.4 显示新闻的shownews.asp设计
    在首页中大量的新闻信息是通过链接到shownews.asp文件来显示新闻信息的。比如在首页中点击学校快讯中的任一新闻,就可以链接到该页面并显示该新闻的详情。

    下面是学校快讯中“广西藤县塘步镇一中教学成果显著”这条新闻后显示的页面,该新闻的链接语句是:
    shownews.asp?newsid=421
    这里的传递的参数newsid用于传递显示的新闻的编号。
    在这里插入图片描述

    该页面的设计过程首先在Dreamweaver UltraDev 4中排版设计,设计的界面如图所示:
    在这里插入图片描述

    对比实际运行的界面和设计界面可以看出,导航条的设计不是在这里直接给出,而是通过脚本调用一个js文件。这样设计的好处在与可以和其它的页面共享该导航的js文件。调用脚本的语句如下:

    <script language="JavaScript" src="newsbar.js"></script>
    该newsbar.js文件的语句如下:
    document.writeln("");
    document.writeln("  ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("    ");
    document.writeln("  ");
    document.writeln("
    学校概况学校新闻教育科研名校名师学生园地招生信息诚聘英才
    "
    );
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    另外对比shownews.asp文件还可以看出,该页面中的新闻标题和新闻内容也是调用其它的语句和脚本的。
    新闻标题调用asp脚本:<%=rs(“topic”)%>用于显示记录集中的topic字段值。该字段是通过sql语句实现的查询记录集中的字段值。相关的sql查询语句如下:

    rs.open "select * from news where newsid=" & cstr(request("newsid")),conn,1,1
    
    • 1

    该语句实现从news表中查询newsid编号等于传递的参数newsid的记录。
    对于新闻的内容显示也和新闻的主题显示类似,这里就不再说明。
    最后这里介绍一下该页面显示的与本新闻相关的新闻的实现技术:
    首先要从数据库中news表的字段说起,在news表中有一个keys字段。
    我们可以利用sql语句在news表中查询keys值和该新闻关键字类似的记录,就可以得到相关信息。Sql语句如下:

    rsc.open "select top " & aboutnews & " * from news where keys like '%" & trim(rs("keys")) & "%' and newsid<>" & cstr(rs("newsid")) & " and audit=1 order by ntime DESC",conn,1,1
    
    • 1

    4.5 更多新闻页面的more.asp设计
    在首页中的学校快讯,教育科研,名校名师,学生园地都只是显示了该类别的10条信息,如何得到更多的信息显示?需在首页之外另外设计更多信息显示的more.asp页面。在首页的导航条上面都可以链接到该页面。在首页的导航条中分别有下面的链接语句:

    1<a href="more.asp?typeid=10"></a>
    2<a href="more.asp?typeid=11"></a>
    3<a href="more.asp?typeid=12"></a>
    4<a href="more.asp?typeid=13"></a>
    5<a href="more.asp?typeid=14"></a>
    6<a href="more.asp?typeid=15"></a>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这些链接语句分别都是链接到more.asp文件,只是传递的参数不一样。Typeid=10…15分别对应学校新闻…诚聘英才。
    在本页中就是通过获得的传递参数确定sql语句查询news中的类别号等于传递的类别号的所有信息的。
    下面是传递参数为10的页面显示的界面图:
    在这里插入图片描述

    该页面显示的所有news表中typeid=10的新闻信息。
    下面给出在Dreamweaver UltraDev 4中排版设计的结果:
    在这里插入图片描述

    下面介绍该页面实现显示传递的参数的所有信息的技术:
    首先利用下面的代码实现建立一个记录集和实现sql查询:
    set rs=server.createobject(“adodb.recordset”)
    rs.open “select * from news where typeid=” & cstr(typeid) & " and audit=1 order by ntime DESC",conn,1,1
    由于在news表中typeid等于传递的参数的记录可能非常多,那么全部在一页中显示不方便,所以该页又用到了数据的分页显示技术。
    下面给出本页中用到的分页显示的代码:

    <% 
        response.write "
    " response.write "第" + cstr(curpage) + "页/总" + cstr(rs.pagecount) + "页 " response.write "本页" + cstr(i-1) + "条/总" + cstr(rs.recordcount) + "条 " if curpage = 1 then response.write "首页 前页 " else response.write "首页 前页 " end if if curpage = rs.pagecount then response.write "后页 末页" else response.write "后页 末页" end if %>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    分页技术介绍见第五章的介绍。
    在该页面的左侧,显示的有推荐内容和热点文章二类信息。
    下面来重点介绍推荐内容实现的原理:
    在推荐内容的单元格中内嵌脚本:

    脚本中调用的文件是news.asp,传递的参数是kind和n。这里的kind值为hot,n为5。
    这里的hot参数不是表示news表中某个字段的值为hot,在实现的哪些信息是属于hot类别的时候,是通过sql查询语句中的通过news表中的hits的次数反序输出。也就是说hits点击次数最多的记录显示。参数N的值传递显示信息的条数。
    实现的关键语句如下:
    sql=“select top " & n & " * from news where typeid=” & cstr(typeid) & " and audit=1 order by hits DESC"

    4.6 后台管理登录的实现
    实现登录的文件有:login.asp和check.asp二个文件。Login.asp文件提供输入用户名和密码已经校验输入的是否为空等判断。输入正确的用户名和密码是否正确是通过login.asp文件中表单提交的用户名和密码传递到check.asp文件中和数据库中user表用户名和密码对比是否正确,对正确的用户名和密码赋给一个session变量。进入到管理主页。实现的语句如下:

    session("purview")=rs("purview")
       session("name")=rs("name")
      response.redirect "admin/index.asp"
    
    • 1
    • 2
    • 3

    该session变量的作用是在不同的网页之间传递登录用户的身份。因为管理页面的权限只有管理员才能进入。所有当管理员登录时利用session来将管理员的身份在不同的管理页面间传递着。
    在这里插入图片描述

    当用户名和密码赋给一个session变量的同时也将网页转向管理主页。在管理主页的开头部分首先需要校验身份。校验的实现的方法是检查session变量是否为空。如果为空表明没有经过管理登录获得合法的session,那么就不能进入该页面。实现这个功能的语句如下:

    <%
      if session("purview")="" then
          response.redirect "../login.asp"
    	  response.end
      end if
    %>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    由以上的语句可以看出,如果session变量为空,则转向登录文件login.asp。下面是合法的session变量登录到管理主页的界面:
    在这里插入图片描述

    该页面的实现使用了框架技术。整个页面分为左右二部分,左边是用户管理操作的一个列表。右边是对应的网页。管理部分的其它页面和实现的技术这里就不再一一介绍。详情可以参见源代码文件。

    第五章 本系统的技术特色
    —— 利用session变量来跟踪和校验合法用户。
    本网站管理员登录以及管理员进入管理页面时用到了session变量。
    当用户在WEB站点的网页之间来回移动的时候,可以使用Session变量来跟踪用户。Session变量与cookie有密切的关系。实际上,session变量依赖于cookie变量。

    在本网站管理员登录进入后台管理时,需要用到session变量。便于管理员在不同的管理网页之间移动表明身份。
    首先,在check.asp文件中获得该变量。管理员登录时输入的用户名和密码传递到check.asp中和数据库中管理员用户名和密码对比。正确的用户名和密码就赋值一个session变量。具体语句如下:
    session(“purview”)=rs(“purview”)
    session(“name”)=rs(“name”)
    在后面的管理页面中首先判断session(“purview”)是否为空,如果为空的话表明没有取得合法的session身份。这样就导向到login.asp页面重新登录。
    判断session变量的语句如下:
    <%
    if session(“purview”)=“” then
    response.redirect “…/login.asp”
    response.end
    end if
    %>
    下面再介绍一些session变量的其它知识:
    session变量存活到用户离开WEB站点为止,WEB服务器是怎么检测到这件事的发生呢?在默认情况下,如果用户在20分钟之内还没有请求网页,那么WEB服务器就认为用户已经离开,通过session对象的Timeout属性可以改变这个默认的行为。
    Session.Timeout=60
    以分钟的形式声明Timeout属性值。Timeout的这个新值将应用于用户整个剩余的会话当中。

    另外在使用session变量之前,应该注意它与cookie一样的缺点,当一个客户使用的是不支持cookie的浏览器时,Web服务器不能创建ASPSessionIDcookie。没有ASPSessionIDcookie,当用户在网页之间移动时,session变量就不能与用户发生联系。因此尽可能地避免使用session变量。

    总 结
    省略

    致 谢
    省略

    主要参考文献
    作者. 书名. 出版社. 出版日期
    1.杨威·ASP3.0网络开发技术·北京·人民邮电出版社·2000年10月
    2.(美)沃尔瑟(Walther,s.),(美)莱文(Levine,J.)编著:潇湘工作室译·21天精通ASP电子商务编程·北京·人民邮电出版社·2001年3月

    附录:系统的使用
    省略


    5、资源下载

    本项目源码及完整论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    JAVA开发管理(敏捷如何解决实际痛点问题)
    【网络层】子网划分、无分类编址CIDR、构成超网、ARP协议
    QML包管理
    【算法】二分答案
    【Linux】进程地址空间
    weblogic 系列漏洞
    Android 12.0 中 清除通知 , 系统源码分析(二)
    开发笔记 03,为什么不要问别人在做什么小产品?
    【老生谈算法】matlab实现车牌识别中值滤波算法——车牌识别中值滤波算法
    ubuntu上通过修改grub启动参数,将串口重定向到sol
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/125908695