学生信息管理系统_第1页
学生信息管理系统_第2页
学生信息管理系统_第3页
学生信息管理系统_第4页
学生信息管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、厚德树人笃学致用、遵义师范学院毕业论文(设计)题目: 基于struts2学生信息管理系统设计与实现系别 计算机科学系 专业 计算机科学与技术 年级 2008级 姓名 王凯 学号 指导教师 杨道平 2011年 2月 25 日 目录摘 要21 引言32 系统需求分析32.1 系统建设的技术可行性分析32.2 功能需求分析32.3 系统功能分析42.4系统开发主要工具及其介绍42.4.1MyEclipse工具42.4.2 Mysql数据库介绍53 总体设计53.1 系统的总体设计53.2数据库设计53.2.1数据描述63.2.2 数据表的设计74 详细设计与实现84.1 系统的功能模块分析84.2

2、系统功能模块设计94.3 系统功能模块设计与程序编写104.3.1 页面设计模块104.3.2 登录模块104.3.3注册页面模块114.3.4学生管理模块124.3.5课程管理模块155测试165.1管理员登录16结束语20参考文献21基于struts2学生信息管理系统设计与实现王凯摘 要:依据我校的学生管理系统功能上的一些缺陷和不足,为了使学校的学生管理系统更加完善,管理起来更加的方便,我独自研发了一个系统,本系统主要在window7系统平台下以java开发为主,web的形式运用及打开,主要以Myeclipse开发工具,struts2框架,jdbc,mysql数据库,tomcat服务器共同

3、研发而成,主要采用B/S结构,主要框架是struts2框架,jquery前台表单验证技术,该系统主要是以学生信息,课程管理为主。关键字:信息管理系统;struts2;mysql 1 引言 在当今学校学生问题越来越多的条件下,管理学生信息方面的问题越来越严峻,一个学校的学生管理系统的好坏决定了该学校管理学生信息的完善与不足,本系统是基于本校学生管理系统研制了一下系统,该系统主要解决当前学校学生管理系统的不足。开发此系统的目的是帮助学校学生管理系统管理学生信息更加的完善化,符合当前的学校环境。该系统的使用人员主要有1类:管理员;管理员就是具有特殊权限的员工,他可以在系统界面中增删学生信息、学生课程

4、的查看、学校课程安排的查看、学生信息的查看。 本系统主要是对学生信息的自动化管理,使得学生基本信息管理、学生异动情况管理完全自动化,达到学生管理更加准确细致的目标。所以本系统只适合于学校的管理部门、办公室以及领导层。2 系统需求分析2.1 系统建设的技术可行性分析 本系统用MyEclipse开发工具,struts2框架Mysql数据库等结合以WEB的形式展现是现实应用中比较合理的一种解决方案。操作简单数据库方面管理容易,维护方面容易。2.2 功能需求分析(1)系统设置: 注册:可以添加新的管理员 登录:登录主页面 主页面:可以查看并管理学生信息(2)学生信息: 增加学生信息:可以增加新学生的信

5、息 查询学生信息:可以查询学生的信息 删除学生信息:可以按学生学号删除学生信息(3)学生课程信息: 查询课程信息:主要查看学生的主课与选课信息 查询课程安排:主要查询课程的情况与信息 (4)管理员条例: 查询管理员条例:主要查询学校管理员方面的条例2.3 系统功能分析 本系统主要实现管理员对学生的管理,和对学生课程情况的查看,主要由前台和后台两部分组成。2.4系统开发主要工具及其介绍2.4.1MyEclipse工具 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J

6、avaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernatesa、在本系统的研发与检测中的核心工具 struts2框架功能介绍 Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。 Struts2框架的大概处理

7、流程如下: 1、加载类(FilterDispatcher) 2、读取配置(struts配置文件中的Action) 3、派发请求(客户端发送请求) 4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action ) 5、启用拦截器(WebWork拦截器链自动对请求应用通用功能) 6、处理业务(回调Action的execute()方法) 7、返回响应(通过execute方法将信息返回到FilterDispatcher) 8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面) 9、

8、响应用户(jsp-客户浏览器端显示) 10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)2.4.2 Mysql数据库介绍MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPLGNU通用公共许可证。由

9、于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。3 总体设计3.1 系统的总体设计如图3.0所示 学生管理系统登录注册主页面课程查看课程安排学生信息学生添加信息修改会员注册学校制度图3.0总体结构设计图3.2 数据库设计E-R图如图3.1所示登录用户学生信息课程信息管理员登录密码管理学号邮箱姓名电话性别民族课程安排查看学生课程选修科目主修科目 图3.1 整体的ER图数据库设计师系统功能设计的最主要的一部分,主要是注重在数据的一致性和完整性,确保数据的输入和输出的正确性。3.2.1数据描述 依据总体设计的思想,主

10、要的数据库成员包括如下几个方面1管理员功能描述 其功能主要是管理学生信息,其主要属性的E-R图如图3.2.所示 管理员学号姓名邮箱性别电话密码 图3.2 管理员 E-R图2学生功能描述:主要是把学生信息呈现给管理员并保存于数据库中,其主要的E-R图如图3.3所示学生学号姓名邮箱性别电话民族 图3.3 学生E-R图3课程功能:主要呈现给管理员看学生所选的课程信息和课程安排其E-R图如图3.4所示课程课程号选修课选修课1选修课2主课1主课学生号 图 3.4 课程ER图3.2.2 数据表的设计(1)管理员表(注册信息表 user)如表 3.5所示 表3.5 管理员信息表主要属性格式长度允许为空Id(

11、学号)bigint自增长noName(姓名)varchar20yesPasswordvarchar20yesEmail(邮箱)varchar40yesPhone(电话)varchar20yesGenda(性别)varchar4yes (2)学生信息表(student)如表 3.6所示表3.6 学生信息表主要属性格式长度允许为空Id(学号)bigint自增长noName(姓名)varchar20yesmingZhu(名族)varchar20yesEmail(邮箱)varchar40yesPhone(电话)varchar20yesGenda(性别)varchar4yes (3)课程表(sc)如表3

12、.7所示 表3.7 课程表主要属性格式长度允许为空Id(课程号)bigint自增长NoZhuke(主修)Varchar20yesZhuke1(主修1)Varchar20yesXuanxiu(选修)Varchar20yesXuanxiu1(选修1)Varchar20yesParent_id(学号)Int20yes 4 详细设计与实现4.1 系统的功能模块分析: 基于学校学生管理系统的不足,开发此系统的目的就是弥补学校系统功能以及新能上的不住,本系统的主要工作流程(如下图4-1所示)以及性能如下:(1)系统功能 主要包括管理员的登录与注册,在登录时要进行密码的判定,注册的时候进行表单的验证,对学生

13、信息的查询和修改,对课程的查询,还有学生课程的安排,以数据库的形式显示和保留数据,操作简单快捷。(2)数据管理功能这里主要是对学生信息的添加以数据的形式保留在数据库中,以及对学生课程数据的取出,另外对课程安排时的数据的取出,管理员账号及判定的数据操作。(3)信息查询功能对于学生数据库中的信息,进行主要操作是查看和添加删除,即可以显示出数据库中所有学生的所有信息,对学生课程的查询以及课程的安排可以根据不同条件对数据进行筛选,查询所需课程与学生的信息。4.2 系统功能模块设计 (1)页面设计页面设计是系统展现给用户看的画面,它关系到一个系统的外貌,外貌的好坏在一定程度上影响了用户的心情。页面主要以

14、JSP脚本文件设计,主要包括页面的大小,格式布局,图片的插入背景颜色的调节,表格的添加,表格的格式,表单的添加,页面有多个小页面组成,所以要设计一些小的页面,以便页面层次清晰,内容明了。 (2)登录页面设计 在设计之前,用已经设计好的页面进行编写,写入相应的表单,表单内容只有登录名和密码,登录条件是管理员的姓名,密码,外加验证码,管理员信息通过注册存入数据库,当管理员登录时必须做一个Action从页面获取管理员的姓名而后在数据库中查询,进行对比,当用户名与密码一致时,则进入主页面,但是当密码和用户名不一致时,则跳出一个制定的页面。(3)注册页面设计注册页面设计主要包括管理员的信息填写,这里需建

15、立以表单加表格的形式呈现给用户,并且建立一个JSP,在JSP中运用JQuery语句进行格式的判定,定义相应的格式,当用户符合格式要求时,则注册成功,就可以进入主要的页面,在这里还要进行判断,数据库中是否已经存在了用户,若存在则弹出提示,用户需重新填写信息。 (4)主页面设计主页面以已经设计好的页面为模板,设计相应的菜单栏,其中菜单栏的内容主要有,标题为信息管理(学生添加、查看信息),标题为课程选项(课程查看,课程情况),标题为额外信息(师院条例,管理员注册)这几个菜单栏,每个菜单栏又有不同的功能,信息管理中的学生添加,这里主要是添加学生的信息,填入数据库,查看信息,这里主要显示学生的信息,从数

16、据库中获取学生的信息以表格的形似显示在页面上,课程查看,查看学生所选的课程,课程事先写好在数据库中,当点击时以表格的形式显示出来,课程情况,当点击时显示课程的安排时间和代课老师等信息,师院条例,这里主要设计是学校管理所要遵守的规章制度,以免不法分子任意操作系统,从而造成数据的流失,管理员注册,这是一个链接连到管理员注册页面,以便增加新的管理员。4.3 系统功能模块设计与程序编写4.3.1 页面设计模块在MyEclipse工程中建立几个JSP,在不同的JSP中的Style写入不同的Css,在主要的body中写入不同的机构,然后通过include实现多个JSP连接到一个JSP中,从而页面设计成功。

17、页面设计中是整个工程相对较难的一块,其中涉及了很多链接和JSP节点与标签的运用问题,4.3.2 登录模块在设计之前,用已经设计好的页面进行编写,写入相应的表单,表单内容只有登录名和密码,登录条件是管理员的姓名,密码,外加验证码,管理员信息通过注册存入数据库,当管理员登录时必须做一个Action从页面获取管理员的姓名而后在数据库中查询,进行对比,当用户名与密码一致时,则进入主页面,但是当密码和用户名不一致时,则跳出主页面如图4.1所示 登录验证主页面 图 4.1 用户登录验证用户代码如下所示:UserDao ud=new UserDao();u=ud.find(name);if(u!=null&

18、u.getPassword().equals(password)System.out.println(u.getEmail();System.out.println(password);return success;return fals4.3.3注册页面模块注册页面设计主要包括管理员的信息填写,这里需建立以表单加表格的形式呈现给用户,并且建立一个JSP,在JSP中运用JQuery语句进行格式的判定,定义相应的格式,当用户符合格式要求时,则注册成功,就可以进入主要的页面,在这里还要进行判断,数据库中是否已经存在了用户,若存在则弹出提示,用户需重新填写信息如图4.2所示。 注册表单验证主页面 图

19、 4.2 学生注册 主要是对用户检测 代码如下这是添加用户代码这是表单检测用户的jquery语句messages::required:用户名必须填写,user.password:required:密码必须填写,minlength:密码长度不能小于6位,password1: equalTo: 两个Password必须一样,user.email:required:Email必须填写,email:必须填写正确的Email) );4.3.4学生管理模块(1)学生添加页面设计 这里我主要以表单的形式让用户输入学生的信息,从而进行添加,管理员在添加学生的时候,学生信息以数据的形式存入到数

20、据库中,从而学生添加成功,用户可以在学生详细信息栏看见所添加的学生信息如图4.3所示学生信息 学生添加添加成功 图4.3 学生添加(2)具体的方法代码如下Private static final String add=INSERT INTO STUDENT(name,email,mingZhu,phone,gendar) VALUES (?,?,?,?,?); public void add(Student s) throws Exception Connection conn=null; try conn=DBUtil.getConnection(); PreparedStatement s

21、tmt=conn.prepareStatement(add); stmt.setString(1, s.getName(); stmt.setString(2, s.getEmail(); stmt.setString(3, s.getMingZhu(); stmt.setString(4, s.getPhone(); stmt.setString(5, s.getGendar(); stmt.executeUpdate(); catch(Exception e) e.printStackTrace(); finally DBUtil.close(conn); (3)学生详细信息以及删除这个功

22、能主要是通过从数据库中输出数据让后以表格的形式显现出来,添加了一个删除链接,以便用户删除如图4.4所示学生删除删除成功查看成功 图4.4 学生删除主要的方法代码如下:删除学生信息代码:public void delete(long id) throws Exception Connection conn=null; conn=DBUtil.getConnection(); PreparedStatement stmt=conn.prepareStatement(del); stmt.setLong(1, id); stmt.executeUpdate(); try conn=DBUtil.ge

23、tConnection(); catch(Exception e) e.printStackTrace(); finally DBUtil.close(conn); 查询学生信息代码如下: private static final String findAll=select id,name,email,mingZhu,phone from student; public List findAll() throws Exception Connection con = null;try con = DBUtil.getConnection();PreparedStatement stmt = c

24、on.prepareStatement(findAll);ResultSet rs = stmt.executeQuery();List studentList = new ArrayList();while (rs.next() Student s = new Student();s.setId(rs.getLong(1);s.setName(rs.getString(2);s.setEmail(rs.getString(3);s.setMingZhu(rs.getString(4);s.setPhone(rs.getString(5);studentList.add(s);return s

25、tudentList; catch (SQLException e) e.printStackTrace();throw new DaoEception(, e); finally DBUtil.close(con);4.3.5课程管理模块(1)课程界面设计 本界面主要是在做好的界面里添加了一个表格,然后由数据库中调入数据,从而实现了该界面。这里主要是对学生课程的查看。(2)课程查询的主要方法如下:private static final String findAll=select id,xuanxiu,xuanxiu1,zhuke,zhuke1,zhuke2,parent_id from s

26、c; public List findAll() throws Exception Connection con = null;try con = DBUtil.getConnection();PreparedStatement stmt = con.prepareStatement(findAll);ResultSet rs = stmt.executeQuery();List studentList = new ArrayList();while (rs.next() Scstudent s = new Scstudent();s.setId(rs.getLong(1); s.setXua

27、nxiu(rs.getString(2); s.setXuanxiu1(rs.getString(3); s.setZhuke(rs.getString(4); s.setZhuke1(rs.getString(5); s.setZhuke2(rs.getString(6); s.setParent_id(rs.getInt(7);studentList.add(s);return studentList; catch (SQLException e) e.printStackTrace();throw new DaoEception(, e); finally DBUtil.close(con);5测试5.1管理员登录 管理员通过用户名和密码登录到主页面(管理员通过注册进入主页面)如图5.1所示 图5.1 登录界面如果没有管理员则可以点击页面的注册按钮则进入注册页面,如图5.2所示 图5.2 注册页面本系统提供了一个帐号 用户名11 密码 11 用户从登录页面进入主页面如图5.3所示 图5.3 主页面进入主页面用户可以点击左栏的菜单进行操作 菜单有 学生添加 查看信息 课程查看 课程安排 师院条例 管理员注册,当用户点击学生添加时则可以弹出如图5.4所示 图5.4 学生添加点击确定则添加成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论