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

上传人:精*** 文档编号:865458 上传时间:2023-10-05 格式:DOC 页数:27 大小:346.04KB
下载 相关 举报
JAVAEE课程设计学生个人学分统计系统.doc_第1页
第1页 / 共27页
JAVAEE课程设计学生个人学分统计系统.doc_第2页
第2页 / 共27页
JAVAEE课程设计学生个人学分统计系统.doc_第3页
第3页 / 共27页
JAVAEE课程设计学生个人学分统计系统.doc_第4页
第4页 / 共27页
JAVAEE课程设计学生个人学分统计系统.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、目 录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 登录测试205.2 查询测试205.3 增加测试205.4 删除测试206 总结与展望23参考文献24251 设计时间2014年1月19号2014年1月22号2 设计目的Java EE 与中间件课程设计是对

2、所学Java EE 与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的Java Web 程序。利用所学Java Web 程序设计知识,开发设计一套基于Java EE 平台的小型管理系统,掌握Struts2、Spring 及Hibernate 三大框架的配置和使用,巩固数据库基本操作,培养学生分析问题、解决实际问题能力。3设计任务(一)必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除课程信息(课程编码、课程名称、课程类别(选修和必修)、学分数);统计出自

3、己添加的必修课的学分和选修课的学分。(2)添加课程信息(3)查看课程信息(4)删除课程信息(5)分别统计必修课和选修课的总学分(二)开发语言与开发环境:MyEclipse6.0、Java、数据库(mysql)、后台交互语言为Java。采用Struts2和Hibernate组合框架设计。4 设计内容 4.1数据库分析4.1.1 E-R图userusernamepassword图4-1 用户表E-R图cnamectypecreditcoursecid图4-2 课程表E-R图4.1.2 逻辑设计1.关系模式 user(username ,password);course(cid,cname,ctyp

4、e,credit);2. 系统表表4-1 数据表course列名数据类型长度是否为空含义usernamevarchar50N主键,用户名passwordvarchar50Y用户密码 表4-2 数据表course列名数据类型长度是否为空含义cidint8N课程编码,主键, cnamevarchar50Y课程名称ctypevarchar50Y课程类别creditint8Y学分数4.2程序流程的实现4.2.1 程序流程图登录界面输入用户名称和密码验证用户名和密码成功页面错误页面执行操作选择操作NY结束开始是否结束YN图4-3 程序流程图4.2.2 程序层次关系图登录模块密器、解密模块成功模块密器、解

5、密模块失败模块密器、解密模块删除模块查询模块添加模块图4-4 层次关系图4.3 系统代码实现 4.3.1 工程目录结构图4-5 工程目录结构如图4-5,其中src目录下有Hibernate配置文件“hibernate.cfg.xml”和Struts2配置文件“ struts.xml”;在com.hjg.action包下有数据库表user和course的实体类及其映射文件;在com.hjg.action包下有实现登录验证、查询、插入、删除的action方法;WebRoot目录下是实现程序的登录、插入等功能及返回页面。 4.3.2 实体类的实现1.本程序有两个实体类,代表用户信息的实体类的类名为“

6、User”,它的实现代码如下:public class User private 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

7、;类User的映射文件为“User.hbm.xml”,它的关键代码如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN忽略:/2. 代表课程信息的实体类的类名为“Course”,它的实现代码如下:public class Course private int cid;private String cname;private String ctype;private int credit;public int getCid() return cid;public void setCid(int

8、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) this.ctype = ctype;public int getCredit() return credit;public void setCredit(int credit) this.credit = credit;类Course的映射文

9、件为“course.hbm.xml”,它的关键代码如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN忽略:/4.3.3 Action类的实现1.验证登录信息的Action类的类名为“LoginAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中验证登录,它的实现代码如下:public class LoginAction extends ActionSupportprivate String username;private String pa

10、ssword;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()throws ExceptionConfiguration cfg=new Configuratio

11、n();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=query.list();if(list.size()=0)return error;elsereturn succ

12、ess;2.查询课程信息的Action类的类名为“SelectAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中进行查询并返回结果,它的实现代码如下:public class SelectAction extends ActionSupport public String execute() throws Exception calculate1();calculate2();return select;public List allCourse() Configuration cfg = new Configuration();Sessio

13、nFactory sf = cfg.configure().buildSessionFactory();Session session = session = sf.openSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(from Course);List list= query.list();for (Course s : list) System.out.print(s.getCid() + );System.out.print(s.getCna

14、me() + );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 sessionFactory = configuration.buildSessionFactory();Session session = sessi

15、onFactory.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().equals(必修) sum1 += s.getCredit();mit();session.close();return sum1;public int ca

16、lculate2() int sum2 = 1;Configuration configuration = new Configuration().configure();SessionFactory sessionFactory = configuration.buildSessionFactory();Session session = sessionFactory.openSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(from Course)

17、;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提供的ActionSupport类,并在execute()方法中删除和输入id相同的项,它的实现代码如下:public class DeleteAction extends Act

18、ionSupport private String cid;public String getCid() return cid;public void setCid(String cid) this.cid = cid;public String execute() throws Exception int ci = Integer.parseInt(cid);String hql = delete from Course where cid= + String.valueOf(ci);Configuration cfg = new Configuration();SessionFactory

19、 sf = cfg.configure().buildSessionFactory();Session session = sf.openSession();Transaction transaction = session.beginTransaction();Query query = session.createQuery(hql);query.executeUpdate();mit();session.close();return delete;4.增加课程信息的Action类的类名为“InsertAction”,它继承了Struts2提供的ActionSupport类,并在execu

20、te()方法中增加输入的项,它的实现代码如下: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() return cid;public void setCid(String cid) this.cid = cid;public String getCname() return cn

21、ame;public 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(String credit) this.credit = credit;public String execute() throws Exception Course c=new Cours

22、e();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();SessionFactory sf = cfg.configure().buildSessionFactory();Session session = sf.openSession();Tra

23、nsaction transaction = session.beginTransaction(); session.save(c);mit();session.close();return insert;4.3.4 JSP页面的实现1.登录页面login.jsp代码,用于填写用户名和密码并提交:登录页面2.登录成功页面success.jsp代码,登陆成功后可选择下一步操作: 登录成功 登录成功,请选择操作 查询操作 刪除操作 增加操作 3.登录失败页面error.jsp代码,登录失败后必须返回登录页面重新登录: 登录失败 用户名或密码错误,请返回重新登录! 返回 3.查询页面select.j

24、sp代码,查询数据库course表的内容及选修课和必修课的总学分:查询页面所有课程%SelectAction sa = new SelectAction();List list = sa.allCourse();%课程编码课程名称课程学分课程类别必修总学分:选修总学分:返回4.删除页面delete.jsp代码,根据输入的id号删除表中的项:My JSP delete.jsp starting page请输入你要删除课程的ID号:5.增加页面insert.jsp代码,根据输入内容向表中插入数据:My JSP delete.jsp starting page请输入你要增加的课程:4.3.5 配置信

25、息的实现1.struts2配置文件struts.xml,主要实现了各个Action类的跳转:/success.jsp/error.jsp/select.jsp/select.jsp/select.jsp2.Web应用配置文件web.xml中配置了Struts2的核心拦截器:web-app version=2.5 xmlns=忽略:/ xmlns:xsi=忽略:/0012.w3.org/2001/XMLSchema-instance xsi:schemaLocation=忽略:/ 忽略:/ login.jsp struts2 org.apache.struts2.dispatcher.Filte

26、rDispatcher struts2 /* 4.3.6 JAR包除了基本的MyEclipse6和Java EE 5的jar包外,还用到了连接MySQL、引入Struts2及hibernate3.1所需要的包,如图4-6.图4-6 需要的jar包5程序测试5.1 登录测试 图5-1 登录页面图5-2 登录失败页面图5-3登录成功页面5.2 查询测试图5-4查询页面5.3 增加测试图5-5增加前页面图5-6增加后页面5.4 删除测试图5-7 删除前页面图5-8 删除后页面6 总结与展望通过此次课程设计,将我本学期所学的JAVA EE知识得到巩固和应用,对JAVA EE这门课有了全面的认识和了解。

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

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922