《J2EE课程设计》课设报告册Word文档下载推荐.docx

上传人:b****8 文档编号:22224180 上传时间:2023-02-03 格式:DOCX 页数:25 大小:1.28MB
下载 相关 举报
《J2EE课程设计》课设报告册Word文档下载推荐.docx_第1页
第1页 / 共25页
《J2EE课程设计》课设报告册Word文档下载推荐.docx_第2页
第2页 / 共25页
《J2EE课程设计》课设报告册Word文档下载推荐.docx_第3页
第3页 / 共25页
《J2EE课程设计》课设报告册Word文档下载推荐.docx_第4页
第4页 / 共25页
《J2EE课程设计》课设报告册Word文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

《J2EE课程设计》课设报告册Word文档下载推荐.docx

《《J2EE课程设计》课设报告册Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《J2EE课程设计》课设报告册Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

《J2EE课程设计》课设报告册Word文档下载推荐.docx

五、个人增加功能逻辑简述15

六、实验总结(手写)15

案例五:

在线考试系统16

学习并体会软件制作的过程,理解MVC的软件架构16

在线考试系统项目的编写。

16

在教师讲解下,以分组形式完成该项目的代码编写,组内成员可划分模块,独立完成其中的某个模块。

在编写的过程中,体会MVC的软件架构,及该架构的优势,争取运用到日后的项目编写中。

四、项目展示:

六、个人编写模块逻辑简述19

七、MVC功能简述20

八、实验总结(手写)20

课程设计心得体会21

面向对象基础内容

1、实验目的:

回顾并熟练面向对象基本内容

2、实验内容:

将猫和老鼠的小故事编写成代码

3、实验要求:

在教师讲解下,理解面向对象中的若干名词概念,同时通过代码的编写强化概念,以及这些概念在程序中的应用

4、实验过程:

1、理解对象、属性、类的概念,编写出猫类,老鼠类

publicclassCat{

Stringname;

intage;

}

publicclassMouse{

Stringname;

2、理解方法的作用

3、构造器的概念及对象创建过程

4、方法的重载

?

:

?

(?

?

publicvoidadd(){...}

publicintadd(inta){....}

publicvoidadd(charc){.....}

publicintadd(inta,charc){....}

publicvoidadd(chara,intc){....}

五、实验总结(手写)

类的继承于方法重写

回顾并熟练继承于方法重写的基本内容

编写继承代码。

将鸟类继承关系用代码表达。

在教师讲解下,独立完成代码编写,理解于体会继承的语法,以及继承中若干知识点的应用。

1>

理解继承中的要点:

AextendsBAisaB

1?

2?

Java?

?

3?

super()?

4?

super?

5?

6?

Object?

2>

理解并应用方法的重写

/?

重写要点:

1>

void?

2>

),?

?

鸟类:

鹰类:

继承与鸟类

鸭类:

继承与鸟类(说明方法的重写)

5、实验总结(手写):

封装、重写Object类与JavaBean规范

理解封装的重要性,强化编码规范度,为日后编码做铺垫。

通过点类的编写体会封装的重要。

在教师讲解下,独立完成代码编写,理解于体会封装的语法,以及实体类编写的过程中若干知识点的应用。

1、封装:

属性尽可能私有,同时提供公有的set、get方法

2?

Object?

飞扬的小鸟

通过该小游戏的案例,让同学明白面向面向对象的思想以及在实际变成中的简单应用。

飞扬的小鸟小项目的编写。

在教师讲解下,独立完成该项目中的大部分代码编写,同时运用所学知识,尽可能的开发出新的功能,加强创新性,提升编码能力,寻找编程乐趣。

1、功能描述

飞扬的小鸟”项目,主要包括:

开始状态、游戏状态、结束状态三种状态。

游戏是通过对鼠标的监听来实现的,“小鸟”在游戏界面中的上下飞扬,玩家通过鼠标点击来控制“小鸟”的位置变化,”小鸟”需要通过柱子间隙方可得分,当”小鸟”碰撞到柱子或者地面时,游戏结束。

2、分析项目功能,抽象所有的对象,形成所需的类

3、游戏编码和功能实现

2.2游戏运行界面

2.3游戏结束

五、个人增加功能逻辑简述

1.背景音乐:

AudioClipaudio1=Applet.newAudioClip(newURL("

file:

/F:

/30.mid"

));

audio1.loop();

添加背景音乐,重点是怎样把背景音乐的类加入到游戏的主类中。

需要导入的类:

importjava.applet.Applet;

import.URL;

importjavax.imageio.ImageIO;

importjava.applet.AudioClip;

通过生成AudioClip这样一个接口用于播放音频剪辑的简单抽象,多个audioclip项能够同时播放。

虽然audioclip是一个接口,不能直接创建实例,但java.applet.Applet对象提供了一个静态的方法newAudioClip(),因此可以直接利用上述语句,得到一个AudioClip的实例引用

2.通过关卡后跳出文字提示:

switch(start){

caseGAME_OVER:

g.drawImage(gameoverImg,0,0,null);

g.drawString("

太low了,回去练练吧!

"

20,100);

break;

caseSTART:

g.drawImage(startImg,0,0,null);

}

if(score%1==0){

加油,再接再厉"

65,60);

if(score%2==0){

哎哟,不错"

使用此图形的上下文的当前颜色绘制由指定迭代器给定的文本。

迭代器必须为每个字符指定字体。

最左侧字符的基线位于此图形上下文坐标系统的(x,y)位置处。

六、实验总结(手写)

在线考试系统

学习并体会软件制作的过程,理解MVC的软件架构

登录界面:

菜单界面

开始考试界面

提交试卷

分数查询

离开

6、个人编写模块逻辑简述

1.MVC登录流程实现

1)增加LoginFrame界面登录事件响应代码:

login.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

clientContext.login();

//将请求转发给控制器

}

});

2)在LoginFrame界面增加控制器(ClientContext)的引用和

对象注入代码

3)创建控制器类ClientContext类,添加登录响应方法

publicvoidlogin(){

//System.out.println("

Login"

);

try{

intid=loginFrame.getUserId();

Stringpwd=loginFrame.getPwd();

Useruser=examService.login(id,pwd);

//登录成功

loginFrame.setVisible(false);

menuFrame.updateView(user);

menuFrame.setVisible(true);

}catch(IdOrPwdExceptione){

//登录失败

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方法

登录业务逻辑实现:

publicUserlogin(intid,Stringpwd)

throwsIdOrPwdException{

Useruser=entityContext.getUser(id);

if(user==null){

thrownewIdOrPwdException("

查无此人!

if(user.getPasswd().equals(pwd)){

returnuser;

//登录成功

密码错误!

4.系统配置文件的加载:

1)Properties类继承于Hashtable是一个散列表.

2)Properties提供了load方法可以将client.properties文件

读取为散列表对象,简洁方便

3)Properties提供散列表查找方法getProperty(key)读取key

对应的value值.

4)创建Config类封装Properties方便配置文件的读取:

5.创建整合测试Main.class:

publicstaticvoidmain(String[]args){

//初始化软件组件(零件)

LoginFrameloginFrame=newLoginFrame();

ExamFrameexamFrame=newExamFrame();

MenuFramemenuFrame=newMenuFrame();

WelcomeWindowwelcomeWindow=newWelcomeWindow();

ClientContextclientContext=newClientContext();

ExamServiceImplservice=newExamServiceImpl();

Configconfig=newConfig("

client.properties"

EntityContextentityContext=newEntityContext(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(newActionListener(){

clientContext.start();

}});

2)控制器,增加事件响应方法start()

publicvoidstart(){

try{

//考试信息

ExamInfoexamInfo=examService.startExam();

//第一道考题

QuestionInfoquestionInfo=

examService.getQuestion(0);

examFrame.updateView(examInfo,questionInfo);

menuFrame.setVisible(false);

examFrame.setVisible(true);

}catch(Exceptione){

e.printStackTrace();

menuFrame,e.getMessage());

}}

3)业务层:

增加:

startExam()getQuestion()

开始考试业务描述:

开始考试时候,抽取考卷试题,每个level抽取2题

返回考试描述信息:

ExamInfo

考卷是:

有抽取的题目组成的线性表集合

获取试题:

根据题目序号获取指定试题

4)持久层

更新Main.class

7.上/下一题功能实现和交卷

8.1)视图(增加界面事件监听)

A增加对控制器的引用

privateClientContextclientContext;

publicvoidsetClientContext(ClientContextclientContext){

this.clientContext=clientContext;

}

B增加界面事件监听

C更新视图为下/上一题(更新用户的答案)

2)控制器(增加界面功能实现方法next()prev(),send())

/**当前正在答对题目,开始考试时候,初始化为第一题

每次翻页,更新为新的当前题目*/

privateQuestionInfocurrentQuestion;

/**当前考试的状态信息,在开始考试时候初始化为考试信息

*重构开始开始start()代码!

3)业务层(保存用户答案saveUserAnswers())

8.查看考分功能实现:

1)界面

result.addActionListener(newActionListener(){

clientContext.result();

}});

2)控制器

publicvoidresult(){

intscore=examService.getScore();

menuFrame,"

考试分数:

+score);

}}

3)业务层

publicintgetScore(){

if(!

finish)

thrownewRuntimeException("

还没有考试呀!

returnscore;

9.关闭窗口问题与窗口事件监听

1)设置默认的窗口关闭操作

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

2)绑定窗口关闭事件

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

clientContext.send();

七、MVC功能简述

MVC模式同时提供了对HTML、CSS和JavaScript的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

  通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。

  通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。

  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC分层有助于管理复杂的应用程序,因为可以在一个时间内专门关注一个方面。

例如,可以在不依赖业务逻辑的情况下专注于视图设计。

同时也让应用程序的测试更加容易。

MVC分层同时也简化了分组开发。

不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

MVC好处是它能为应用程序处理很多不同的视图。

在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。

它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

八、实验总结(手写)

课程设计心得体会(手写)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1