基于B-S架构的学生信息管理系统设计与实现

z_lying

发布日期: 2020-01-20 15:48:54 浏览量: 287
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

第1章 前言

1.1 课题研究的背景及意义

1.1.1 课题研究的背景

目前,随着计算机和移动互联网技术的快速发展,社会正迈向大数据时代,相应地,信息管理系统也越发显得重要。信息化、自动化、智能化在日常生活中的作用越来越大,让我们从繁杂的手工劳动中解脱出来,实现高效的服务工作。在信息技术广泛应用的今天,传统手工管理已经不能适应大数据的规范和管理。采用计算机管理各类数据,不仅能提高工作效率,还能保证信息的安全性。

计算机的技术迅速发展带动其它技术的发展,自然也推动着信息技术高度发展快速前进。信息、信息技术和信息化的重要性日益被人们所认识,高科技电子通讯也日益被大众所接受,所以现代化通讯方式是今后发展的趋势,所以建立一套符合实际的、简便快捷的、易于掌握的学生信息管理系统成为必然趋势。

1.1.2 课题研究的意义

  • 通过研究,了解并掌握基于Web的平台开发流程及设计方法,系统学习Web的架构与应用开发模式,深入理解Web系统体系架构的内部机制和管控方式

  • 以MySQL为后台数据库的基础上,熟悉Eclipse的开发环境、编辑环境及运行环境,熟练掌握Java语言的运用

  • 通过对该系统开发流程及开发方式的理解,总结用户需求,归纳开发思想和设计技术,为相似系统研发提供技术支持

  • 通过翻阅文献,研究主要模块功能的实现,掌握功能实现中所需要用到的算法,实现系统的自动编排等功能帮助管理人员减轻负担,更好的满足用户的需求。

完成本设计、可以培养学生系统意识。加深学生对MySQL数据库,Java语言,html5+css3前端页面设计有关技术的理解。培养学生的针对实际应用开发网页的能力。使用Eclipse完成代码的编写,实现基本功能。使用MySQL数据库实现网站前后端数据交互,实现用户所操作的增、删、改等功能。该系统的设计与使用,将大大减少工作人员的工作量和工作强度,减少人工操作不可避免的错误,提高工作效率并能够保证数据的安全性,完整性,防止数据的丢失。也得学生信息管理系统平台模式变得规范化、程序化,这也是平台管理的发展方向。

第2章 系统分析

2.1 系统需求分析

需求指的是用户需求。用户需求不仅是系统的体系结构规划的主要依据,系统建设与应用的主要驱动因素,也是解决系统社会认知度低、不受用户欢迎等问题的关键所在。需求分析是从用户的角度对他们需要解决的业务问题进行顶层设计,主要包括功能需求分析。

2.1.1 需求分析

实现学校对学生信息的集中管理。可供学校管理人员对学生信息的增加、删除、修改、查询等基本操作,并对系统的可登录人员进行管理,如管理员和学生用户等。
在登录管理方面,用管理员身份登录,可对本系统的可登录人员进行管理,有权增加及删除本系统的登录人员,进行自身密码的修改;本系统最终目标是实现学生信息管理的系统化、规范化和自动化。用户模块主要功能有登录模块、学生信息管理、系统管理界面等。

  • 登录模块:可以提供用户登入系统的入口,用户通过用户名和密码可以登入系统并进行相应模块的操作

  • 学生信息管理模块:管理员可以添加不同学生类型的学生信息,如小学生,中学生,大学生,通过类型不一样,所要添加的属性也不一样,添加完可以对信息进行修改,删除,查询操作

  • 管理员模块:管理员登陆可以修改自己的个人信息,如密码等

2.2 可行性分析

  • 技术可行性:当今社会,运用计算机管理信息已经越来越普遍。该系统在技术方面较为先进,有利于对学生信息管理系统的操作。经过详细的分析和调查,本学生信息管理系统平台利用计算机信息处理的迅速、准确、可靠且有强大存储能力的突出特点,全面提高平台的管理水平和工作效率,为管理平台的及时转换提供一定的支持

  • 操作可行性:在进行系统设计之前,已经深入学习开发设计系统中所需的JSP、数据库等技术知识,熟练掌握Java程序设计语言,并已经安装了相关的Eclipse平台和Tomcat服务器等。上述工作为网站的设计与实现做好了技术准备

  • 经济可行性:传统模式开发的系统不易维护,开发费用高,也不易于升级。而该模式下系统将不存在上述问题,它易维护、易升级。系统的维护和升级所带来的费用低于需求者的预期,所以在经济上是可行的

第3章 数据库设计

3.1 系统数据库设计

系统在运行过程中,各功能模块的使用通常都需要调用数据库,所以说数据库的合理设计对于系统设计来说至关重要,通常来说,整个系统的开发时间应当有40%用于数据库设计。合理的数据库结构能够简化系统工作任务流程,同时能提高数据存储的效率。数据库的设计也要有一定的可扩展性,即不仅要收集资料对数据现状进行分析,还要为未来可能扩展的功能预留数据空间。

本系统采用Mysql数据库技术,在设计数据库前,对学生信息管理系统的数据需求进行了分析,而后才确定该数据库结构。同时,数据库设计可分为概念结构设计和物理结构设计,以下就两者展开具体讨论。

3.1.1 概念结构设计

系统设计中数据库是核心设计内容所在,概念设计为数据库设计提供了良好的设计工具。概念设计中通过E-R图,将抽象的概念进行具体关系的描述和表达。

大学生信息E-R图

中学生信息E-R图

小学生信息E-R图

管理员信息E-R图

3.1.2 数据库表设计

根据数据库物理结构设计的原则(即数据结构要具有相对的稳定性;结构设计与操作设计相结合;尽可能减少数据库冗余和重复)进行学生信息管理系统数据库表结构及代码设计。

学生信息管理系统采用MYSQL数据库作为支撑环境,整个数据库系统由多张数据表构成。数据库各表结构涉及包括确定表的名称、表中的字段类型及长度等参数,下面将介绍本系统数据库中各数据表的详细结构。

大学生信息表

字段名 类型 字段长度 描述
id Int 11 编号
stu_xuehao varchar 50 学号
stu_realname varchar 50 真实姓名
stu_sex varchar 50 性别
stu_age varchar 50 年龄
nj varchar 50 班级
yy varchar 50 英语成绩
sx varchar 50 数学
yw varchar 50 语文
dl varchar 50 地理
ls varchar 50 历史
address varchar 50 地址
major varchar 50 专业
phone varchar 50 联系电话
type varchar 50 类型

中学生信息表

字段名 类型 字段长度 描述
id Int 11 编号
stu_xuehao varchar 50 学号
stu_realname varchar 50 真实姓名
stu_sex varchar 50 性别
stu_age varchar 50 年龄
nj varchar 50 班级
yy varchar 50 英语成绩
sx varchar 50 数学
yw varchar 50 语文
dl varchar 50 地理
ls varchar 50 历史
address varchar 50 地址
type varchar 50 类型

小学生信息表

字段名 类型 字段长度 描述
id Int 11 编号
stu_xuehao varchar 50 学号
stu_realname varchar 50 真实姓名
stu_sex varchar 50 性别
stu_age varchar 50 年龄
nj varchar 50 班级
yy varchar 50 英语成绩
sx varchar 50 数学
yw varchar 50 语文
type varchar 50 类型

管理员信息表

字段名 类型 字段长度 描述
Id Int 11 编号
loginname varchar 50 用户名
password varchar 50 密码

第4章 系统设计

4.1 系统功能架构设计

该系统软件采用B/S架构,本文设计的学生信息管理系统平台主要有界面设计、逻辑功能的实现部分以及数据库采用MySQL实现网站前后端数据交互,实现用户所操作的增、删、改等功能。

学生信息管理系统软件主要登录界面模块、学生管理界面、管理员管理模块和系统管理界面组成。用户需要进行登录。他们必须在这个页面输入相应的信息。输入信息后由后台的数据库监测,如果匹配即可进入主页面,如果不正确则继续返回登录页面,显示用户信息错误。当完成登录后,用户进入了主页面模块进入过后,用户可以查看管理平台管理系统数据信息。用户可以查询各模块的数据。具体的系统结构如图4-1。

4.2 JDBC数据库连接

Java中主要是使用JDBC来访问数据库,JDBC API是Java语言访问数据库的一种规范,是Java数据的编程接口,是一组标准的Java接口跟类,当我们使用这些时,就可以访问不同的数据库。不同数据库的类型虽然不同,但是用它的连接步骤是一样的,只是在获取驱动的URL上有所不同而已。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。

第5章 系统详细实现

5.1 系统平台的实现

该系统软件采用B/S架构,系统软件的运行平台采用Windows 10,用Eclipse开发软件程序,MySQL进行数据库的设计,服务器选用Apache Tomcat7.0。整个系统软件的设计和开发使用了面向对象的方法和技术,体现了可视化的友好的人机界面。在个模块的软件的设计上,主要是对界面、逻辑功能、数据库三个方面进行了设计。其中界面设计采用JSP编程和CSS网页设计;逻辑功能的实现采用了ssh框架技术;数据库采用MySQL实现网站前后端数据交互,实现用户所操作的增、删、改等功能。系统功能模块的软件设计采用了MVC设计模式,界面层设计采用JSP技术对服务器系统主界面和数据图表等界面进行设计;逻辑层采用Servlet实现对服务器相关业务逻辑处理;数据层采用了MySQL数据库实现对服务器的系统数据存储调用。系统软件开发模式如图5-1所示。

5.2 系统主要功能模块的实现

5.2.1 登录界面

系统软件主要有登录界面、个人信息界面、学生管理界面组成。该系统软件经过验证已经能够成功运行。用户需要进行登录。他们必须在这个页面输入相应的信息。输入信息后由后台的数据库监测,如果匹配即可进入主页面,如果不正确则继续返回登录页面,显示用户信息错误。当完成登录后,用户进入了主页面模块进入过后,用户可以查看学生信息管理系统。登录界面模块,界面模块如图5-2。

首先运行学生信息管理系统Web项目,成功显示学生信息管理系统的登录页面,在登录页面的右上角有个登录信息的确认,用户登录时的passname和password输入框。输入帐号与密码信息进行验证,当提交登录信息时,触发login.js脚本文件,通过UserAction类中的方法login得到输入的帐号和密码,然后通过getUser()函数进行校验,通过Hibernate进行数据库连接,当数据库中的注册的帐号和密码与用户输入的信息相匹配时,后端UserAction类中输出的“SUCCESS”会传到前端的login.js脚本文件,js会控制界面跳转到首界面main.jsp。如果登录框中没有输入信息,点击登录则提示:用户名或密码不能为空。如果输入的帐号密码在数据库中检测后不存在,则不能实现跳转,会提示用户名与密码错误。

5.2.2 登陆后信息界面

学生个人信息界面分为三个部分分别是顶部top.jsp,中部的right.jsp,以及左边的left.jsp.第一个部分是一张图片,学生信息管理系统。第二部分是main页面,下面说的设置界面和数据查看页面都是从这里实现跳转。图中的第三部分是right一行字。在main.jsp第一个frame里面打开链接top.jsp。这里面放的一个图片,用户进入即可看到健身房管理系统这个图片。在第二个frame里面我们放的是项目所实现的功能,第三个frame里面的连接是right.jsp,打开以后里面放的也是一行字母和数字。我们点击左侧菜单栏不同的部分会显示不同的界面。我们如果已经点开了某一个页面,则不能继续点开,我们用到了add table函数,点击其他页面逻辑也相同,如果存在则不能重复打开,否则跳转至相应的页面。点击左侧的按钮可以跳转至相应页面。firstnode对应左侧的第一个数据查询。点击数据查询按钮会触发addTab1()函数跳转至leftjsp界面。学生信息主界面如图5-3。

后台信息管理主要由四个功能模块组成,分别为:管理员信息、学生信息管理、退出系统。

管理员信息

管理员信息功能模块学生可以点击我的个人信息进行个人信息的编辑和修改等操作,其中涉及到的个人信息有账号、姓名、密码、状态、注册时间。

另外可以通过该模块进行登录账号和密码的修改。

学生管理

分为三个模块的大学生管理,中学生管理,小学生管理。

而每个学生信息管理包括两个子功能模块,分别为学生信息管理和学生信息添加。学生信息管理中包括学生信息列表,可以通过学生序号和学生姓名进行查询信息,并且对学生的信息里可以点击修改学生信息或者删除学生信息,具体实现界面如图5-5所示。

添加学生信息管理界面,有三种界面。

小学生信息

在填写必要的信息中,还需要填写英语成绩,数学成绩和语文成绩等,具体实现界面如图5-10所示。

中学生管理

在添加小学生信息的基础上,还需填写地理成绩,历史成绩和家庭住址信息。添加界面5-11所示。

大学生类型

在添加中学生信息的基础上,还需填写专业信息,联系方式信息。具体界面实现如图5-13所示。

添加信息的同时,系统会提示未填写信息,如果在填写有重复学号的信息,系统也会给出相应的提醒。具体界面实现如图5-14所示。

5.2.3 学生管理代码实现

学生管理的主要代码实现如下:在主页面的左侧是垂直导航菜单,按数据查询会进入大学生xuesheng/xuesheng_d.jsp页面,中学生xuesheng/xuesheng_z.jsp页面,小学生xuesheng./xuesheng_x.jsp我们可以实现用户信息查询,数据会保存在数据库中,当用户查询时,从后端数据库中调出显示在页面上。这个页面上,input为输入框,点击数据查询按钮会触发XueshengAction方法,然后通过数据库进行查询 ,最后将查询到的信息显示。界面模块如图5-6所示。其主要代码如下:

  1. public String selectStu1() throws Exception {
  2. //设置请求的页数
  3. if(this.pageIndex != null) {
  4. this.pageModel.setPageIndex(pageIndex);
  5. }
  6. //查询总条数
  7. Integer recordCount = sshService.getStuCount1();
  8. //把总数设置到poageModel当中
  9. this.pageModel.setRecordCount(recordCount);
  10. //查询数据
  11. stus1 = sshService.selectStuPage1(this.pageModel);
  12. return SUCCESS;
  13. }
  14. public String selectStu2() throws Exception {
  15. //设置请求的页数
  16. if(this.pageIndex != null) {
  17. this.pageModel.setPageIndex(pageIndex);
  18. }
  19. //查询总条数
  20. Integer recordCount = sshService.getStuCount2();
  21. //把总数设置到poageModel当中
  22. this.pageModel.setRecordCount(recordCount);
  23. //查询数据
  24. stus2 = sshService.selectStuPage2(this.pageModel);
  25. return SUCCESS;
  26. }
  27. public String selectStu3() throws Exception {
  28. //设置请求的页数
  29. if(this.pageIndex != null) {
  30. this.pageModel.setPageIndex(pageIndex);
  31. }
  32. //查询总条数
  33. Integer recordCount = sshService.getStuCount3();
  34. //把总数设置到poageModel当中
  35. this.pageModel.setRecordCount(recordCount);
  36. //查询数据
  37. stus3 = sshService.selectStuPage3(this.pageModel);
  38. return SUCCESS;
  39. }
  40. //通过姓名或者学号查询
  41. public String selectStuByName1() throws Exception {
  42. //设置请求的页数
  43. if(this.pageIndex != null) {
  44. this.pageModel.setPageIndex(pageIndex);
  45. }
  46. //查询总条数
  47. Integer recordCount = sshService.getCountByName1(stud);
  48. if(recordCount==0)
  49. {
  50. Map request=(Map)ServletActionContext.getContext().get("request");
  51. request.put("mess", "无查询记录!");
  52. }else
  53. {
  54. //把总数设置到poageModel当中
  55. this.pageModel.setRecordCount(recordCount);
  56. //查询数据
  57. stus1 = sshService.selectStuByName1(pageModel, stud);
  58. }
  59. return SUCCESS;
  60. }
  61. //通过姓名或者学号查询
  62. public String selectStuByName2() throws Exception {
  63. //设置请求的页数
  64. if(this.pageIndex != null) {
  65. this.pageModel.setPageIndex(pageIndex);
  66. }
  67. //查询总条数
  68. Integer recordCount = sshService.getCountByName2(stuz);
  69. if(recordCount==0)
  70. {
  71. Map request=(Map)ServletActionContext.getContext().get("request");
  72. request.put("mess", "无查询记录!");
  73. }else
  74. {
  75. //把总数设置到poageModel当中
  76. this.pageModel.setRecordCount(recordCount);
  77. //查询数据
  78. stus2 = sshService.selectStuByName2(pageModel, stuz);
  79. }
  80. return SUCCESS;
  81. }
  82. //通过姓名或者学号查询
  83. public String selectStuByName3() throws Exception {
  84. //设置请求的页数
  85. if(this.pageIndex != null) {
  86. this.pageModel.setPageIndex(pageIndex);
  87. }
  88. //查询总条数
  89. Integer recordCount = sshService.getCountByName3(stux);
  90. if(recordCount==0)
  91. {
  92. Map request=(Map)ServletActionContext.getContext().get("request");
  93. request.put("mess", "无查询记录!");
  94. }else
  95. {
  96. //把总数设置到poageModel当中
  97. this.pageModel.setRecordCount(recordCount);
  98. //查询数据
  99. stus3 = sshService.selectStuByName3(pageModel, stux);
  100. }
  101. return SUCCESS;
  102. }
  103. /**
  104. * 1 跳转带添加页面
  105. * 2 提交到数据库
  106. */
  107. public String addStu1() throws Exception {
  108. if(flag.equals("1")) {
  109. return "showAddStu";
  110. }else {
  111. //添加学生的时候判断下,是否有学号重复
  112. int num= sshService.findStuxh1(stud.getStuXuehao());
  113. if(num==0)
  114. {
  115. sshService.saveStu1(stud);
  116. return SUCCESS;
  117. }else
  118. {
  119. Map request=(Map)ServletActionContext.getContext().get("request");
  120. request.put("mess", "学号重复,请重新添加!");
  121. return "showAddStu";
  122. }
  123. }
  124. }
  125. /**
  126. * 1 跳转带添加页面
  127. * 2 提交到数据库
  128. */
  129. public String addStu2() throws Exception {
  130. if(flag.equals("1")) {
  131. return "showAddStu";
  132. }else {
  133. //添加学生的时候判断下,是否有学号重复
  134. int num= sshService.findStuxh2(stuz.getStuXuehao());
  135. if(num==0)
  136. {
  137. sshService.saveStu2(stuz);
  138. return SUCCESS;
  139. }else
  140. {
  141. Map request=(Map)ServletActionContext.getContext().get("request");
  142. request.put("mess", "学号重复,请重新添加!");
  143. return "showAddStu";
  144. }
  145. }
  146. }
  147. /**
  148. * 1 跳转带添加页面
  149. * 2 提交到数据库
  150. */
  151. public String addStu3() throws Exception {
  152. if(flag.equals("1")) {
  153. return "showAddStu";
  154. }else {
  155. //添加学生的时候判断下,是否有学号重复
  156. int num= sshService.findStuxh3(stux.getStuXuehao());
  157. if(num==0)
  158. {
  159. sshService.saveStu3(stux);
  160. return SUCCESS;
  161. }else
  162. {
  163. Map request=(Map)ServletActionContext.getContext().get("request");
  164. request.put("mess", "学号重复,请重新添加!");
  165. return "showAddStu";
  166. }
  167. }
  168. }
  169. /**
  170. * 1 跳转修改页面
  171. * 2 提交到数据库
  172. */
  173. public String updateStu1() throws Exception {
  174. if(flag.equals("1")) {
  175. stud = sshService.findStuId1(stuId);
  176. //大学生
  177. return "showUpdateStu3";
  178. }else {
  179. sshService.updateStu1(stud);
  180. return SUCCESS;
  181. }
  182. }
  183. /**
  184. * 1 跳转修改页面
  185. * 2 提交到数据库
  186. */
  187. public String updateStu2() throws Exception {
  188. if(flag.equals("1")) {
  189. stuz = sshService.findStuId2(stuId);
  190. //中学生
  191. return "showUpdateStu2";
  192. }else {
  193. sshService.updateStu2(stuz);
  194. return SUCCESS;
  195. }
  196. }
  197. /**
  198. * 1 跳转修改页面
  199. * 2 提交到数据库
  200. */
  201. public String updateStu3() throws Exception {
  202. if(flag.equals("1")) {
  203. stux = sshService.findStuId3(stuId);
  204. //小学生
  205. return "showUpdateStu1";
  206. }else {
  207. sshService.updateStu3(stux);
  208. return SUCCESS;
  209. }
  210. }
  211. //删除学生信息
  212. public String removeStu1() throws Exception {
  213. System.out.println("removeStu() -->");
  214. /**
  215. * ids传过来是字符串>>"1,2,3,4"
  216. * 通过split分割再存进数组》》》》id[0]=1 id[1]=2 id[2]=3
  217. */
  218. String[] temp = ids.split(",");
  219. System.out.println("temp>>>>"+temp);
  220. for(String id:temp) {
  221. sshService.removeStu1(Integer.parseInt(id));
  222. }
  223. return SUCCESS;
  224. }
  225. //删除学生信息
  226. public String removeStu2() throws Exception {
  227. System.out.println("removeStu() -->");
  228. /**
  229. * ids传过来是字符串>>"1,2,3,4"
  230. * 通过split分割再存进数组》》》》id[0]=1 id[1]=2 id[2]=3
  231. */
  232. String[] temp = ids.split(",");
  233. System.out.println("temp>>>>"+temp);
  234. for(String id:temp) {
  235. sshService.removeStu2(Integer.parseInt(id));
  236. }
  237. return SUCCESS;
  238. }
  239. //删除学生信息
  240. public String removeStu3() throws Exception {
  241. System.out.println("removeStu() -->");
  242. /**
  243. * ids传过来是字符串>>"1,2,3,4"
  244. * 通过split分割再存进数组》》》》id[0]=1 id[1]=2 id[2]=3
  245. */
  246. String[] temp = ids.split(",");
  247. System.out.println("temp>>>>"+temp);
  248. for(String id:temp) {
  249. sshService.removeStu3(Integer.parseInt(id));
  250. }
  251. return SUCCESS;
  252. }

第6章 测试

本系统中相关的测试都是通过JS来操作完成的,通过页面提交来判断空值,然后页面上给出相应的提示框。

管理员登陆测试:不输入用户名或者密码,页面提示,如下面

添加学生信息不填:学号,姓名等信息不填,也给出相应的提醒

第7章 总结与展望

通过此次努力地学习,系统各个模块的功能都按照任务需求基本完成了。在网页上进行展示。主要完成登录界面、学生个人信息界面、学生管理界面的设计。给出有关模块的详细分析和逻辑代码实现。通过这个软件,用户可以方便快捷的查看自己想要了解的信息。在软件模块设计的过程中我重新回顾了以往所学习了大学课堂上学习的基础知识,而且查阅了很多网页开发文献,这些都提升了我对前沿科技有所认识,知道当下研究的方向,这些都对我开发这个系统软件有极大的帮助。开始时,软件设计需要系统能够接收数据,从现在测试的结果来看,所有结果令人满意。

在今年开学的时候我们开始着手做这个项目,学习了一些基础的CSS,js,jQuery,MySQL,SSH框架到最后的做出简单的jsp文件,再到最后完整的做出项目中间付出了很多遇到了很多问题但是都一一解决了。虽然很困难但是当解决了之后就觉得很快乐,尤其是后期一起整合的时候遇到的问题是最多的最艰辛的时候,遇到各种各样的逻辑问题,,虽然很累很辛苦但是印证了一句俗语风雨之后总会看见彩虹,一直到最后的整合结束静下心来写论文的时候才感觉到自己学到了很多以前没有学到的知识和很多解决问题的经验。才感受到自己确实收获了很多学习了很多的知识,自己在这段时间过的很充实。

经过几个月的努力,最终完成系统的设计与实现,这期间虽然遇到了很多难题,虽然最终完成了这个系统的所有功能模块,但是和一个上线的系统相比还是有很多的不足,需要改进的地方还是有很多。比如在页面的设计上做的还是不够,页面的样式设计的还有点瑕疵。当然,在本次的毕业设计的制作过程中,我不仅学到了许多的新知识,也巩固了以前学到的一些知识,更是将理论的知识用于实践的过程中,为以后的工作打下了扎实的基础。

参考文献

引用
[1]Gui Xiu Ouyang. Design and Implementation of Student Information Management System Based on Java Technology[J]. Applied Mechanics and Materials,2014,3634(687).
[2]Hui Yan Zhao,Qi Sun. Research on the Design and Implementation of Student Information Management System[J]. Applied Mechanics and Materials,2014,3634(687).
[3] Jeremy Keith.JavaScript DOM 编程艺术[M]. 杨涛,译.北京:人民邮电出版社,2011.
[4] 张容铭.JavaScript 设计模式[M].北京:人民邮电出版社,2015.
[5] 大漠.图解 CSS3:核心技术与案例实践[M]. 北京:机械工业出版社,2014.
[6]郑金明,佟施.基于HTML5的校园网高校管理系统的设计与实现[J].广西教育学院学报,2013(02):157-161.
[7]魏蓉,常青青.学生信息管理系统的设计探讨[J].价值工程,2011,30(19):166.
[8]范亮,潘永才,王雄兵.B/S架构下的学生信息管理系统的设计[J].物联网技术,2016,6 (12):55-56.
[9]李超.学生信息管理系统的设计与实现[J].电脑知识与技术,2016,12(09):100-109.
[10]乔普拉. JSP高级程序设计[M]. 北京:人民邮电出版社, 2006.
[11]杨珏. JSP网络开发技术[M]. 北京:人民邮电出版社, 2001.
[12]乔晶.高校学生成绩管理系统设计与实现[J].电脑编程技巧与维护,2015(23):59-72.
[13]隋郁.高校学生信息管理的系统设计与实现[J].教育发展研究,2017(S1):13-15.
[14]孙红丽.基于JSP的学生信息管理系统设计与实现[J].智能计算机与应用,2017,7(02): 108-112.

上传的附件 cloud_download 基于B-S架构的学生信息管理系统设计与实现.zip ( 58.63mb, 27次下载 )

发送私信

3
文章数
0
评论数
最近文章
eject