《J2EE课程设计》课设报告册_第1页
《J2EE课程设计》课设报告册_第2页
《J2EE课程设计》课设报告册_第3页
《J2EE课程设计》课设报告册_第4页
《J2EE课程设计》课设报告册_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

J2EE课程设计项目报告册2015 - 2016 学年 第 2 学期班 级: 信管141 学 号: 201402931 姓 名: 蔡 培 目录:案例一:面向对象基础内容4一、 实验目的:4二、 实验内容:4三、 实验要求:4四、 实验过程:4五、实验总结(手写)6案例二:类的继承于方法重写7一、 实验目的:7二、 实验内容:7三、 实验要求:7四、 实验过程:7五、 实验总结(手写):9案例三:封装、重写Object类与JavaBean规范10一、实验目的:10二、实验内容:10三、实验要求:10四、实验过程:10五、实验总结(手写)11案例四:飞扬的小鸟12一、实验目的:12二、实验内容:12三、实验要求:12四、实验过程:12五、个人增加功能逻辑简述15六、实验总结(手写)15案例五:在线考试系统16一、实验目的:学习并体会软件制作的过程,理解MVC的软件架构16二、实验内容:在线考试系统项目的编写。16三、实验要求:在教师讲解下,以分组形式完成该项目的代码编写,组内成员可划分模块,独立完成其中的某个模块。在编写的过程中,体会MVC的软件架构,及该架构的优势,争取运用到日后的项目编写中。16四、项目展示:16六、个人编写模块逻辑简述19七、MVC功能简述20八、实验总结(手写)20课程设计心得体会21案例一:面向对象基础内容1、 实验目的:回顾并熟练面向对象基本内容2、 实验内容:将猫和老鼠的小故事编写成代码3、 实验要求:在教师讲解下,理解面向对象中的若干名词概念,同时通过代码的编写强化概念,以及这些概念在程序中的应用4、 实验过程:1、 理解对象、属性、类的概念,编写出猫类,老鼠类public class Cat String name;int age;public class Mouse String name ;int age;2、 理解方法的作用3、 构造器的概念及对象创建过程4、 方法的重载方法的重载: 是一种形式的多态(这种多态类似于自然语言中的一词多义)方法名相同,参数不同的一些列方法,构成了方法的重载参数不同:类型、个数、顺序public void add().public int add(int a).public void add(char c).public int add(int a,char c).public void add(char a,int c).五、实验总结(手写)案例二:类的继承于方法重写1、 实验目的:回顾并熟练继承于方法重写的基本内容2、 实验内容:编写继承代码。将鸟类继承关系用代码表达。3、 实验要求:在教师讲解下,独立完成代码编写,理解于体会继承的语法,以及继承中若干知识点的应用。4、 实验过程:1理解继承中的要点:继承: A extends B A is a B1、子类继承父类的属性和方法,还可以定义属于自己的属性和方法2、Java中,构造器不能被继承,但是实例化子类对象,递归调用所有父类构造器3、默认通过 super() 调用父类 无参构造器4、可以通过super传递不同参数,制定调用不同构造器5、如果需要使用super调用构造器,那么super必须出现在子类构造器第一行6、任何一个类 默认继承与 Object 类2理解并应用方法的重写方法的重写/覆盖 是一种形式的 多态 重写要点:两同 两小 一大 两同:子类提供于父类方法名 及 参数列表一致 的方法一大:访问修饰 大于等于 父类访问修饰两小:返回值类型:1原方法返回值类型为void和基本数据类型,重写方法必须一致2原方法 。 引用类型(对象),重写方法,可以返回 子类型抛出的异常:子类重写方法,可以抛出子异常鸟类:鹰类:继承与鸟类鸭类:继承与鸟类(说明方法的重写)5、 实验总结(手写):案例三:封装、重写Object类与JavaBean规范一、实验目的:理解封装的重要性,强化编码规范度,为日后编码做铺垫。二、实验内容:通过点类的编写体会封装的重要。三、实验要求:在教师讲解下,独立完成代码编写,理解于体会封装的语法,以及实体类编写的过程中若干知识点的应用。四、实验过程:1、封装:属性尽可能私有,同时提供公有的set、get方法2、重写Object类中的方法五、实验总结(手写)案例四:飞扬的小鸟一、实验目的:通过该小游戏的案例,让同学明白面向面向对象的思想以及在实际变成中的简单应用。二、实验内容:飞扬的小鸟小项目的编写。三、实验要求:在教师讲解下,独立完成该项目中的大部分代码编写,同时运用所学知识,尽可能的开发出新的功能,加强创新性,提升编码能力,寻找编程乐趣。四、实验过程:1、功能描述飞扬的小鸟”项目,主要包括:开始状态、游戏状态、结束状态三种状态。游戏是通过对鼠标的监听来实现的,“小鸟”在游戏界面中的上下飞扬,玩家通过鼠标点击来控制“小鸟”的位置变化,”小鸟”需要通过柱子间隙方可得分,当”小鸟”碰撞到柱子或者地面时,游戏结束。2、分析项目功能,抽象所有的对象,形成所需的类3、游戏编码和功能实现2.2游戏运行界面2.3游戏结束五、个人增加功能逻辑简述1.背景音乐:AudioClip audio1=Applet.newAudioClip(new URL(file:/F:/30.mid);audio1.loop();添加背景音乐,重点是怎样把背景音乐的类加入到游戏的主类中。需要导入的类:import java.applet.Applet; import .URL; import javax.imageio.ImageIO; import java.applet.AudioClip;通过生成AudioClip这样一个接口用于播放音频剪辑的简单抽象,多个audioclip项能够同时播放。虽然audioclip是一个接口,不能直接创建实例,但java.applet.Applet对象提供了一个静态的方法new AudioClip(),因此可以直接利用上述语句,得到一个AudioClip的实例引用2.通过关卡后跳出文字提示: switch (start) case GAME_OVER: g.drawImage(gameoverImg, 0, 0, null); g.drawString(太low了,回去练练吧!, 20,100);break;case START: g.drawImage(startImg, 0, 0, null);break;if (score%1=0)g.drawString(加油,再接再厉,65,60);if (score%2=0)g.drawString(哎哟,不错,65,60);使用此图形的上下文的当前颜色绘制由指定迭代器给定的文本。迭代器必须为每个字符指定字体。最左侧字符的基线位于此图形上下文坐标系统的(x,y)位置处。六、实验总结(手写)案例五:在线考试系统一、实验目的:学习并体会软件制作的过程,理解MVC的软件架构 二、实验内容:在线考试系统项目的编写。三、实验要求:在教师讲解下,以分组形式完成该项目的代码编写,组内成员可划分模块,独立完成其中的某个模块。在编写的过程中,体会MVC的软件架构,及该架构的优势,争取运用到日后的项目编写中。四、项目展示:登录界面:菜单界面开始考试界面提交试卷分数查询离开6、 个人编写模块逻辑简述1.MVC 登录流程实现 1)增加LoginFrame界面登录事件响应代码: login.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) clientContext.login();/将请求转发给控制器 ); 2) 在 LoginFrame 界面增加 控制器(ClientContext) 的引用和 对象注入代码 3) 创建控制器类ClientContext类, 添加登录响应方法 public void login() /System.out.println(Login ); try int id = loginFrame.getUserId(); String pwd = loginFrame.getPwd(); User user = examService.login(id, pwd); /登录成功 loginFrame.setVisible(false); menuFrame.updateView(user); menuFrame.setVisible(true); catch(IdOrPwdException e) /登录失败 JOptionPane.showMessageDialog( loginFrame, e.getMessage(); 4) 创建控制器类ClientContext类, 中添加界面对象引用和 注入方法. 达到控制器能够操作这些对象的目的 5)为登录界面增加方法, 用来获取用户的ID和PWD /务必将idField 引用到界面控件对象,务必将pwdField 引用到界面控件对象 6)增加业务处理模型接口 ExamService, 并且提供登录方法 /* 考试软件的核心业务模型 */7)为ClientContext 增加业务层接口的引用8) 为MenuFrame界面增加更新用户信息的方法 updateView /务必将info 引用到界面控件对象9) 为ClientContext 增加show() 方法, 用来显示软件界面.10) 创建LoginTest, 创建ExamService测试实现. 组装对象, 测试软件 2. 实现退出系统的功能 :1) 为ClientContext添加exit方法2) 绑定到 登录界面的cancel 按钮上3. 利用用户数据实现登录业务逻辑: 1)实现业务功能实现类 ExamServiceImpl 的login方法 登录业务逻辑实现: public User login(int id, String pwd) throws IdOrPwdException User user = entityContext.getUser(id); if(user=null) throw new IdOrPwdException(查无此人!); if(user.getPasswd().equals(pwd) return user;/登录成功 throw new IdOrPwdException(密码错误!); 4. 系统配置文件的加载: 1) Properties 类继承于Hashtable 是一个散列表. 2) Properties 提供了load方法可以将 perties 文件 读取为散列表对象, 简洁方便 3) Properties 提供散列表查找方法 getProperty(key) 读取key 对应的value值. 4) 创建Config 类封装Properties 方便配置文件的读取:5. 创建整合测试 Main.class: public static void main(String args) /初始化软件组件(零件) LoginFrame loginFrame = new LoginFrame(); ExamFrame examFrame = new ExamFrame(); MenuFrame menuFrame = new MenuFrame(); WelcomeWindow welcomeWindow = new WelcomeWindow(); ClientContext clientContext = new ClientContext(); ExamServiceImpl service = new ExamServiceImpl(); Config config = new Config(perties); EntityContext entityContext = new EntityContext(config); /组装组件 service.setEntityContext(entityContext); loginFrame.setClientContext(clientContext); clientContext.setExamService(service); clientContext.setLoginFrame(loginFrame); clientContext.setExamFrame(examFrame); clientContext.setMenuFrame(menuFrame); clientContext.setWelcomeWindow(welcomeWindow); /启动软件界面clientContext.show(); 6.开始考试功能实现 1) 视图 MenuFrame 中增加事件监听 start.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) clientContext.start(); ); 2) 控制器, 增加事件响应方法start()public void start() try /考试信息 ExamInfo examInfo = examService.startExam(); /第一道考题 QuestionInfo questionInfo = examService.getQuestion(0); examFrame.updateView(examInfo, questionInfo); menuFrame.setVisible(false); examFrame.setVisible(true); catch (Exception e) e.printStackTrace(); JOptionPane.showMessageDialog( menuFrame, e.getMessage();3) 业务层: 增加: startExam() getQuestion() 开始考试业务描述: 开始考试时候, 抽取考卷试题, 每个level抽取2题 返回考试描述信息:ExamInfo 考卷是: 有抽取的题目组成的线性表集合 获取试题: 根据题目序号获取指定试题 4) 持久层更新Main.class7. 上/下一题功能实现 和 交卷8. 1) 视图 (增加界面事件监听) A 增加对控制器的引用 private ClientContext clientContext; public void setClientContext(ClientContext clientContext) this.clientContext = clientContext; B 增加界面事件监听 C 更新视图为下/上一题(更新 用户的答案)2) 控制器(增加界面功能实现方法 next() prev(), send() /* 当前正在答对题目, 开始考试时候, 初始化为第一题 每次翻页, 更新为新的当前题目 */ private QuestionInfo currentQuestion; /* 当前考试的状态信息, 在开始考试时候初始化为 考试信息 * 重构开始开始start()代码! 3) 业务层(保存用户答案 saveUserAnswers() 8. 查看考分功能实现: 1) 界面 result.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) clientContext.result(); ); 2) 控制器 public void result() try int score = examService.getScore(); JOptionPane.showMessageDialog( menuFrame, 考试分数:+score); catch (Exception e) e.printStackTrace(); JOptionPane.showMessageDialog( menuFrame, e.getMessage(); 3) 业务层 public int getScore() if(!finish) throw new RuntimeException(还没有考试呀!); retu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论