您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > JAVAEE课程设计学生个人学分统计系统
软件学院课程设计报告书课程名称JavaEE课程设计设计题目学生个人学分统计系统专业班级学号姓名指导教师2014年1月2目录1设计时间.....................................................12设计目的.....................................................13设计任务.....................................................14设计内容.....................................................14.1数据库分析.................................................14.1.1E-R图...................................................14.1.2逻辑设计.................................................14.2程序流程的实现.............................................24.2.1程序流程图...............................................24.2.2程序关系层次图...........................................24.3系统代码实现...............................................24.3.1工程目录结构.............................................44.3.2实体类的实现.............................................44.3.3Action类的实现..........................................44.3.4JSP页面的实现...........................................44.3.5配置信息的实现...........................................44.3.6JAR包...................................................45程序测试....................................................205.1登录测试..................................................205.2查询测试..................................................205.3增加测试..................................................2035.4删除测试..................................................206总结与展望..................................................23参考文献......................................................2411设计时间2014年1月19号—2014年1月22号2设计目的JavaEE与中间件课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的JavaWeb程序。利用所学JavaWeb程序设计知识,开发设计一套基于JavaEE平台的小型管理系统,掌握Struts2、Spring及Hibernate三大框架的配置和使用,巩固数据库基本操作,培养学生分析问题、解决实际问题能力。3设计任务(一)必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除课程信息(课程编码、课程名称、课程类别(选修和必修)、学分数);统计出自己添加的必修课的学分和选修课的学分。(2)添加课程信息(3)查看课程信息(4)删除课程信息(5)分别统计必修课和选修课的总学分(二)开发语言与开发环境:MyEclipse6.0、Java、数据库(mysql)、后台交互语言为Java。采用Struts2和Hibernate组合框架设计。4设计内容4.1数据库分析4.1.1E-R图图4-1用户表E-R图userusernamepassword2图4-2课程表E-R图4.1.2逻辑设计1.关系模式user(username,password);course(cid,cname,ctype,credit);2.系统表表4-1数据表course列名数据类型长度是否为空含义usernamevarchar50N主键,用户名passwordvarchar50Y用户密码表4-2数据表course列名数据类型长度是否为空含义cidint8N课程编码,主键,cnamevarchar50Y课程名称ctypevarchar50Y课程类别creditint8Y学分数4.2程序流程的实现cnamectypecreditcoursecid34.2.1程序流程图图4-3程序流程图登录界面输入用户名称和密码验证用户名和密码成功页面错误页面执行操作选择操作NY结束开始是否结束YN44.2.2程序层次关系图图4-4层次关系图4.3系统代码实现4.3.1工程目录结构图4-5工程目录结构登录模块密器、解密模块成功模块密器、解密模块失败模块密器、解密模块删除模块查询模块添加模块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.本程序有两个实体类,代表用户信息的实体类的类名为“User”,它的实现代码如下:publicclassUser{privateStringusername;privateStringpassword;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}类User的映射文件为“User.hbm.xml”,它的关键代码如下:?xmlversion=1.0encoding=utf-8?!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN!--MappingfileautogeneratedbyMyEclipsePersistenceTools6--hibernate-mappingclassname=com.hjg.domain.Useridname=username/idpropertyname=password/property/class/hibernate-mapping2.代表课程信息的实体类的类名为“Course”,它的实现代码如下:publicclassCourse{privateintcid;privateStringcname;privateStringctype;privateintcredit;publicintgetCid(){returncid;}publicvoidsetCid(intcid){this.cid=cid;}publicStringgetCname(){returncname;}publicvoidsetCname(Stringcname){this.cname=cname;}publicStringgetCtype(){returnctype;}publicvoidsetCtype(Stringctype){7this.ctype=ctype;}publicintgetCredit(){returncredit;}publicvoidsetCredit(intcredit){this.credit=credit;}}类Course的映射文件为“course.hbm.xml”,它的关键代码如下:?xmlversion=1.0encoding=utf-8?!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN!--MappingfileautogeneratedbyMyEclipsePersistenceTools--hibernate-mappingclassname=com.hjg.domain.Courseidname=cid/idpropertyname=cname/propertypropertyname=ctype/propertypropertyname=credit/property/class/hibernate-mapping4.3.3Action类的实现1.验证登录信息的Action类的类名为“LoginAction”,它继承了Struts2提供的ActionSupport类,并在execute()方法中验证登录,它的实现代码如下:publicclassLoginActionextendsActionSupport{privateStringusername;8privateStringpassword;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringexecute()throwsException{Configurationcfg=newConfiguration();SessionFactorysf=cfg.configure().buildSessionFactory();Sessionsession=sf.openSession();session.beginTransaction();Queryquery=session.createQuery(fromUserasuwhereu.username='+this.username+'andu.password='+this.password+');Listlist=query.list();if(list.size()==0){returnerr
本文标题:JAVAEE课程设计学生个人学分统计系统
链接地址:https://www.777doc.com/doc-7327844 .html