收藏 分享(赏)

JAVAEE课程设计学生个人学分统计系统.doc

上传人:精品资料 文档编号:10715777 上传时间:2019-12-31 格式:DOC 页数:28 大小:326KB
下载 相关 举报
JAVAEE课程设计学生个人学分统计系统.doc_第1页
第1页 / 共28页
JAVAEE课程设计学生个人学分统计系统.doc_第2页
第2页 / 共28页
JAVAEE课程设计学生个人学分统计系统.doc_第3页
第3页 / 共28页
JAVAEE课程设计学生个人学分统计系统.doc_第4页
第4页 / 共28页
JAVAEE课程设计学生个人学分统计系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、软 件 学 院课程设计报告书课程名称 Java EE 课程设计 设计题目 学生个人学分统计系统 专业班级 学 号 姓 名 指导教师 2014 年 1 月2目 录1 设计时间 .12 设计目的 .13设计任务 14 设计内容 .14.1 数据库分析 14.1.1 E-R图 14.1.2逻辑设计 14.2 程序流程的实现 24.2.1程序流程图 24.2.2程序关系层次图 24.3 系统代码实现 24.3.1工程目录结构 44.3.2 实体类的实现 .44.3.3 Action类的实现 .44.3.4 JSP页面的实现 44.3.5配置信息的实现 44.3.6 JAR包 45程序测试 .205.1

2、 登录测试 205.2 查询测试 205.3 增加测试 2035.4 删除测试 206 总结与展望 23参考文献 2411 设计时间2014 年 1 月 19 号2014 年 1 月 22 号2 设计目的Java EE 与中间件课程设计是对所学 Java EE 与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的 Java Web 程序。利用所学 Java Web 程序设计知识,开发设计一套基于 Java EE 平台的小型管理系统,掌握 Struts2、Spring 及Hibernate 三大框架的配置

3、和使用,巩固数据库基本操作,培养学生分析问题、解决实际问题能力。3设计任务(一)必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除课程信息(课程编码、课程名称、课程类别(选修和必修)、学分数);统计出自己添加的必修课的学分和选修课的学分。(2)添加课程信息(3)查看课程信息(4)删除课程信息(5)分别统计必修课和选修课的总学分(二)开发语言与开发环境:MyEclipse6.0、Java、数据库(mysql)、后台交互语言为 Java。采用 Struts2 和Hibernate 组合框架设计。4 设计内容 4.1数据库分析4.1.1 E-R图use

4、rusername password2图 4-1 用户表 E-R 图cname ctypecreditcoursecid图 4-2 课程表 E-R 图4.1.2 逻辑设计1.关系模式user(username ,password);course(cid,cname,ctype,credit);2. 系统表表 4-1 数据表 course列名 数据类型 长度 是否为空 含义username varchar 50 N 主键,用户名password varchar 50 Y 用户密码表 4-2 数据表 course列名 数据类型 长度 是否为空 含义cid int 8 N 课程编码,主键, cnam

5、e varchar 50 Y 课程名称ctype varchar 50 Y 课程类别credit int 8 Y 学分数4.2程序流程的实现34.2.1 程序流程图登录界面输入用户名称和密码验证用户名和密码成功页面错误页面执行操作选择操作NY结束开始是否结束Y N4图 4-3 程序流程图4.2.2 程序层次关系图登录模块密器、解密模块成功模块密器、解密模块失败模块密器、解密模块删除模块查询模块添加模块图 4-4 层次关系图4.3 系统代码实现 4.3.1 工程目录结构5图 4-5 工程目录结构如图 4-5,其中 src 目录下有 Hibernate 配置文件“hibernate.cfg.xml

6、”和 Struts2 配置文件“ struts.xml”;在 com.hjg.action 包下有数据库表 user 和 course 的实体类及其映射文件;在 com.hjg.action 包下有实现登录验证、查询、插入、删除的 action 方法;WebRoot目录下是实现程序的登录、插入等功能及返回页面。 4.3.2 实体类的实现1.本程序有两个实体类,代表用户信息的实体类的类名为“User” ,它的实现代码如下:public class User private String username;private String password;public String getUsern

7、ame() return username;6public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;类 User 的映射文件为 “User.hbm.xml”,它的关键代码如下:2. 代表课程信息的实体类的类名为“Course”,它的实现代码如下:public class Course private

8、int cid;private String cname;private String ctype;private int credit;7public int getCid() return cid;public void setCid(int cid) this.cid = cid;public String getCname() return cname;public void setCname(String cname) ame = cname;public String getCtype() return ctype;public void setCtype(String ctype

9、) this.ctype = ctype;public int getCredit() return credit;public void setCredit(int credit) this.credit = credit;类 Course 的映射文件为“course.hbm.xml ”,它的关键代码如下:4.3.3 Action类的实现1.验证登录信息的Action类的类名为“LoginAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中验证登录,它的实现代码如下:public class LoginAction extends Actio

10、nSupportprivate String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;public String execute()t

11、hrows Exception9Configuration cfg=new Configuration();SessionFactory sf=cfg.configure().buildSessionFactory();Session session=sf.openSession();session.beginTransaction();Query query=session.createQuery(“from User as u where u.username=“+this.username+“ and u.password=“+this.password+“);List list=que

12、ry.list();if(list.size()=0)return “error“;elsereturn “success“;2.查询课程信息的Action类的类名为“SelectAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中进行查询并返回结果,它的实现代码如下:public class SelectAction extends ActionSupport public String execute() throws Exception calculate1();calculate2();return “select“;public Li

13、st allCourse() Configuration cfg = new Configuration();SessionFactory sf = cfg.configure().buildSessionFactory();Session session = session = sf.openSession();Transaction transaction = session.beginTransaction();10Query query = session.createQuery(“from Course“);List list= query.list();for (Course s

14、: list) System.out.print(s.getCid() + “ “);System.out.print(s.getCname() + “ “);System.out.print(s.getCredit() + “ “);System.out.println(s.getCtype();mit();session.close();return list;public int calculate1() int sum1 = 0;Configuration configuration = new Configuration().configure();SessionFactory se

15、ssionFactory = configuration.buildSessionFactory();Session session = sessionFactory.openSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(“from Course“);List list = query.list();for (Course s : list) System.out.println(s.getCtype();if (s.getCtype().equa

16、ls(“必修“) sum1 += s.getCredit();mit();session.close();return sum1;11public int calculate2() int sum2 = 1;Configuration configuration = new Configuration().configure();SessionFactory sessionFactory = configuration.buildSessionFactory();Session session = sessionFactory.openSession();Transaction transac

17、tion = session.beginTransaction();Query query = session.createQuery(“from Course“);List list = query.list();for (Course s : list) System.out.println(s.getCtype();if (s.getCtype().equals(“选修“) sum2 += s.getCredit();mit();session.close();return sum2;3.删除课程信息的Action类的类名为“DeleteAction”,它继承了Struts2提供的Act

18、ionSupport类,并在execute()方法中删除和输入 id相同的项,它的实现代码如下:public class DeleteAction extends ActionSupport private String cid;public String getCid() return cid;public void setCid(String cid) this.cid = cid;public String execute() throws Exception 12int ci = Integer.parseInt(cid);String hql = “delete from Cours

19、e where cid=“ + String.valueOf(ci);Configuration cfg = new Configuration();SessionFactory sf = cfg.configure().buildSessionFactory();Session session = sf.openSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(hql);query.executeUpdate();mit();session.clos

20、e();return “delete“;4.增加课程信息的Action类的类名为“InsertAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中增加输入的项,它的实现代码如下:public class InsertAction extends ActionSupport private String cid;private String cname;private String ctype;private String credit;private Course c = new Course();public String getCid()

21、return cid;public void setCid(String cid) this.cid = cid;public String getCname() return cname;13public void setCname(String cname) ame = cname;public String getCtype() return ctype;public void setCtype(String ctype) this.ctype = ctype;public String getCredit() return credit;public void setCredit(St

22、ring credit) this.credit = credit;public String execute() throws Exception Course c=new Course();int ci = Integer.parseInt(cid);String ca = cname;String ct = ctype;int cr = Integer.parseInt(credit);c.setCid(ci);c.setCname(ca);c.setCredit(cr);c.setCtype(ct);Configuration cfg = new Configuration();Ses

23、sionFactory sf = cfg.configure().buildSessionFactory();Session session = sf.openSession();Transaction transaction = session.beginTransaction();session.save(c);mit();session.close();return “insert“;4.3.4 JSP页面的实现1.登录页面login.jsp代码,用于填写用户名和密码并提交:登录页面2.登录成功页面success.jsp代码,登陆成功后可选择下一步操作:登录成功 15登录成功,请选择操作

24、查询操作刪除操作 增加操作 3.登录失败页面error.jsp代码,登录失败后必须返回登录页面重新登录:登录失败用户名或密码错误,请返回重新登录!返回3.查询页面select.jsp代码,查询数据库course表的内容及选修课和必修课的总学分:查询页面16所有课程list = sa.allCourse();%课程编码课程名称课程学分课程类别必修总学分:选修总学分:返回4.删除页面delete.jsp代码,根据输入的id号删除表中的项:My JSP delete.jsp starting page请输入你要删除课程的ID号:5.增加页面insert.jsp代码,根据输入内容向表中插入数据:18M

25、y JSP delete.jsp starting page请输入你要增加的课程:4.3.5 配置信息的实现1.struts2配置文件struts.xml,主要实现了各个Action类的跳转:/success.jsp/error.jsp/select.jsp19/select.jsp/select.jsp2.Web应用配置文件web.xml中配置了Struts2 的核心拦截器:login.jspstruts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*204.3.6 JAR包除了基本的 MyEclipse6 和 Java EE

26、5 的 jar 包外,还用到了连接 MySQL、引入Struts2 及 hibernate3.1 所需要的包,如图 4-6.图 4-6 需要的 jar 包5程序测试5.1 登录测试 21图 5-1 登录页面图 5-2 登录失败页面图 5-3 登录成功页面5.2 查询测试图 5-4 查询页面5.3 增加测试22图 5-5 增加前页面图 5-6 增加后页面5.4 删除测试图 5-7 删除前页面23图 5-8 删除后页面6 总结与展望通过此次课程设计,将我本学期所学的 JAVA EE 知识得到巩固和应用,对 JAVA EE这门课有了全面的认识和了解。虽然在设计的过程中我遇到了很到问题,不过在老师和同

27、学们的帮助和自己的思考下基本上实现了系统设计任务,但是对选做功能:多条件组合查询及分页显示功能没能很好的完成,而且在设计中也只使用了 Struts2+Hibernate的组合框架,对于 Spring 框架还是不能很好的运用。这此课程设计还让我懂得了写程序不能闭门造车,还有很多的不足,对 JAVA EE 相关知识的了解还不够深刻。要努力拓宽知识面,开阔视野,拓展思维。24参考文献1 范立峰,林果园 编著.Java Web 程序设计教程.北京: 人民邮电出版社2 (美) Bruce Eckel 著.陈昊鹏 译.Java 编程思想.第 4 版.北京:机械工业出版社3 张帆 等编著 .Java 范例开发大全.北京:清华大学出版社4 李刚轻量级 Java EE 企业应用实战.第 3 版:电子工业出版社5 李兴华, 王月清 名师讲坛:Java Web 开发实战经典基础篇:清华大学出版社25成绩评定成绩 教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报