15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 基于 JavaEE 的校友录管理系统

基于 JavaEE 的校友录管理系统

时间:2023-07-03 18:18:01 | 来源:网站运营

时间:2023-07-03 18:18:01 来源:网站运营

基于 JavaEE 的校友录管理系统:[摘要] 随着社会和经济的飞速发展,人们的生活节奏越来越快,生活压力也随着增加。为了提高自己的生活质量和水平,人们把自己越来越多的时间投入到工作之上。用来有的人甚至连家庭都顾忌不上,更别说去跟以前的老同学联系。

通过校友录这种网络联系方式,可以加强很多因毕业而分离的同学们之间的联系,互相嘘寒问暖,了解各自的近况,增进互相之间的感情。通过校友录,人们可以对自己的当前信息进行管理,实时更新自己的信息,让大家都能够了解到自己的信息,方便大家的联系。

本篇文章主要对系统的设计以及实现的过程进行了阐述。主要介绍了课题的来源和背景。还有相关的技术和开发工具。主要进行了可行性分析、需求分析。主要进行了总体设计。主要进行了系统的数据库设计。主要进行了详细的设计和具体的实现。最后主要对系统进行了测试。本系统操作简单、方便,可以提供相当大的便利。

[关键词] 校友录 管理系统 Java B/S

Alumni address book management system based on JavaEE [Abstract] With the rapid development of society and economy, people's pace of life is faster and faster, and the pressure of life is increasing. In order to improve the quality of life and the level of their own, people put more and more time to work. Used to some people do not even have to worry about the family, let alone to contact with the previous old classmates. Through the alumni the network contact can strengthen links between many separated by the graduate students, care about each other, understand their situation, enhance mutual feelings. Through alumni records, people can manage their current information, real-time update their information, so that everyone can understand their own information, to facilitate the link. This paper mainly describes the design and implementation of the system. This paper mainly introduces the source and background of the project. There are related technologies and development tools. Mainly carries on the feasibility analysis, the demand analysis. Mainly carried out the overall design. The database design of the system is mainly carried out. The detailed design and implementation are mainly carried out. Finally, the system is tested. The system is simple and convenient, and can provide considerable convenience. [Keywords] Alumni management system B/S JAVA

一、系统背景

开发背景和意义

课题的来源

随着社会和经济的飞速发展,人们的生活节奏越来越快,生活压力也随之增加。为了提高自己的生活水平和质量,人们把自己越来越多的时间投入到工作之上。用来交际的时间越来越少,有的人甚至连家庭都顾及不上,更别说去跟以前的老同学联系了。时间久了,联系也就断了,即使想要联系上,也发现没有了联系方式。同时,因为网络的发达,大多数的高校在校生都有很多个人的网络联系方式,但是都不统一。

所以一个优秀的基于网络的校友录可以解决这些问题。通过校友录管理系统,我们不仅可以让在校生有一个共同的交流平台,同时还可以让很多毕业生可以找到想要联系的同学和朋友。但是一个学校的在校生和毕业生的数量也还是很多的,怎么对这个校友录进行高效的管理,是很重要的。所以设计一个校友录管理系统是极具可行性的。

课题的意义

通过校友录这种网络联系方式,可以加强很多因毕业而分离的同学们之间的联系,互相嘘寒问暖,了解各自的近况,增进互相之间的感情。让这些已经离校的同学能够有一个关注母校和老同学动态的平台。同时,还可以建立毕业生和在校生的沟通渠道,为还未毕业的学弟学妹们提供一些自己当年的学习经验,还有步入社会的经验等,为在校生提供了便利。这样无形之间就增强了学校的凝聚力。通过校友录,人们可以对自己的当前信息进行管理,实时更新自己的信息,让大家都能够了解到自己的信息,方便大家的联系。在 B/S 架构的 Web 开发模式中,客户端就是简单的处理浏览器程序,可以通过 HTTP 协议访问服务器端的应用。在服务器端,与与通信相关的处理都是有服务器软件负责。业务的信息化是当代管理业务现代化的标志,因为这样不仅能很杭州提高工作效率,而且工作质量也能得到提高。更重要的是本项目的应用将最大限度减少了信息的不足和冗余,以前由于无法及时了解个人的信息,所造成的信息更新的滞后和错误都能够得到很好的解决。在各种操作系统中都提供了浏览器工具,这些浏览器工具都是遵循相同的协议范围,所以 B/S 机构的客户端在各种系统环境中都已实现。使用 B/S 架构,不仅减轻开发任务的成本,而且系统维护也变得十分简单。

本课题是基于 Windows 环境的校友录管理系统的设计和开发,该系统前台使用 JSP、Java 等相关语言,通过 MyEclipse 工具进行开发。后台数据库采用 MySQL 数据库,属于 Web 数据库开发、用于解决实际问题的实例,具有一定的深度,涉及到数据库设计和前端开发工具的开发和设计,与之相似的应用很广泛。

国内外发展状况

国内发展状况

目前世界上各种形式的同学录网站大约有 28 万个之多,它们在网民心中占有重要地位。

目前国内的校友录系统数量众多。有的是各高校自己建立的校友录系统,有的是专门独立的校友录系统,也有综合网站上的校友录系统。当前以第三种也就是综合网站上的校友录数量最多,知名度最高。主要的有 5460、搜狐的 Chinaren 和 QQ 的校友录这三个。其中,ChinaRen 的人气最高,应用也是最多的[1]。这些校友录系统虽然运用技术不尽相同,但是他们的功能、目的都有着一些共同点。5460、chinaren、网易等校友录系统运用的是 JSP 技术,这些服务对象比较广泛、针对性较弱的校友录系统提供的服务都是最普通的,他们能满足绝大多数人的需求,使得分散于全国各地的校友们能找到这样一个虚拟的集体组织,使得大家不用再为如何联系自己长久未见的同学、朋友而发愁,校友录提供的就是这样一个方便联系的平台。某些高校校友录系统可能创建时间比较早,他们运用的技术也相对较早一些,比如杭州大学和华中科技大学,他们的校友录系统就是运用 ASP 技术来开发的。用 PHP 开发的系统有中国同事录,还有大家比较熟悉的 QQ 校友录,它是运用 Shtml 开发的。以上这些校友录系统运用到了很多不同的技术,但是他们对社会的影响、给人们带来的方便是一样的。

国外发展状况

而在国外,各类各样的校友录也是众多。现在国外对此类校友录网站的开发与研究也是很有实用性的。尤其是外国的一些著名高效和大学,因为有信息化发展迅速及信息网范围广、互联网更加普及等特点,再加上外国人一直都追求校友会这样一种形式,所以与国内相比发展更为良好。同时,此类校友录管理系统又都在不断地深入与发展,争取在实现本来目的的基础上完善用户体验,做到更加实用。

全文内容概览

本小节对以下章节进行简单概述,具体内容如下:

第二章是对系统使用的技术和工具进行了说明。第三章为完成本系统前的各种情况的分析,比如,可行性分析等,以及系统的需求分析。第三章为系统总体结构设计,需求分析具体分析了华美卖场库存信息管理系统的功能需求及总体结构设计图,对本系统后台的数据库进行详细的分析和所用到的表的说明。第四章为系统详细设计与实现,举例说明了前台和后台功能的实现目标和实现过程。第五章为系统测试,使用几个测试样例来对本网站进行功能测试。最后为本论文引用参考文献的有关内容及鸣谢。

二、主要开发工具和技术

开发技术

2.1 MVC 技术简介







图 1-1 MVC 模式

MVC 全程为 Model View Controller (模型-视图-控制器),它是一种可以建立 Web 应用程序的模式:

Model(模型)是应用程序的核心,它是用于处理应用程序数据逻辑的部分。通常模型负责存取数据库中的数据[2]。

View(视图)将模块在用户交互界面中呈现出来。

Controller(控制器)是应用程序中处理用户接受和发送请求的部分。通常控制器的工作过程包括从视图读取数据、用户输入信息、向模型发送数据。

本系统是采用基于 JavaBean 的 MVC 设计模式设计实现的。

MVC 是 Model-View-Controller 的简称,即模型-视图-控制器。它强制性地把应用程序的输入、处理和输出分开,让它们各自处理自己的任务。MVC 是 XeroxPARC 在 20 世纪 80 年代为编程语言 Smalltalk-80 发明的一种软件设计模式,至今已被广泛使用,最近几年被推荐为 Sun 公司 J2EE 平台的设计模式[3],受到越来越多的 Web 开发者的欢迎。

2.2 B/S 体系结构

B/S 体系结构系统是将普通用户通过浏览器向网络上某个服务器发出请求信息,服务器对用户发送的请求进行数据处理并将用户所需信息反馈到浏览器上。B/S 结构 的主要优点就是极大地减少了客户机所需处理的数据,降低客户机的配置要求,客户只需安装极小的客户端软件就可以正常使用[4]。

相对服务器来说,服务器将担负大部分的数据处理工作,在接收到客户端所发来的请求后,服务器将对数据库进行访问,并将在数据库提取的数据加以处理后输送会客户端。B/S 体系结构在本质上是将二层 C/S 结构的数据处理逻辑模块从客户机中分离出来交给 Web 服务器来单独负担这项任务。如此来说,客户机就会减轻很多性能要求,因为把大部分的数据处理工作都分配给了 Web serve[5]。这种三层体系结构如图 1-1 所示。







图 1-2 B/S 构建图

开发工具

2.3 MySQL 数据库

作为一种优秀的数据库,MySQL 做的都是为了能在表中有效地进行数据存储。MySQL 的核心为处理数据库核心命令,MySQL 的引擎在 Windows 下运行,对数据库连接以及 SQL 命令进行处理。MySQL 不仅具有强大而稳定的发动机,还提供了一系列的管理工具和数据库服务器,用于移动数据,数据仓库,数据分析软件。

数据库至今虽然只有差不多不到 60 年的历史(从 60 年代至今),但其它的技术都不及它及其快速的发展速度。

数据库是一种仓库,它按照一定的数据结构来组织数据,还能够储存和管理数据,可以用来查询大量的数据,是一种存储区域。数据库的使用好处有很多:节约数据的存储空间,削减数据的冗余度等等。此外,数据库技术还为用户提供了一个非常简单的方法,用户很容易写数据库的应用程序[6]。特别是近年来,计算机关系数据库的引入,更强大。例如,操作更直观。使用更灵活。而且编程非常方便,功能更加强大。同时环境适应也更加广泛,处理数据的能力超强。

2.4 MyEclipse 开发平台

MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate[7]。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 JavaEE 集成开发环境,支持代码编写、配置、测试以及除错。

三、系统需求分析

背景说明

根据软件相关方面的基本理论知识和操作技能等要求,开发一个校友录管理系统:该校友录管理系统的设计与开发,既能满足毕业设计的需要,也能在一个逼真的环境中,为大家呈现一个校友录管理系统的各种功能,可以通过该管理系统可方便、快捷地进行校友录各种功能的相关管理。

需求分析的基本任务:确定系统的目标和范围,调查用户的需求,分析系统必须做什么,编写需求规格说明书等其它相关文档,以及需求工程审查.同时还包括需求变更的控制、需求风险的控制、制定需求过程的基本计划等工作。

需求分析包括两个活动:需求开发和需求管理。

需求可分四类:业务需求是反映组织机构或客户对软件高层次的目标要求,这项需求是用户高层领导机构决定的,它确定了系统的目标规模和范围。用户需求是用户使用该软件要完成的任务。功能需求是软件开发人员必须实现的软件功能。非功能需求是产品必须具备的属性或品质 ,包括对用户的重要属性(有效性、效率、灵活性、完整性、互操作性、可靠性、健壮性、可用性)和对开发者的质量属性(可维护性、可移植性、可复用性、可测试性)。

可行性分析

技术可行性:

本系统基于浏览器/服务器体系即人们常说的 B/S 体系,采用这种方式,可以使系统安装维护简便。数据集中管理,便于分散用户使用,适应互连时代软件的发展趋势。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 开发技术主要包括 Jsp,Java,JavaBean,JDBC 以及 Web 应用开发中常用的脚本语言 JavaScript 技术。Web 服务器采用 Tomcat,数据库采用 MySQL 数据库系统。对技术上提出了一定要求,但是凭现有的所学和掌握的知识情况已完全能满足设计开发的需求,并且能从一定程度上加深自己对知识的理解与运用。校友录管理系统是基于 B/S 架构的管理系统。本系统采用系统的开发方法,使用 Java 开发技术进行系统代码的编写,同时使用 JSP 对前台页面进行编写。前台开发工具选用 MyEclipse。MyEclipse 是一种可视化的、面向对象的开发工具,它具有易用通用且方便等特点[8]。后台数据库选用了 MySQL,它是一个快速、多线程、用户的 SQL 数据库服务器。这两种开发工具功能很强大,且环境搭建起来比较容易,作为本系统开发工具是可行的。

目前,硬件、软件的发展氛围以及开发环境等各项技术都符合开发系统的要求。校友录管理系统界面友好,使用方便,从技术上是可行的。

经济可行性:

由于本系统是为校友录管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。

操作可行性:

界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。所以操作性也没问题。利用面向对象的机构化方法,面向对象方法以“对象为中心”,在分析、研究对象及其属性的过程中,根据其内在规律建立求解模型。基于这种方法建立的软件系统,不管外部环境或功能需求如何变化,而对象内在的规律不变,因而不会引起软件结构的整体变化,所以系统是稳定的,利用此方法可以充分达到系统管理可行性的目的。而且本系统很容易被客户接受,上手简单,也极易推广。

系统功能需求分析

本系统共分三个主要角色功能模块:超级管理员功能模块、班级管理员功能模块和学生功能模块。

本系统超级管理员功能模块主要有以下三个功能:帐号管理功能、班级管理功能和网站信息管理功能。

帐号管理功能:超级管理员登录后台操作界面之后,能够进行相关帐号的管理功能操作。

班级管理功能:超级管理员能够对网站上已有的班级信息进行管理。

网站信息管理功能:网站信息管理功能又包括系统新闻管理和留言板信息维护管理功能,还有登陆日志维护功能。

班级管理员功能模块主要实现以下功能:帐号管理:注册用户帐号管理和个人帐号管理;班级信息管理:班级新闻管理和班级留言板管理。主要就是这四个功能。

帐号管理功能:班级管理员对校友录上的各自的班级的注册用户的帐号进行管

理,和对自己帐号的信息进行管理。

班级信息管理功能:班级管理员可以对跟班级相关的信息进行管理,包括班级

新闻管理和班级留言板管理。

学生功能模块主要实现以下功能:个人帐号信息管理功能、通讯录管理功能包括班级通讯录和校友通讯录、消息管理功能包括新闻查看功能和留言板功能。

个人信息管理功能:学生能够对自己帐号的信息进行管理。可以查看自己的账户信息,更改自己的信息等功能。

通讯录管理功能:用户可以对自己帐号的通讯录的信息进行管理,包括班级通

讯录和校友通讯录管理。

消息管理功能:消息管理又包括新闻管理和留言板管理。

运行环境需求

硬件环境需求

处理器: 英特尔酷睿 i5

内存: 4G

硬盘空间:500

显卡: NVIDIA GT 740M 2G 独显

软件环境需求

操作系统:windows 7

软件: MyEclipse

数据库: MySQL

四、系统总体设计

总体设计概述

通过对校友录管理系统的功能以及性能的需求分析,系统的大概功能结构已经基本的出来了。校友录管理系统主要分为前台信息浏览和后台信息管理两大部分。前台主要活动角色是普通校友用户,后台主要的活动角色是系统管理员和班级管理员。所以系统功能根据前后台的需求不同,对系统进行分模块设计。

本系统主要是基于 B/S 模式进行开发。在服务器端,动态网页的开发主要利用了 JSP 语言。为了使校友录管理系统适合相关操作人员的使用,系统的界面设计应该尽可能地符合工作人员的操作习惯。做到操作友好、简捷。系统功能也要更注重人性化。前台界面方面,要更贴合学生的习惯和爱好。

系统功能总体设计

本系统共分三个主要角色功能模块:超级管理员功能模块、班级管理员功能模块和学生功能模块。

4.1 超级管理员功能模块

本系统超级管理员功能模块主要有以下三个功能:帐号管理功能、班级管理功能和网站信息管理功能。

帐号管理功能:

超级管理员登录后台操作界面之后,能够进行相关帐号的管理功能操作。主要包括对管理员帐号的管理,以及对校友录注册用户的帐号管理。能够对这些帐号的信息进行查看。

班级管理功能:

超级管理员能够对网站上已有的班级信息进行管理。可以新增班级,查看班级信息和删除班级等功能。

网站信息管理功能:

网站信息管理功能又包括系统新闻管理、留言板信息维护管理功能和登陆日志维护功能。超级管理员可以对网站的系统新闻进行相应的操作,可以对留言板进行相应的操作,可以对系统登录的信息进行查看,可以对系统的人员登录日志进行查看。

4.2 班级管理员功能模块

班级管理员功能模块主要实现以下功能:帐号管理:注册用户帐号管理和个人帐号管理;班级信息管理:班级新闻管理和班级留言板管理。主要就是这四个功能。

帐号管理功能:

班级管理员对校友录上的各自的班级的注册用户的帐号进行管理,和对自己帐号的信息进行管理。可以查看注册用户的信息,更改自己的信息等功能。

班级信息管理功能:

班级管理员可以对跟班级相关的信息进行管理,包括班级新闻管理和班级留言板管理。能够对班级内的新闻信息进行查看,对已有的新闻信息进行修改,删除过时的新闻信息等,还能够对留言板上的留言进行查看,删除违规留言等功能。

4.3 学生功能模块

学生功能模块主要实现以下功能:个人帐号信息管理功能、通讯录管理功能包括班级通讯录和校友通讯录、消息管理功能包括新闻查看功能和留言板功能。

个人信息管理功能:

学生能够对自己帐号的信息进行管理。可以查看自己的账户信息,更改自己的信息等功能。

通讯录管理功能:

用户可以对自己帐号的通讯录的信息进行管理,包括班级通讯录和校友通讯录管理。系统能够根据用户的信息进行智能分组,自动显示自己班级已经注册帐号的同学,用户不用再手动进行添加。用户可以对班级内的通讯录信息进行查看,还可以根据学号或者姓名对用户进行模糊查找。

消息管理功能:

消息管理又包括新闻管理和留言板管理。用户可以对系统新闻和班级新闻进行查看,根据不同功能按钮对新闻进行分组查看。用户可以在留言板上添加自己的留言,可以对已有的留言信息进行查看。

系统功能模块结构图

通过对校友录管理系统的相关功能的系统设计,本系统的系统功能模块结构图如下:







图 4-1 功能模块结构图

以上就是系统的功能的总体设计。

五、系统数据库设计

数据库概要

在进行校友录管理系统的设计中,为了可以把用户的数据要求表达出来,就需要建立一个概念性的数据模(也称为信息模型)。这种模型是一种面向用户的数据模型。是完全按用户的需求和观点来对数据和信息建模。对从用户角度看到的数据进行了描述,反映了用户的现实需求。跟在软件开发的过程中实现的方法没有关系。实体—联系法是我们最常用的用来表示概念性数据模型的方法。这种方法用 E-R 图描述现实世界中的实体。不涉及这些实体在系统中的实现方法[9]。用这种方法表示的概念性数据模型称为 E-R 模型。ER 模型中包含“实体”,“联系”和“属性”[10]。

根据需求分析得出的结果,得出以下实体和实体之间的关系,即 E-R 图。

校友录管理系统实体图如以下图所示:







图 5-1 校友录管理系统管理员实体图







图 5-2 校友录管理系统班级实体图







图 5-3 校友录管理系统同学实体图







图 5-4 校友录管理系统留言实体图







图 5-5 校友录管理系统新闻实体图







图 5-6 校友录管理系操作记录施实体图

根据以上实体图,可以得到的信息如下:

系统管理员的各种信息,游乐场设施的信息,订单的信息等;

-R 图向关系模型的转换:

将以上个实体图所示的关系转化成关系模型:

管理员(id,登录名,密码,姓名,角色)

班级(id,年级,班级名)

同学(id,学号,密码,姓名,电话,性别,生日,QQ,邮箱,头像,状态,昵称,班级 id)

留言(id,标题,留言内容,留言时间,状态,回复,回复时间,留言人 id,留言人班级 id)

新闻(id,标题,内容,时间,种类,班级 id)

操作记录(id,时间,记录)

数据库物理表的设计

在设计程序之前需要将本系统用到的数据存储在表中,然后编写相应代码进行数据的控制操作。基于以上分析得出的 E-R 图,本系统的数据库表有六个。详细设计如下:

管理员信息表(t_admin)用于记录系统管理员的各种信息。管理员信息表包括的各个字段、类型、属性和作用如下:

表 4-1 管理员信息表

字段类型长度是否主键描述
idint8主键主键
accountvarchar20登录名
pwdvarchar20密码
namevarchar30姓名
roleint2角色
该表中“id“是该表的主键,该表主要用于保存系统管理员的基本信息。

班级表(t_class)用于保存班级的信息。班级表包括的各个字段,类型,属性和作用如下:

表 4-2 班级表

字段类型长度是否主键描述
idint8主键主键
gradevarchar20年级
namevarchar20班级名
该表中“id”作为主键,该表主要用于保存班级的基本信息。

同学表(t_stu)用于保存设施套票的信息。套票表包括的各个字段,类型,属性和作用如下:

表 4-3 同学表

字段类型长度是否主键描述
idint8主键主键
stu_novarchar20学号
pwdvarchar20密码
namevarchar20姓名
telvarchar11电话
sexvarchar2性别
birthdayvarchar10生日
QQvarchar20QQ
emailvarchar50邮箱
imgvarchar50头像
nicknamevarchar50昵称
stateint2状态
class_idint8外键外键(班级 id)
该表中“id”作为主键,该表主要用于保存学生的基本信息。

留言表(t_message)用于保存系统和班级留言的信息。留言表包括的各个字段,类型,属性和作用如下:

表 4-4 留言表

字段类型长度是否主键描述
idint8主键主键
titlevarchar50标题
textvarchar1024留言内容
timevarchar20留言时间
stateint2状态
rtextvarchar1024回复
rtimevarchar20回复时间
stu_idint8外键留言人 id
class_idint8外键留言人班级 id
该表中“id”作为主键,该表主要用于保存留言的基本信息。

新闻表(t_news)用于保存新闻的信息。新闻表包括的各个字段,类型,属性和作用如下:

表 4-5 新闻表

字段类型长度是否主键描述
idint8主键主键
titlevarchar50标题
textvarchar1024内容
timevarchar20时间
typeint2种类
class_idint8班级 id
该表中“id”作为主键,该表主要用于保存新闻的基本信息。

操作记录表(t_role)用于保存操作记录的信息。操作记录表包括的各个字段,类型,属性和作用如下:

表 4-5 操作记录表

字段类型长度是否主键描述
idint8主键主键
timevarchar20时间
textvarchar1024操作记录
该表中“id”作为主键,该表主要用于保存操作记录的基本信息。

本系统采用的数据库连接技术简介

校友录管理系统使用的是 MySQL 数据库,系统在跟数据库进行连接的时候实用的是 JDBC 数据库连接技术。JDBC 是 Java Database Connectivity 技术的简称。JDBC 是一种 API,在 Java 进行数据库编程的时候用的。JDBC 为软件开发人员提供了一套标准的编程接口。这套接口用于各种数据库的访问。这要实现以下功能:

与数据库建立连接。

发送 SQL 语句到数据库,由数据库进行执行。

处理 SQL 执行结果。

方式 1:

在 JSP 中创建 Java 片段,在 Java 片段中创建 Connection 类、Statement 类、ResultSet 类的对象 conn、stmt、rs,加载连接驱动根据给定的 url、user、password 连接本地数据库。

例如在 jump.jsp 中,如上所述创建一段 Java 片段,通过 SQL 查询语句访问数据库得到相应的结果集。具体代码如下:

<%Connection conn=null;Statement stmt=null;ResultSet rs=null;Class.forName("com.mysql.jdbc.Driver").newInstance();String url="jdbc:mysql://localhost:3306/huamei? unicode=true&characterEncoding=utf-8"; String user="root";String password="1";conn=DriverManager.getConnection(url,user,password);stmt=conn.createStatement();%>方式 2:

创建 BaseDao 公共类在其中创建连接数据库对应的类和对象加载 jdbc.properties 文件获取相应的连接属性连接数据库。

创建连接

private static Connection connection;private static Properties properties;static { properties = BaseDao.jdbcProperties(); try { Class.forName(properties.getProperty("driverClassName")); } catch (ClassNotFoundException e) {// TODO Auto-generated catch block printStackTrace(); }}加载指定文件

inStream = new BufferedInputStream(new FileInputStream(Constants.MY_PROPERTIES));

六、properties.load(inStream);

七、程序设计

根据前边的需求分析和系统总体设计的内容进行程序的设计。本系统是以 Java 语言为基础进行开发的。主要是采用 JSP 技术 +JavaBeans+ SQL 模式进行模块开发与实现的。全部都以面向对象的方法进行设计和实现。

后台登陆界面如图 6-1 所示:







图 6-1 后台登陆界面

7.1 帐号管理功能的设计与实现







图 6-2 管理员帐号管理功能的效果图







图 6-3 注册用户帐号管理功能的效果图

票价查看功能的详细实现过程

public List viewAll() { sql = "select id,stu_no,pwd,name,tel,sex,birthday,qq,email,img,nickname,state,class_id from t_stu "; List list = null; List<Student> newList = new ArrayList(); try { list = super.select(sql); if (!list.isEmpty()) { for (int i = 0; i < list.size(); i++) { ArrayList tempRow = (ArrayList) list.get(i); Student stu = new Student(); stu.setId(Integer.parseInt((String) tempRow.get(0))); stu.setStu_no((String) tempRow.get(1)); stu.setPwd((String) tempRow.get(2)); stu.setName((String) tempRow.get(3)); stu.setTel((String) tempRow.get(4)); stu.setSex((String) tempRow.get(5)); stu.setBirthday((String) tempRow.get(6)); stu.setQq((String) tempRow.get(7)); stu.setEmail((String) tempRow.get(8)); stu.setImg((String) tempRow.get(9)); stu.setNickname((String) tempRow.get(10)); stu.setState(Integer.parseInt((String) tempRow.get(11))); stu.setClass_id(Integer.parseInt((String) tempRow.get(12))); newList.add(stu); } } } catch (Exception e) { printStackTrace(); } return newList;}

7.2 班级管理功能的设计与实现







图 6-4 班级管理功能的效果图

班级管理功能的详细实现过程

public List viewAll() { sql = "select id,grade,name from t_class order by grade desc,name "; List list = null; List<Banji> newList = new ArrayList(); try { list = super.select(sql); if (!list.isEmpty()) { for (int i = 0; i < list.size(); i++) { ArrayList tempRow = (ArrayList) list.get(i); Banji banji = new Banji(); banji.setId(Integer.parseInt((String) tempRow.get(0))); banji.setGrade((String) tempRow.get(1)); banji.setName((String) tempRow.get(2)); newList.add(banji); } } } catch (Exception e) { printStackTrace(); } return newList;}

7.3 网站信息管理功能的设计与实现

网站信息管理实现的功能

网站信息管理功能又包括系统新闻管理和留言板信息维护管理功能。超级管理员可以对网站的系统新闻进行相应的操作,可以对留言板进行相应的操作。

网站信息管理功能的实现效果图



















图 6-5 网站信息管理功能的效果图

网站信息管理功能的详细实现过程

$(function() { datagrid4 = $('#datagrid4').datagrid({url : 'AdminViewNewsServlet',title : '系统新闻管理',pagination : true,pagePosition : 'bottom', pageSize : 10,pageList : [ 10, 20, 30, 40 ],fit : true,fitColumns:true,striped:true,idField : 'id',singleSelect:false,sortName : 'id',sortOrder : 'desc',checkOnSelect : true,selectOnCheck : true, scrollbarSize:0,toolbar : [ {text : '增加',iconCls : 'icon-add',handler : function() { NewEmployee(); } },'-', {text : '删除',iconCls : 'icon-remove',handler : function() { DeleteEmployee(); } },'-', {text : '刷新',iconCls : 'icon-reload',handler : function() {$('#datagrid4').datagrid({ url:'AdminViewNewsServlet' }) ; $('#searchForm4').form('reset'); } }, '-'],columns : [ [ {checkbox:true, width : 120, },{title : '编号',field : 'id', width : 125,align:'center' },{title : '发布时间',field : 'time', width : 125,align:'center' },{title : '标题',field : 'title', width : 125,align:'center' },{title : '种类',field : 'class_id', width : 125,align:'center',formatter:function(value) { if(value=="0") { return "系统新闻"; } else { return "班级新闻"; } },styler: function(index,row) { if(row.class_id==1) { return 'background-color:#E8FFC4;'; } } },{title : '操作',field : 'operate',align:'center', width : 150,formatter:function(value,rowData,rowIndex) { var pkV = rowData.evtrenewaid; var parentId = rowData.evtrenewacode; var opertorString='';// 判断是否使用编辑 if(rowData.class_id=="0") { opertorString="<img style=/"cursor:pointer;/" title=/"修改/" sytle=/"cursor:pointer;/" src=/"themes/icons/pencil.png/" onclick=/"EditEmployee()/"/>&nbsp;&nbsp;"; } else { opertorString="<img style=/"cursor:pointer;/" title=/"修改/" sytle=/"cursor:pointer;/" src=/"themes/icons/pencil_cancel.png/" />&nbsp;&nbsp;"; }//判断是否使用查看 opertorString=opertorString+"<img style=/"cursor:pointer;/" title=/"查看详情/" sytle=/"cursor:pointer;/" src=/"themes/icons/print.png/" onclick=/"CheckEmployeeDetails();/"/>&nbsp;&nbsp;"; return opertorString; }班级管理员功能模块的设计与实现

7.4 帐号管理功能的设计与实现







图 6-6 注册用户帐号管理功能的效果图







图 6-7 个人帐号管理功能的效果图

帐号管理功能的详细实现过程

int id = Integer.valueOf(request.getParameter("id"));AdminDao adminDao = new AdminDao();List<Admin> list = adminDao.viewAdmin(id);Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", list.size());String dataJson = JSONObject.fromObject(map).toString();response.getWriter().write(dataJson);

7.5 班级信息管理功能的设计与实现

班级信息管理功能实现的功能

班级管理员可以对跟班级相关的信息进行管理,包括班级新闻管理和班级留言板管理。能够对班级内的新闻信息进行查看,对已有的新闻信息进行修改,删除过时的新闻信息等,还能够对留言板上的留言进行查看,删除违规留言等功能。

班级信息管理功能的实现效果图







图 6-8 班级信息管理功能的效果图

班级信息管理功能的详细实现过程

public List searchByCid(String class_id) { sql = "select t1.id,t1.title,t1.text,t1.time,t1.state,t1.rtext,t1.rtime,t1.stu_id,t1.class_id,t2.stu_no,t3.grade,t3.name from t_message t1,t_stu t2,t_class t3 where t1.stu_id=t2.id and t1.class_id=t3.id and t1.class_id=" + class_id + " order by time desc"; List list = null; List<Message> newList = new ArrayList(); try { list = super.select(sql); if (!list.isEmpty()) { for (int i = 0; i < list.size(); i++) { ArrayList tempRow = (ArrayList) list.get(i); Message message = new Message(); message.setId(Integer.parseInt((String) tempRow.get(0))); message.setTitle((String) tempRow.get(1)); message.setText((String) tempRow.get(2)); message.setTime((String) tempRow.get(3)); message.setState(Integer.parseInt((String) tempRow.get(4))); message.setRtext((String) tempRow.get(5)); message.setRtime((String) tempRow.get(6)); message .setStu_id(Integer .parseInt((String) tempRow.get(7))); message.setClass_id(Integer.parseInt((String) tempRow .get(8))); message.setStu_no((String) tempRow.get(9)); message.setClass_name((String) tempRow.get(10) + (String) tempRow.get(11)); newList.add(message); } } } catch (Exception e) { printStackTrace(); } return newList;}用户功能模块的设计与实现

7.6 个人信息管理功能的设计与实现

个人信息管理功能实现的功能

学生能够对自己帐号的信息进行管理。可以查看自己的账户信息,更改自己的信息等功能。

个人信息管理功能的实现效果图







图 6-9 个人信息管理功能的效果图

个人信息管理功能的详细实现过程

var cardview = $.extend({}, $.fn.datagrid.defaults.view, {renderRow: function(target, fields, frozen, rowIndex, rowData) { var cc = []; cc.push('<td colspan=' + fields.length + ' style="padding:10px 100px;border:0;">'); if (!frozen) { cc.push('<img src="images/upload/' + rowData.img + '" style="height:150px;width:120px;float:left">'); cc.push('<div style="float:left;margin-left:250px;height:130px;width:200px;">'); for(var i=1; i<fields.length-1; i++) { var copts = $(target).datagrid('getColumnOption', fields[i]); cc.push('<p><span class="c-label">' + copts.title + ':</span> ' + rowData[fields[i]] + '</p>'); } cc.push('<img style=/"cursor:pointer;/" title=/"修改/" sytle=/"cursor:pointer;/" src=/"themes/icons/pencil.png/" onclick=/"EditEmployee2()/"/>&nbsp;&nbsp;&nbsp;&nbsp;'); cc.push('<img style=/"cursor:pointer;/" title=/"查看详情/" sytle=/"cursor:pointer;/" src=/"themes/icons/print.png/" onclick=/"CheckEmployeeDetails2();/"/>&nbsp;&nbsp;&nbsp;&nbsp;'); cc.push('<img style=/"cursor:pointer;/" title=/"上传图片/" sytle=/"cursor:pointer;/" src=/"themes/icons/application_view_tile.png/" onclick=/"EditEmployeeS2()/"/>&nbsp;&nbsp;&nbsp;&nbsp;'); cc.push('</div>'); } cc.push('</td>'); return cc.join(''); }});

7.7 通讯录管理功能的设计与实现

通讯录管理功能实现的功能

用户可以对自己帐号的通讯录的信息进行管理,包括班级通讯录和校友通讯录管理。系统能够根据用户的信息进行智能分组,自动显示自己班级已经注册帐号的同学,用户不用再手动进行添加。用户可以对班级内的通讯录信息进行查看,还可以根据学号或者姓名对用户进行模糊查找。

通讯录管理功能的实现效果图







图 6-10 通讯录管理功能的效果图

通讯录管理功能的详细实现过程

StuDao dao = new StuDao();String name=(String)request.getParameter("name");String stu_no=(String)request.getParameter("stu_no");List<Student> list = dao.searchAllScl(stu_no, name);Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", list.size());String dataJson = JSONObject.fromObject(map).toString();response.getWriter().write(dataJson);

7.8 消息管理功能的设计与实现

消息管理功能实现的功能

消息管理又包括新闻管理和留言板管理。用户可以对系统新闻和班级新闻进行查看,根据不同功能按钮对新闻进行分组查看。用户可以在留言板上添加自己的留言,可以对已有的留言信息进行查看。

消息管理功能的实现效果图







图 6-11 消息管理功能的效果图

消息管理功能的详细实现过程

int class_id = Integer.valueOf(request.getParameter("class_id"));NewsDao dao = new NewsDao();List<News> list = dao.viewNews(class_id);Map<String, Object> map = new HashMap<String, Object>();if(list.size()>0) { map.put("rows", list); map.put("total", list.size());} else { map.put("rows", list); map.put("total", 0); map.put("errorMsg", "现在没有数据");}String dataJson = JSONObject.fromObject(map).toString();System.out.println(dataJson);response.getWriter().write(dataJson);

八、谢 辞

经过了这段时间的紧张忙碌,我顺利地完成了我的毕业设计。在这几个多月的时间里,通过这次毕业设计的考核,我巩固了以前学习的知识,同时也学到了挺多新的知识。虽然学到了挺多知识,但是我意识到自己在知识方面还差很多。需要继续学习的知识如烟如海,这也是我继续努力的动力。

在本次毕业设计过程中,我首先要感谢我的指导老师。是她在我的毕业设计上给了我很多的帮助和指导。我也从指导老师身上我学到了很多在课堂上学不到的东西。在我的毕业设计的每一个阶段,指导老师都进行了详细的指导。当我遇到困难时,老师也仔细为我讲解,使我得到不少的提高。而且还不断给我提出了很多宝贵的意见,让我一步一步地完善我的程序和论文,使我能够有条不紊的进行毕业设计。最终完成我的毕业设计,指导老师居功至伟。

在这里,我还要感谢在学校里的教学中辛苦忙碌的各位老师,是他们传授给我了很多专业课程的知识,让我充实了自己。另外,在本次论文的完成过程中,也得到了许多同学的帮助。他们也帮助我解决了很多困难,教给我了挺多知识点。没有他们的帮助,我也不会这么快完成我的毕业论文。在此以并表示感谢!

九、参考文献

软件工程导论.第五版,杭州:清华大学出版社,2012 年 5 月.44~45

周怡.Java 程序设计案例教程.杭州:清华大学出版社,2014 年 2 月.38~40

Cay S.Horstmann. Java Web 核心编程技术. 机械工业出版社,2014 年 7 月.107~108

梁燕来.Java 面向对象程序设计.杭州:人民邮电出版社,2013 年 5 月.30~32

王小宁,张广彬.JSP 课程设计案例精编.杭州: 清华大学出版社,2011 年 7 月.60~61

明日科技.SQL Server 从入门到精通.杭州:清华大学出版社,2012 年 4 月.92

Sun Microsystems, Inc. Database Application Programming With Java Technology. 2013 年 7 月. 78~80.

郑建德.软件系统架构与开发环境.杭州:机械工业出版社,2013 年 5 月.45

李学相.Java 软件工程与项目案例教程.杭州:清华大学出版社,2012 年 5 月.34~35

李大卓,刘海.Eclipse 核心编程.杭州:人民邮电出版社,2013 年 11 月.158~159

孙卫琴.Tomcat 与 Java Web 开发技术详解.杭州:电子工业出版社,2014 年 8 月.112

Giulio Zambon.Beginning JSP, JSF and Tomcat:Java Web Development.美:Apress 出版社,2012 年 12 月.135~137

十、附 录

$(function() { datagrid4 = $('#datagrid4').datagrid({url : 'AdminViewNewsServlet',title : '系统新闻管理',pagination : true,pagePosition : 'bottom', pageSize : 10,pageList : [ 10, 20, 30, 40 ],fit : true,fitColumns:true,striped:true,idField : 'id',singleSelect:false,sortName : 'id',sortOrder : 'desc',checkOnSelect : true,selectOnCheck : true, scrollbarSize:0,toolbar : [ {text : '增加',iconCls : 'icon-add',handler : function() { NewEmployee(); } },'-', {text : '删除',iconCls : 'icon-remove',handler : function() { DeleteEmployee(); } },'-', {text : '刷新',iconCls : 'icon-reload',handler : function() {$('#datagrid4').datagrid({ url:'AdminViewNewsServlet' }) ; $('#searchForm4').form('reset'); } }, '-'],columns : [ [ {checkbox:true, width : 120, },{title : '编号',field : 'id', width : 125,align:'center' },{title : '发布时间',field : 'time', width : 125,align:'center' },{title : '标题',field : 'title', width : 125,align:'center' },{title : '种类',field : 'class_id', width : 125,align:'center',formatter:function(value) { if(value=="0") { return "系统新闻"; } else { return "班级新闻"; } },styler: function(index,row) { if(row.class_id==1) { return 'background-color:#E8FFC4;'; } } },{title : '操作',field : 'operate',align:'center', width : 150,formatter:function(value,rowData,rowIndex) { var pkV = rowData.evtrenewaid; var parentId = rowData.evtrenewacode; var opertorString='';// 判断是否使用编辑 if(rowData.class_id=="0") { opertorString="<img style=/"cursor:pointer;/" title=/"修改/" sytle=/"cursor:pointer;/" src=/"themes/icons/pencil.png/" onclick=/"EditEmployee()/"/>&nbsp;&nbsp;"; } else { opertorString="<img style=/"cursor:pointer;/" title=/"修改/" sytle=/"cursor:pointer;/" src=/"themes/icons/pencil_cancel.png/" />&nbsp;&nbsp;"; }//判断是否使用查看 opertorString=opertorString+"<img style=/"cursor:pointer;/" title=/"查看详情/" sytle=/"cursor:pointer;/" src=/"themes/icons/print.png/" onclick=/"CheckEmployeeDetails();/"/>&nbsp;&nbsp;"; return opertorString; }

关键词:管理,系统,校友

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭