版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软 件 学 院课程设计报告书课程名称 JavaEE 与中间件 设计题目 社团管理系统 专业班级 软件12-5班 学 号 1220010526 姓 名 赵立刚 指导教师 常 戬 2015年 1 月目录1 设计时间22 设计目的23 设计任务23.1开发平台23.2设计题目24 设计内容34.1 需求分析34.2 总体设计34.2.1数据库中表的设计34.2.2项目的结构设计的设计44.3 详细设计54.4 测试与分析184.4.1 测试184.4.2 分析214.5 附录225 总结与展望42参考文献43成绩评定431 设计时间 2015年1月19日-2015年1月23日2 设计目的 Java
2、EE 与中间件课程设计是对所学 Java EE 与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的 Java Web 程序。利用所学 Java Web 程序设计知识,开发设计一套基于 Java EE 平台的小型管理系统,掌握 Struts2、Spring 及 Hibernate 三大框架的配置和使用,巩固数据库基本操作,培养学生分析问题、解决实际问题能力。3 设计任务3.1开发平台1). MyEclipse 10 及相关插件;2).Tomcat6.0;3).后台交互语言为 Java;4).数据库Ora
3、cle 10g;5).Struts2 与 Hibernate 组合。3.2设计题目 社团管理系统 必备功能说明: 1).功能描述:用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和普通用户权限。管理员用户可以查看所有学生的社团信息 ,以及对所有社团进行管理;可以添加、查看和删除相应的社团信息。 2).添加社团:包括社团名称,性质,学院,负责人等等信息; 3).查看社团:管理员可以查看及删除社团信息,其他只能查看社团的信息; 4).删除社团:管理员和负责人可以删除; 5).对社团管理:每年社团举行的活动记录,每次活动可以进行打分并进行统计排名。 选做功能:多条件组合
4、查询及分页显示功能等。4 设计内容4.1 需求分析 根据3.2所给的设计题目,可知得到管理员与负责人的的功能,在Oracle数据库中建立的表:1.管理员具备功能:1).查看所有学生社团信息;2).可以添加、查看和删除相应的社团信息;3).对社团进行管理;2.负责人具备功能:1)查看所有负责社团信息;2).可以添加、查看和删除相应的社团信息;3).对社团进行管理;3.在数据库中需要建立的表:1).Users表:记录管理员和负责人的用户名和密码;2).Shetuan表:记录社团的编号、名称、性质、学院、负责人等相关信息;3).Huodong表:记录的时每一个社团活动的内容和评分情况。4.2 总体设
5、计内容包括:4.2.1数据库中表的设计 因为一个负责人可以负责多个社团,一个社团由一个负责人负责,一个社团有多个活动,一个活动属于一个一个社团,所以可以得出建立表的Sql语句为: 负责人负责 社团 1 n 图4-1 负责人与社团的关联关系 社团属于 活动 m 1 图4-2 活动与社团的关联关系4.2.2项目的结构设计的设计 1)项目的整体结构:图4-3 整体结构2)项目的com.zlg.action的结构:图4-4 com.zlg.action结构3)项目的com.zlg.bean的结构:图4-5 com.zlg.bean结构 4)项目的com.zlg.factory的结构:图4-6 com.
6、zlg.factory结构 5)项目的dao的结构:图4-7 dao结构 6)项目所有JSP页面:图4-8 jsp页面7)项目Struts2与链接数据库的架包:图4-9 Struts2与链接数据库的架包4.3 详细设计4.3.1数据库的设计语句:1) Users表:记录管理员和负责人的用户名、密码和性质; create table USERS( id number(6) primary key, UNAME varchar(20), UPASS varchar(20) not null, XINGZHI number(6);图4-10 Users表2) Shetuan表:记录社团的编号、名称、
7、性质、学院、负责人等相关信息; create table shetuan( sid number(6) primary key, Sname varchar(20), Sxingzhi varchar(20), xueyuan varchar(20), Sfuzhe number(6), foreign key (sfuzhe) references users(id);图4-10 Shetuan表3)Huodong表:记录的时每一个社团活动的内容和评分情况。create table huodong( hid number(6) primary key, text varchar(100),
8、sid number(6), foreign key (sid) references shetuan(sid);图4-11 Huodong表4.3.2项目的实现:1) com.zlg.action中的Chaozuo类,用于实现相关操作: public class Chaozuo extends ActionSupport public String Chakans() return SUCCESS; public String Tianjias()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter(&q
9、uot;id");List list=chazhao.getyshetuan(id);ServletActionContext.getRequest().setAttribute("yishetuan", list);return SUCCESS; public String Chakan() return SUCCESS; public String Guanli()return SUCCESS;public String Tianjia()return SUCCESS;public String Fanhuizhu()return SUCCESS;2) com
10、.zlg.action中的Huodongaction类,用于实现相关操作:public class Huodongaction private String text;public String getText() return text; public void setText(String text) this.text = text; public String Pingfen() int hid=Integer.parseInt(ServletActionContext.getRequest().getParameter("id"); int grade= Inte
11、ger.parseInt(ServletActionContext.getRequest().getParameter("grade");System.out.println(hid);System.out.println(grade); CaozuoHuodong.pingfen(hid,grade); return "success" public String Thuodong()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id"
12、);System.out.println(id);CaozuoHuodong.insert(id,text);return "success" public String Tianjiah()return "success" 3)com.zlg.action中的Loginaction类,用于实现相关操作: public class LoginAction extends ActionSupport static List<Users> list1; private static String uname; private String upa
13、ss; public static String getUname() return uname;public void setUname(String uname) this.uname = uname;public String getUpass() return upass;public void setUpass(String upass) this.upass = upass; public String Login()list1=new ArrayList<Users>(); List<Users>list=dao.Gets.getuserlist(); i
14、f(list.size()=0)System.out.println("qwertyyuuu");return ERROR; else for(int i=0;i<list.size();i+)Users users=(Users)list.get(i);if(users.getUname().equals(uname)&& users.getUpass().equals(upass)list1.add(users);return SUCCESS;return LOGIN;/* *获取当前登陆者的信息 * return */public static
15、List getuList()return list1;4)com.zlg.action中的Shetuanaction类,用于实现相关操作: public class Shetuanaction private String sname; private String sxingzhi; public String getSname() return sname; public void setSname(String sname) this.sname = sname; public String getSxingzhi() return sxingzhi; public void setS
16、xingzhi(String sxingzhi) this.sxingzhi = sxingzhi; public String Add()String xueyuan=ServletActionContext.getRequest().getParameter("xueyuan");String fuzheren=ServletActionContext.getRequest().getParameter("fuzheren");shetuanguanli.tianjiashetuan(sname, sxingzhi, xueyuan, fuzhere
17、n);return "success" public String Delete()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id");shetuanguanli.shanchushetuan(id);return "success" public String Seek()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id&q
18、uot;);ServletActionContext.getRequest().setAttribute("huodong", shetuanguanli.Findhuodong(id);return "success"public String Update()String xueyuan=ServletActionContext.getRequest().getParameter("xueyuan");String fuzheren=ServletActionContext.getRequest().getParameter(&q
19、uot;fuzheren");shetuanguanli.gengxinshetuan(sname, sxingzhi, xueyuan, fuzheren);return "success" 5) dao中的CaozuoHuodong类,用于实现相关操作: public class CaozuoHuodong public static void insert(int id,String text)HuodongDAO huodongDAO=new HuodongDAO();ShetuanDAO shetuanDAO=new ShetuanDAO();Sessi
20、on session=huodongDAO.getSession();Transaction transaction=session.beginTransaction();Huodong huodong=new Huodong();huodong.setText(text);Shetuan shetuan=(Shetuan)shetuanDAO.findById(id);huodong.setShetuan(shetuan);shetuan.getHuodongs().add(huodong);huodongDAO.save(huodong);mit();session.close(); pu
21、blic static void delete(int id)HuodongDAO huodongDAO=new HuodongDAO();Session session=huodongDAO.getSession();Huodong huodong=huodongDAO.findById(id);Transaction transaction=session.beginTransaction();huodongDAO.delete(huodong);mit();session.close(); public static void pingfen(int hid,int grade)Huod
22、ongDAO huodongDAO=new HuodongDAO();Huodong huodong=huodongDAO.findById(hid);huodong.setGrade(grade);Session session=huodongDAO.getSession();Transaction transaction=session.beginTransaction();trysession.update(huodong);mit();catch (Exception e) / TODO: handle exceptionsession.close();6) dao中的chazhao
23、类,用于实现相关操作: public class chazhao public static List shetuan() List list = Gets.getshetuanlist();List l = new ArrayList();for (int i = 0; i < list.size(); i+) Shetuan shetuan = (Shetuan) list.get(i);UsersDAO userdao = new UsersDAO();Users users = userdao.findById(shetuan.getUsers().getId();l.add(u
24、sers);return l;public static List<Shetuan> Pgetshetuan() List list = Gets.getshetuanlist();List l = new ArrayList();UsersDAO userdao = new UsersDAO();String uname = LoginAction.getUname();Users users = (Users) userdao.findByUname(uname).get(0);int k=users.getId();for(int i=0;i<list.size();i
25、+) Shetuan shetuan=(Shetuan)list.get(i); if(shetuan.getUsers().getId()=k)l.add(shetuan); return l; public static List getyshetuan(int id) List list=new ArrayList(); ShetuanDAO shetuanDAO=new ShetuanDAO(); Shetuan shetuan=shetuanDAO.findById(id); list.add(shetuan); return list; 7)dao类中的Gets,实现相关操作 pu
26、blic class Gets public static SessionFactory sessionfactory; static try Configuration config = new Configuration();config.configure();sessionfactory = config.buildSessionFactory(); catch (Exception e) e.printStackTrace();public static List<Users> getuserlist() Session session = sessionfactory.
27、openSession();Transaction tx = null;List list = new ArrayList();try tx = session.beginTransaction();list = session.createQuery("from Users as u").list();mit();session.close(); catch (Exception e) e.printStackTrace();return list;public static List<Shetuan> getshetuanlist()Session sess
28、ion = sessionfactory.openSession();Transaction tx = null;List list = new ArrayList();try tx = session.beginTransaction();list = session.createQuery("from Shetuan as s").list();mit();session.close(); catch (Exception e) e.printStackTrace();return list;public static List<Huodong> gethu
29、odonglist()Session session = sessionfactory.openSession();Transaction tx = null;List list = new ArrayList();try tx = session.beginTransaction();list = session.createQuery("from Huodong as h").list();mit();session.close(); catch (Exception e) e.printStackTrace();return list;8)dao类中的shetuang
30、uanli 类,用于实现相关操作: public class shetuanguanli public static void tianjiashetuan(String sname,String sxingzhi,String xueyuan,String sfuzhe)UsersDAO usersDAO = new UsersDAO();ShetuanDAO shetuanDAO = new ShetuanDAO();Session session = shetuanDAO.getSession();Transaction transaction = session.beginTransa
31、ction();Shetuan shetuan=new Shetuan();shetuan.setSname(sname);shetuan.setSxingzhi(sxingzhi);shetuan.setXueyuan(xueyuan);Users users = (Users)usersDAO.findByUname(sfuzhe).get(0);shetuan.setUsers(users);users.getShetuans().add(shetuan);shetuanDAO.save(shetuan);mit();session.close();public static void
32、shanchushetuan(int id)ShetuanDAO shetuanDAO=new ShetuanDAO();Shetuan shetuan=shetuanDAO.findById(id);Session session=shetuanDAO.getSession();Transaction transaction = session.beginTransaction();session.delete(shetuan);mit();session.close(); public static List Findhuodong(int id)List list1=new ArrayL
33、ist();ShetuanDAO shetuanDAO=new ShetuanDAO();Shetuan shetuan=shetuanDAO.findById(id);HuodongDAO huodongDAO=new HuodongDAO();List<Huodong> list=huodongDAO.findAll(); for(Huodong huodong:list) if(huodong.getShetuan().getSid()=id) list1.add(huodong); return list1; public static void gengxinshetua
34、n(String sname,String sxingzhi,String xueyuan,Stringfuzheren) ShetuanDAO shetuanDAO=new ShetuanDAO(); Shetuan shetuan=(Shetuan)shetuanDAO.findBySname(sname).get(0); UsersDAO usersDAO=new UsersDAO(); Users users=(Users)usersDAO.findByUname(fuzheren).get(0); shetuan.setSname(sname); shetuan.setXueyuan
35、(xueyuan); shetuan.setSxingzhi(sxingzhi); shetuan.setUsers(users); Session session=shetuanDAO.getSession(); Transaction transaction=session.beginTransaction(); try session.update(shetuan); mit(); catch (Exception e) / TODO: handle exception session.close(); 9)com.zlg.bean为自动生成的方法还有对象及与数据库的映射4.4 测试与分
36、析4.4.1 测试1. 登陆界面1)管理员登录图4-12 管理员登录图4-13 登录结果2)负责人登录:图4-14 普通用户登录图4-15 登录结果2. 社团管理:1)添加社团:图4-16 添加社团图4-17 添加等到的结果2)编辑社团:图4-18 进行编辑图4-19 编辑得到的结果3)删除社团图4-20 删除演示图4-21 删除得到的结果4)查看社团活动:图4-22 查看社团活动5)添加活动:图4-23 添加活动图4-24 等到的结果4.4.2 分析 这是一个的管理系统,可以进行相关的操作,例如管理员和负责人进行登录及其进行的相关操作,利用Struts2和hibernate组合的方式来实现,
37、struts2进行action调用,hibernate进行数据库访问。4.5 附录1) com.zlg.action中的Chaozuo类,用于实现相关操作: public class Chaozuo extends ActionSupport public String Chakans() return SUCCESS; public String Tianjias()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id");List list=chazhao.getyshetu
38、an(id);ServletActionContext.getRequest().setAttribute("yishetuan", list);return SUCCESS; public String Chakan() return SUCCESS; public String Guanli()return SUCCESS;public String Tianjia()return SUCCESS;public String Fanhuizhu()return SUCCESS;2) com.zlg.action中的Huodongaction类,用于实现相关操作:publ
39、ic class Huodongaction private String text;public String getText() return text; public void setText(String text) this.text = text; public String Pingfen() int hid=Integer.parseInt(ServletActionContext.getRequest().getParameter("id"); int grade= Integer.parseInt(ServletActionContext.getRequ
40、est().getParameter("grade");System.out.println(hid);System.out.println(grade); CaozuoHuodong.pingfen(hid,grade); return "success" public String Thuodong()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id");System.out.println(id);CaozuoHuodong.in
41、sert(id,text);return "success" public String Tianjiah()return "success" 3)com.zlg.action中的Loginaction类,用于实现相关操作: public class LoginAction extends ActionSupport static List<Users> list1; private static String uname; private String upass; public static String getUname() retur
42、n uname;public void setUname(String uname) this.uname = uname;public String getUpass() return upass;public void setUpass(String upass) this.upass = upass; public String Login()list1=new ArrayList<Users>(); List<Users>list=dao.Gets.getuserlist(); if(list.size()=0)System.out.println("
43、qwertyyuuu");return ERROR; else for(int i=0;i<list.size();i+)Users users=(Users)list.get(i);if(users.getUname().equals(uname)&& users.getUpass().equals(upass)list1.add(users);return SUCCESS;return LOGIN;/* *获取当前登陆者的信息 * return */public static List getuList()return list1;4)com.zlg.act
44、ion中的Shetuanaction类,用于实现相关操作: public class Shetuanaction private String sname; private String sxingzhi; public String getSname() return sname; public void setSname(String sname) this.sname = sname; public String getSxingzhi() return sxingzhi; public void setSxingzhi(String sxingzhi) this.sxingzhi =
45、sxingzhi; public String Add()String xueyuan=ServletActionContext.getRequest().getParameter("xueyuan");String fuzheren=ServletActionContext.getRequest().getParameter("fuzheren");shetuanguanli.tianjiashetuan(sname, sxingzhi, xueyuan, fuzheren);return "success" public Stri
46、ng Delete()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id");shetuanguanli.shanchushetuan(id);return "success" public String Seek()int id=Integer.parseInt(ServletActionContext.getRequest().getParameter("id");ServletActionContext.getRequest().s
47、etAttribute("huodong", shetuanguanli.Findhuodong(id);return "success"public String Update()String xueyuan=ServletActionContext.getRequest().getParameter("xueyuan");String fuzheren=ServletActionContext.getRequest().getParameter("fuzheren");shetuanguanli.gengxin
48、shetuan(sname, sxingzhi, xueyuan, fuzheren);return "success" 5) dao中的CaozuoHuodong类,用于实现相关操作: public class CaozuoHuodong public static void insert(int id,String text)HuodongDAO huodongDAO=new HuodongDAO();ShetuanDAO shetuanDAO=new ShetuanDAO();Session session=huodongDAO.getSession();Transa
49、ction transaction=session.beginTransaction();Huodong huodong=new Huodong();huodong.setText(text);Shetuan shetuan=(Shetuan)shetuanDAO.findById(id);huodong.setShetuan(shetuan);shetuan.getHuodongs().add(huodong);huodongDAO.save(huodong);mit();session.close(); public static void delete(int id)HuodongDAO
50、 huodongDAO=new HuodongDAO();Session session=huodongDAO.getSession();Huodong huodong=huodongDAO.findById(id);Transaction transaction=session.beginTransaction();huodongDAO.delete(huodong);mit();session.close(); public static void pingfen(int hid,int grade)HuodongDAO huodongDAO=new HuodongDAO();Huodon
51、g huodong=huodongDAO.findById(hid);huodong.setGrade(grade);Session session=huodongDAO.getSession();Transaction transaction=session.beginTransaction();trysession.update(huodong);mit();catch (Exception e) / TODO: handle exceptionsession.close();6) dao中的chazhao 类,用于实现相关操作: public class chazhao public st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《砌体结构章》课件
- 《电压比较器的应用》课件
- 单位管理制度合并选集【人力资源管理篇】十篇
- 单位管理制度分享汇编人力资源管理篇
- 单位管理制度呈现合集人力资源管理篇
- 寒假自习课 25春初中道德与法治八年级下册教学课件 第三单元 第五课 第3课时 基本经济制度
- 《员工考绩计算》课件
- 中国风国潮风古风模板120
- 2013年高考语文试卷(福建)(空白卷)
- 建材行业会计资金运作监督工作总结
- 人教版(2024)八年级上册物理期末测试卷(含答案)
- 2024关于家长会家长代表发言稿(30篇)
- 中医内科学:中医内科学肢体经络病证考试题(题库版)
- 灯具行业采购工作总结
- 大学写作智慧树知到期末考试答案章节答案2024年丽水学院
- NB-T31022-2012风力发电工程达标投产验收规程
- GJB9001C产品风险评估报告
- 2024年天津三源电力集团限公司社会招聘33人【重点基础提升】模拟试题(共500题)附带答案详解
- 苏教版六年级上册科学期末测试卷带答案
- 中式婚宴主题宴会设计方案策划(2篇)
- 媒介与性别文化传播智慧树知到期末考试答案章节答案2024年浙江工业大学
评论
0/150
提交评论