《javaee课程设计.doc》由会员分享,可在线阅读,更多相关《javaee课程设计.doc(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软 件 学 院课程设计报告书课程名称 Java EE 与中间件课程设计 设计题目 社团管理系统 专业班级 软件12-5班 学 号 1220010518 姓 名 王义武 指导教师 常戬 2015 年 1 月目录1 设计时间32 设计目的33 设计任务34 设计内容34.1 需求分析.34.1.1 总体目标34.1.2具体目标.44.1.3 系统数据建模44.1.4 系统功能建模44.1.5 数据字典54.2 总体设计64.3详细设计94.3.1模块详细设计94.3.2流程设计104.4运行与测试115 总结与展望14附录15参考文献29成绩评定291 设计时间2015年1月19日2015年1月2
2、3日2 设计目的Java EE 与中间件课程设计是对所学 Java EE 与中间件课程的小结,是提高 学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们 对课程中所学习到的知识综合运用,开发有一定规模的 Java Web 程序。利用所 学 Java Web 程序设计知识,开发设计一套基于 Java EE 平台的小型管理系统, 掌握 Struts2、Spring 及 Hibernate 三大框架的配置和使用,巩固数据库基本操 作,培养学生分析问题、解决实际问题能力。3 设计任务社团管理系统:(一)必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;登录系
3、统时,有两种权限:管理员权限和普通用户权限。管理员用户可以查看所有学生的社团信息 ,以及对所有社团进行管理;可以添加、查看和删除相应的社团信息。(2)添加社团:包括社团名称,性质,学院,负责人等等信息;(3)查看社团:管理员可以查看及删除社团信息,其他只能查看社团的信息;(4)删除社团:管理员和负责人可以删除;(5)对社团管理:每年社团举行的活动记录,每次活动可以进行打分并进行统计排名。(二)开发语言与开发环境: Java、MyEclipse、MySQL。4 设计内容4.1需求分析 4.1.1 总体目标 用户以合法身份登录系统后,才能进行所有操作;登录系统 时,有两种权限:管理员权限和普通用户
4、权限。管理员用户可以查看所 有学生的社团信息 ,以及对所有社团进行管理;可以添加、查看和删 除相应的社团信息。4.1.2 具体目标1)添加社团:包括社团名称,性质,学院,负责人等等信息;2)看社团:管理员可以查看及删除社团信息,其他只能查看社团的信息;3)删除社团:管理员和负责人可以删除; 4)对社团管理:每年社团举行的活动记录,每次活动可以进行打分并进 行统计排名。密码社团ID学生用户ID姓名参加社团名学院参加社团社团名性质参加活动活动ID时间地点分数4.1.3 系统数据建模M1MN图4.1.3.1 系统ER图4.1.4 系统功能建模数据流图(DFD),它用来描述目标系统的逻辑结构,它是由实
5、体部分,处理部分,数据存储部分和数据流四部分组成。返回登录信息查看信息用户登录用户社团管理系统图4.1.4.1 顶层数据流图成功删除合法添加成功 登录信息错误结果添加信息查看信息社团号存储文件 1 登录 界面 2 删除 社团 信息 5查看成员信息 3添加社团信息管理员登陆图4.1.4.2 一层数据流图4.1.5 数据字典名称:查看社团信息 别名:定义:查看学校所有社团信息描述:将数据库中社团信息表的内容显示出来位置:系统数据库图4.1.5.1 社团信息数据流图名称:添加社团信息别名: 定义:增加新成立的社团信息描述:将输入的学生信息插入到数据库社团信息表中位置:数据库图4.1.5.2 添加社团
6、信息数据流图名称:查看活动信息 别名:定义:查看社团的活动信息描述:将数据库中社团信息表的内容显示出来位置:数据库,打印机 图4.1.5.3 查看活动信息数据字典名称:添加活动信息别名: 定义:向系统添加活动详细信息描述:将输入的活动信息插入到数据库活动信息表中位置:系统数据库图4.1.5.4 添加活动数据字典4.2 总体设计一、系统层次图社团管理系统查看社团信息查看活动信息查看学生信息添加活动添加删除社团查看活动信息查看社团信息查看学生信息普通用户登录管理员登陆图4.2.1 系统层次图二、数据库设计本系统包含三个数据库表,分别是users、shetuan和activity。下面是三个数据库表
7、的设计内容的截图:1) users表表一 users表 列名 数据类型 长度 允许空 文字描述 id int 4 用户编号 username varchar 20 Y 用户姓名password varchar 20 Y 密码sname varchar 20 Y 所在社团xueyuan varchar 20 Y 所在学院isadmin varchar 4 Y 是否为管理员图4.2.2 数据库表users 2)shetuan表表二 社团表 列名 数据类型 长度 允许空 文字描述 sid int 5 社团编号 sname varchar 20 Y 社团名称type varchar 20 Y 社团性质
8、图4.2.3 数据库表shetuan3)activity表表三 activity表 列名 数据类型 长度 允许空 文字描述 aid int 5 活动编号 aname varchar 20 Y 活动名称score int 10 Y 获得分数sname varchar 20 Y 参与社团place varchar 20 Y 举办地点time date 0 Y 活动时间图4.2.4 是数据库表activity4.3详细设计4.3.1模块详细设计本系统具有以下几个功能模块:用户登录模块、查看信息模块、添加社团和活动信息模块、删除社团信息模块。1) 用户登录模块流程图:开始输入用户名和密码判断用户名和密
9、码选择操作功能结束Y N图4.3.1.1 系统程序流程图4.3.2流程设计本系统采用struts2+Hibernate框架,用到了和数据库有关的最基本的方法定义,包括增、删、改、查等。主要Action类与页面的设计如下:1)类和方法的说明:表4.3.2.1 类和方法的相关说明 包名 类名/方法名 功能说明 com.action LoginAction.java 包含登陆和用户信息的查看等方法 com.action Register.java 注册新用户的方法 com.action StuanAction.java 包含对社团各种操作的方法 com.action ActivityAction.j
10、ava 包含对活动各种操作的方法 2)页面设计的说明:表4.3.2.2 页面设计 页面名 功能说明 index.jsp 用户登录页面 activityadd.jsp 添加活动界面 activitydetail.jsp 查看活动信息 error,jsp 登陆信息错误register.jsp 注册新用户shetuanadd.jsp 添加社团信息shetuandetail.jsp 查看社团信息ssucess.jsp 管理员登陆成功界面success1.jsp 普通用户登录成功界面 userdetail.jsp 查看用户信息 4.4运行与测试1)登陆测试图4.4.1 登陆界面图4.4.2 管理员登陆成
11、功界面图4.4.3 普通用户登录界面2)操作测试图4.4.4 查看用户信息图4.4.5 查看活动信息图4.4.6 查看社团信息图4.4.7 添加社团图4.4.8 删除社团图4.4.9 添加活动5 总结与展望通过本次的程序设计本次的课程设计让我对,对struts与hibernate框架的操作使用也进一步熟练,了解了项目开发的相关步骤,但也有问题如对数据的操作问题,通过muyclpse自动生成dao包,相关配置文件的配置还不熟练,最大的问题还是类间的调用不清楚和明确。通过此次的实验相信对web开发会有更加深刻的认识和理解。附录LoginAction.javapublic class LoginAc
12、tion extends ActionSupportprivate 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
13、 String execute() userDAO userdao=new userDAOImpl(); if(userdao.check(username, password) String is=null; Session session=HibernateSessionFactory.getSession();Query query=session.createQuery(select isadmin from Users where username=+username+ and password=+password+);List list=query.list();if(list.t
14、oString().equals(Y) return success;else return success1; else return error;public String userd()userDAO userdao=new userDAOImpl();List users=userdao.findAll(); ActionContext req=ActionContext.getContext(); Map request=(Map)req.get(request); request.put(userd,users);return userd;Register.javapublic c
15、lass Register extends ActionSupportprivate String username;private String password;private String xueyuan;private String shetuan; public String getXueyuan() return xueyuan;public void setXueyuan(String xueyuan) this.xueyuan = xueyuan;public String getShetuan() return shetuan;public void setShetuan(S
16、tring shetuan) this.shetuan = shetuan;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() userDAOImpl userda
17、o=new userDAOImpl();Users u = new Users();u.setIsadmin(N);u.setPassword(password);u.setUsername(username);u.setXueyuan(xueyuan);u.setSname(shetuan);userdao.save(u);return null; ActivityAction.javapublic class ActivityAction private String aname;private String sname;private int score;private String p
18、lace;Date time=new Date();public String getAname() return aname;public void setAname(String aname) this.aname = aname;public String getSname() return sname;public void setSname(String sname) this.sname = sname;public int getScore() return score;public void setScore(int score) this.score = score;publ
19、ic String getPlace() return place;public void setPlace(String place) this.place = place;public String execute()return null;public String d()activityDAO adao=new activityDAOImpl();List acts=adao.findAll(); ActionContext req=ActionContext.getContext(); Map request=(Map)req.get(request); request.put(ac
20、tivityd,acts);return activityd;public String add()activityDAO adao=new activityDAOImpl();Activity a=new Activity();a.setAname(aname);a.setSname(sname);a.setScore(score);a.setPlace(place);a.setTime(time);adao.save(a);return activitya;StuanAction.javapublic class StuanAction private String sname;priva
21、te String type;private int sid;public int getSid() return sid;public void setSid(int sid) this.sid = sid;public String getSname() return sname;public void setSname(String sname) this.sname = sname;public String getType() return type;public void setType(String type) this.type = type;public String exe
22、cute()return null;public String d()shetuanDAO sdao=new shetuanDAOImpl();List sts=sdao.findAll(); ActionContext req=ActionContext.getContext(); Map request=(Map)req.get(request); request.put(shetuand,sts);return shetuand;public String dd()shetuanDAO sdao=new shetuanDAOImpl();List sts=sdao.findAll();
23、ActionContext req=ActionContext.getContext(); Map request=(Map)req.get(request); request.put(shetuand,sts);return shetuandd;public String add()shetuanDAO sdao=new shetuanDAOImpl();Shetuan s=new Shetuan();s.setType(type);s.setSname(sname);sdao.save(s);return shetuana;public String delete()shetuanDAO
24、sdao=new shetuanDAOImpl();sdao.delete(sid);return shetuandelete;userDAOImpl.javapublic class userDAOImpl implements userDAO private String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getP
25、assword() return password;public void setPassword(String password) this.password = password;public Session getSession() return HibernateSessionFactory.getSession();public boolean save(Users users) Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();trysessi
26、on.save(users);mit();catch(Exception e)ts.rollback();e.printStackTrace();session.close();return true;public boolean update(Users users) / TODO Auto-generated method stubSession session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();try session.saveOrUpdate(users); mit
27、();catch(Exception e)ts.rollback();session.close();return true;public boolean check(String username, String password) Session session = HibernateSessionFactory.getSession();Query query=session.createQuery(from Users where username=? and password=?).setString(0, username).setString(1, password);List
28、list=(List)query.list();if (list.size()1)return false;elsereturn true;public List findAll() / TODO Auto-generated method stubSession session=HibernateSessionFactory.getSession();Query query=session.createQuery(from Users);List list=query.list();return list;activityDAOImpl.javapublic class activityDA
29、OImpl implements activityDAOpublic Session getSession() return HibernateSessionFactory.getSession();public boolean save(Activity activity) Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();trysession.save(activity);mit();catch(Exception e)ts.rollback();e.
30、printStackTrace();session.close();return true;public List findAll() / TODO Auto-generated method stubSession session=HibernateSessionFactory.getSession();Query query=session.createQuery(from Activity);List list=query.list();return list;shetuanDAOImpl.javapublic class shetuanDAOImpl implements shetua
31、nDAOprivate int sid;public int getSid() return sid;public void setSid(int sid) this.sid = sid;public Session getSession() return HibernateSessionFactory.getSession();public boolean save(Shetuan shetuan) Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();tr
32、ysession.save(shetuan);mit();catch(Exception e)ts.rollback();e.printStackTrace();session.close();return true;public boolean delete(int sid)Session session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();tryShetuan shetuan= (Shetuan)session.get(Shetuan.class,sid);sessio
33、n.delete(shetuan);mit();catch(Exception e)ts.rollback();e.printStackTrace();session.close();return true;public List findAll() / TODO Auto-generated method stubSession session=HibernateSessionFactory.getSession();Query query=session.createQuery(from Shetuan);List list=query.list();return list;参考文献1 屈
34、辉立,陈可明,石武信.JSP网站编程教程M.第1版, 北京:北京希望电子出版社,2005 2 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on Web Services (ICWS04),2004.6(5):1732.3 VB数据库管理范例: 成绩评定成绩 教师签字软 件 学 院课程设计报告书课程名称 Java EE 与中间件课程设计 设计题目 社团管理系统 专业班级 软件12-05 学 号 1220010518 姓 名 王义武 指导教师 常戬 2015 年 1 月59 常 武王王 0 号 0 理管管 设设件与与 告报 签师师 评 / = ? / . 范理理 :( . , 出出望希京版版.教网 信明,屈文 ) . ) = ) .