校园导航系统的设计与实现

 技术:Java、JSP
摘要:
当今,人类社会已经进入信息全球化和全球信息化、网络化的高速发展阶段。丰富的网络信息已经成为人们景点、生活、学习中不可缺少的一部分。人们正在逐步适应和习惯于网上贸易、网上购物、网上支付、网上服务和网上娱乐等活动,人类的许多社会活动正在向网络化发展。校园导航是一项对信息的需求量比较大的活动,特别是在大学校园中,众多的学生面临着开学难,传统的校园介绍方式已经越来越不能满足他们的要求。建设一个校园导航网站也必然得到广大学校和学生的强烈支持。
因此本人结合网站数据库开发的要求,对MYSQL数据库管理系统、SQL语言原理、JSP应用程序设计等进行了较深入的学习和应用,主要完成导航业网站的功能需求分析、功能模块划分、数据库设计,并由此设计了数据库结构和应用程序。本文则介绍了建设校园导航信息网站的完整过程。其中分别从需求分析、总体设计和详细设计等几方面介绍了怎样实现校园在信息网中进行注册、发布,管理景点信息和景点会管理等。
关键字:导航网站,景点,SQL,JSP

目录:
摘要    1
Abstract    2
目录    3
1 引言    5
1.1    课题背景和意义    5
1.2    研究现状    6
1.3    本课题研究路线    6
2 平台开发工具    7
2.1 JSP技术    7
2.2 Javabean    8
2.3 JSP内置对象    9
2.4配置站点    9
2.4.1 JDK的安装和配置    9
2.4.2 Tomcat的安装和配置    10
2.5数据库理论    11
2.5.1 MYSQL 简介    11
2.5.2客户端—服务器组件    12
2.5.3客户端—服务器通信过程    13
2.5.4 MYSQL 服务    13
2.5.5 MYSQL常用工具    14
2.5.6 MYSQL数据库的系统数据库    14
3    系统需求分析    16
3.1系统概述    16
3.2 可行性研究    16
3.2.1 经济可行性    16
3.2.2 技术可行性    16
3.2.3 运行可行性    16
3.2.4 时间可行性    16
3.2.5 法律可行性    17
3.3功能需求分析    17
3.3.1系统总体流程图    17
3.3.2    系统功能总结    18
4    系统总体设计    19
4.1 系统总体设计    19
4.2 系统模块    19
4.2.1系统模块划分    19
4.2.2 功能模块描述    19
4.2 数据库设计    20
4.2.1学生用户表    20
4.2.2校园用户表    21
4.2.3管理员表    21
4.2.4 公告表    22
4.2.5 景点信息表    22
4.2.6 景点会表    22
4.2.7 留言表    23
4.2.8 文档表    23
4.2.9 新闻表    23
5    系统实现    24
5.1 概论    24
5.2 首页的设计    24
5.2.1 景点会信息    24
5.2.2 文档下载页面    25
5.2.3 景点信息页面    25
5.3 学生用户注册登陆的实现    26
5.3.1 实现注册    26
5.3.2  实现登陆    26
5.4 管理基本信息的实现    27
5.5管理景点信息的实现    27
5.5.1 实现发布景点信息    27
5.5.2 实现删除景点    27
5.6 管理员管理信息的实现    28
6    网站的测试    29
6.1 测试的目的    29
6.2 测试的环境    29
6.3 测试的部署    30
6.4 网站的负荷测试    30
致 谢    32
参考文献    33

论文字数:11808
包含资料:

 


截图:

 

 

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现简单的查询,各风景的查询,调用各函数,实现课程设计的目标。其中包含三个功能,一个是直接进入导航系统,利用主函数中已有的数据,进行查询:一个是进行创建数据,本程序中初始数据为农大的导航数据,如果需要也可以自己建立一个;最后一个是退出功能。设计该函数的目的是为了能够多次得应用dijkstra函数进行查询最短路径。同时该函数可以列出各景点的代号和对应的名称,这样大家只要输入代号就行了。方便进行查询。下面分别描述这些函数,建立它们函数原型。 1、主函数 函数原型:void main(void) 功 能:控制程序。 参 数:void 返 回 值:void 要 求:管理菜单命令并完成初始化。 2、菜单选择和处理函数 函数原型:int menu() 功 能:处理选择的菜单命令并接收用户选择的命令代码。 参 数:int 返 回 值:int 工作方式:返回命令代码的整数值,根据命令,调用相应函数。 要 求:只允许选择规定键,如果输入不合要求,则提醒用户重新输入。 3、建立邻接矩阵函数 函数原型:void createadj() 功 能:重新建立一个学生信息的记录。 参 数:void 返 回 值:void 工作方式:在需要的时候就可以有主菜单中调用 void createadj()函数。 要 求:必需输入信息记录,然后才能调用出search()函数进行查询。 4、dijkstra函数 函数原型:void dijkstra(intx,inty) 功 能:求两点间的最短路径 参 数:void 返 回 值:void 工作方式: 该函数被其它一些函数调用。 5、结束程序 函数原型:int Exit() 功 能:使程序正常结束运行 参 数:int 返 回 值:1 工作方式:在操作都完成后,可以调用int Exit()函数,使函数最终返回 1 运行exit(1),程序正常结束。 要 求:运行Exit()函数后可以选择是否要保存,选择y则先保存再返 回1值;如果选择n直接返回1值。详细的程序设计应从下到上,在本设计中就要先设计createadj函数;然后设计dijkstra函数;接着是search函数;menu函数;最后才是main函数。如此设计能大大提升设计速度,因为从下往上使编程时的高试过程简单许多,而做课程设计花费时间最多的就是调试过程。对于各函数的详细设计,各函数的N—S图如下: (1)Createadj函数 (2)Dijkstra函数          (3)Search函数          (4)Menu函数          (5)main函数          2.4 程序编码   把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;编写过程中参考各种的教材和材料,使程序编写的正确性大有提高,同时也许到许多实践知识,增加了实践经验。 2.5 程序调试与测试    程序编写总是出现各种各样的错误,但是难点不是修改错误,而是找出错误。在大量的源程序中找出错误难度很大,但有了一定的方法,就能节省大量的时间,在这次课程设计中我运用的调试方法主要有2种:     一是借助调试工具。利用Turbo C中提供的程序专门调试工具Debugger程序,可以很容易找出程序中的各种语法错误。但是遇到一些逻辑错误时却又无从着手。这时我就用下面一种方法。     二是在程序中插入打印语句。猜测出大致的错误位置,选则一些主要变量,在关键部位插入打印语句,打印出这个主要变量,看其是否与理论上的一样,在多个位置插入,如果有个位置的值与理论值一样,另一个位置与理论值不一样,则错误就落在这两个位置之间,然后再多测试几个位置缩小范围,直到找出错误。  例如;我在调试main()主函数时,程序能够运行,三个选项都能选择,创建函数能够正常运行,也能正常退出,但在选第一条进入校园导航后,打印出来的列表却是空的,源程序中的初始化数据没有显示出来,我又尝试输入两个结点进行查找,发现没有输出路线,所以我猜测初始化数据没有被正常写入。但不知道为何没有被正常写入,首先怀疑是初始化时附值发生错误,查阅各种资料进行校验,发现没有错误。后来经过综合分析,发现最有可能是n值在search()函数中发生错误,于是我在search()函数中插入打印n 的语句,运行后发现输出的n为0,初始化数据中有11个结点,n应该为11,所以n 在这个地方发生错误,我又在main()主函数中打印出n 的值,n=11,是正确的。所以错误就在search()函数中,也就说是当运行case1,运行到search()函数时,n从11变为0,针对这个错误,我把变量n改为宏定义,因为n 是代表结点个数,不管在哪个函数中它的值都是一样的才对。改完后运行程序,成功! 本设计文件的注释如上,已给出详细的说明,下面仅以文件为单位说明各个函数的作用和特点,在必要的地方给予一定说明。  3.1、guide.h文件 使用条件编译。以下是头文件中语句 /********************************************* *头文件(.h) ********************************************/ #include "stdio.h" #include "conio.h" #include "alloc.h" #define n0 100 #define infi 32767 /*“无穷大*/ int adjmatrix[n0+1][n0+1];     /*邻接矩阵*/ int n=11; struct node             /*表结点*/ { char name[20];       /*下一个表结点与它们之间的距离*/ }place[12]={{"ShiDiGongYuan"},   /*表结点初始化,即写各景点名称*/    {"CangRongGongYu"},    {"YinHuiLou"},    {"TuoHuanGuanChang"},    {"DiBaShiTang"},    {"XiaoYiYuan"},    {"TuShuGuan"},    {"TiYuGuan"},    {"ZhongHuaGuanChang"},    {"ChuangXinLou"},    {"YiFuTuShuGuan"},    {"BoXueLou"}};  void createadj()          /*建立邻接表*/  void dijkstra( int x,int y)     /*dijkstra求最小生树*/  void search()            /*搜索最短路径*/  menu()               /*菜单函数*/          /********************************************* *建立邻接表 ********************************************/ void createadj()  
一、项目概述 随着微信小程序的普及,校园导航系统也逐渐成为了大学校园中的重要组成部分。本项目旨在开发一款基于微信小程序的校园导航系统,方便校内师生快速定位校园内的各项活动场所、教学楼、宿舍、食堂等重要地点。 二、系统功能 1.地图功能:根据用户所在位置,显示校园地图,包括各个建筑物、教学楼、宿舍、食堂等重要地点的位置和名称。 2.搜索功能:用户可以根据关键字搜索需要查找的地点,系统将根据关键字显示相关的地点信息。 3.路线规划:根据用户选择的起点和终点,系统将显示最优路径和导航指引,方便用户快速到达目的地。 4.定位功能:用户可以通过定位功能快速定位自己所在的位置,方便用户快速查找目的地。 5.收藏功能:用户可以将常用的地点收藏,方便下次快速查找。 6.分享功能:用户可以将地点信息通过微信分享给好友,方便好友快速查找。 三、系统架构 1.前端架构:采用微信小程序开发,使用WXML、WXSS、JavaScript等技术实现页面的设计和交互逻辑。 2.后端架构:采用Node.js技术,使用Express框架实现后台API接口的开发和数据库的管理。 3.数据库:采用MySQL技术,存储用户信息、地点信息等数据。 四、系统实现 1.界面设计:根据用户需求设计界面,包括地图页面、搜索页面、路径规划页面、收藏页面等。 2.功能实现:根据需求实现系统功能,包括地图显示、搜索功能、路径规划、定位功能、收藏功能、分享功能等。 3.数据管理:使用MySQL数据库存储用户信息、地点信息等数据,并实现数据的增删改查等操作。 4.接口开发:采用Express框架实现后台API接口的开发,包括用户登录、注册、地点查询、路径规划等接口。 五、总结 本项目实现了一款基于微信小程序的校园导航系统,方便用户快速查找校园内的各项活动场所、教学楼、宿舍、食堂等重要地点。通过本项目的实现,我们学习了微信小程序的开发技术和后台API接口的开发,对于我们进一步深入学习微信小程序和后台开发技术具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值