J2EE课程设计样本.docx

上传人:b****6 文档编号:7728687 上传时间:2023-01-26 格式:DOCX 页数:20 大小:81.49KB
下载 相关 举报
J2EE课程设计样本.docx_第1页
第1页 / 共20页
J2EE课程设计样本.docx_第2页
第2页 / 共20页
J2EE课程设计样本.docx_第3页
第3页 / 共20页
J2EE课程设计样本.docx_第4页
第4页 / 共20页
J2EE课程设计样本.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

J2EE课程设计样本.docx

《J2EE课程设计样本.docx》由会员分享,可在线阅读,更多相关《J2EE课程设计样本.docx(20页珍藏版)》请在冰豆网上搜索。

J2EE课程设计样本.docx

J2EE课程设计样本

J2EE应用课程设计

 

学校:

大连交通大学

专业:

软件工程

班级:

072班

姓名:

学号:

0701030216

 

目录

1总体设计1

1.1本系统的主要功能描述1

1.2系统包含的类及类之间的关系1

1.3Java源文件及其功能1

2详细设计2

2.1主类Manager2

2.2类StudentSituation5

2.3类Inquest9

2.4类ModifySituation9

2.5类Delete10

2.6类Student10

3功能测试及运行效果11

3.1系统主界面11

3.2学生信息查询界面11

3.3学生信息录入界面12

3.4学生信息修改界面12

3.5学生信息删除界面13

参考文献13

 

1总体设计

1.1本系统的主要功能描述

1).能够实现对班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。

2).能够实现对学生基本资料的修改。

3).根据学号对学生资料进行查询。

4).能够删除某些学生的资料。

1.2系统包含的类及类之间的关系

本系统共包括6个Java源文件。

类之间的关系如图1-1所示。

 

图1-1

1.3Java源文件及其功能

1).Manager.java

该java文件的类负责创建班级学生管理系统的主窗口。

该类包含main方法,程序从该类开始执行。

2).StudentStituation.java

该文件的类负责创建班级学生管理系统的学生信息录入界面。

3).ModifySituation.java

该文件的类负责创建班级学生管理系统的学生基本信息修改界面。

4).Inquest.java

该文件的类负责创建班级学生管理系统的学生基本信息查询界面。

5).Delete.java

该文件的类负责创建班级学生管理系统的学生信息删除界面。

6).Student.java

负责创建存放学生信息的对象

2详细设计

2.1主类Manager

(1)成员变量见表2-1

表2-1主要成员变量(属性)

成员变量描述

变量类型

名称

基本信息录入界面

基本信息修改界面

基本信息查询界面

基本信息删除界面

菜单选项

存基本信息的散列表

存放散列表的文件

StudentSituation

ModifySituation

Inquest

Delete

JMenuItem

Hashtable

File

基本信息录入

基本信息修改

基本信息查询

基本信息删除

录入,修改,查询,删除

基本信息

file

(2)方法见表2-2

表2-2主要方法

方法名称

功能

备注

Manager

actionPerformed

main

创建程序主窗口

处理ActionEvent事件

程序开始运行

构造方法

接口方法

(3)源代码

StudentManager.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.Hashtable;

publicclassStudentManagerextendsJFrameimplementsActionListener

{

StudentSituation基本信息录入=null;

ModifySituation基本信息修改=null;

Inquest基本信息查询=null;

Delete基本信息删除=null;

JMenuBarbar;

JMenufileMenu;

JMenuItem录入,修改,查询,删除,退出;

Containercon=null;

Hashtable基本信息=null;

Filefile=null;

CardLayoutcard=null;

JLabellabel;

JPanelpCenter;

publicStudentManager()

{

setTitle("欢迎进入班级管理系统");

录入=newJMenuItem("录入学生基本信息");

修改=newJMenuItem("修改学生基本信息");

查询=newJMenuItem("查询学生基本信息");

删除=newJMenuItem("删除学生基本信息");

退出=newJMenuItem("退出本系统");

退出.addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEventevent)

{

System.exit(0);

}

});

bar=newJMenuBar();

fileMenu=newJMenu("菜单选项");

fileMenu.add(录入);

fileMenu.addSeparator();

fileMenu.add(修改);

fileMenu.addSeparator();

fileMenu.add(查询);

fileMenu.addSeparator();

fileMenu.add(删除);

fileMenu.addSeparator();

fileMenu.addSeparator();

fileMenu.add(退出);

bar.add(fileMenu);

setJMenuBar(bar);

label=newJLabel("欢迎进入班级管理系统!

",label.CENTER);

label.setFont(newFont("隶书",Font.BOLD,30));

label.setForeground(Color.blue);

基本信息=newHashtable();

录入.addActionListener(this);

修改.addActionListener(this);

查询.addActionListener(this);

删除.addActionListener(this);

card=newCardLayout();

con=getContentPane();

pCenter=newJPanel();

pCenter.setLayout(card);

file=newFile("学生基本信息.txt");

if(!

file.exists())

{

try{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=newObjectOutputStream(out);

objectOut.writeObject(基本信息);

objectOut.close();

out.close();

}

catch(IOExceptione)

{

}

}

基本信息录入=newStudentSituation(file);

基本信息修改=newModifySituation(file);

基本信息查询=newInquest(this,file);

基本信息删除=newDelete(file);

pCenter.add("欢迎语界面",label);

pCenter.add("录入界面",基本信息录入);

pCenter.add("修改界面",基本信息修改);

pCenter.add("删除界面",基本信息删除);

con.add(pCenter,BorderLayout.CENTER);

con.validate();

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

});

setVisible(true);

setBounds(100,50,420,380);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

card.show(pCenter,"录入界面");

}

elseif(e.getSource()==修改)

{

card.show(pCenter,"修改界面");

}

elseif(e.getSource()==查询)

{

基本信息查询.setVisible(true);

}

elseif(e.getSource()==删除)

{

card.show(pCenter,"删除界面");

}

}

publicstaticvoidmain(Stringargs[])

{

newStudentManager();

}

2.2类StudentSituation

(1)成员变量见表2-3

表2-3主要成员变量

成员变量描述

变量类型

名称

存放“学生”对象的散列表

Hashtable

基本信息表

输入学生基本信息的文本

JTextField

学号,姓名,所学专业,家庭住址,出生

存放学生信息的对象

Studen

学生

基本信息表

(2)方法见表2-4

表2-4主要方法

方法名

功能

备注

StudentSituation

创建学生信息录入界面

处理ActionEvent事件

构造方法

actionPerformed

创建学生信息录入界面

处理ActionEvent事件

接口方法

(3)源代码

StudentSituation.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassStudentSituationextendsJPanelimplementsActionListener

{

Hashtable基本信息表=null;

JTextField学号,姓名,所学专业,家庭住址,出生;

JRadioButton男,女;

Student学生=null;

ButtonGroupgroup=null;

JButton录入,重置;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

Filefile=null;

publicStudentSituation(Filefile)

{

this.file=file;

学号=newJTextField(10);

姓名=newJTextField(10);

所学专业=newJTextField(10);

家庭住址=newJTextField(10);

出生=newJTextField(10);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);

group.add(男);

group.add(女);

录入=newJButton("录入");

重置=newJButton("重置");

录入.addActionListener(this);

重置.addActionListener(this);

Boxbox1=Box.createHorizontalBox();

box1.add(newJLabel("学号:

",JLabel.CENTER));

box1.add(学号);

Boxbox2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

",JLabel.CENTER));

box2.add(姓名);

Boxbox3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

",JLabel.CENTER));

box3.add(男);

box3.add(女);

Boxbox4=Box.createHorizontalBox();

box4.add(newJLabel("所学专业:

",JLabel.CENTER));

box4.add(所学专业);

Boxbox5=Box.createHorizontalBox();

box5.add(newJLabel("家庭住址:

",JLabel.CENTER));

box5.add(家庭住址);

Boxbox6=Box.createHorizontalBox();

box6.add(newJLabel("出生:

",JLabel.CENTER));

box6.add(出生);

BoxboxH=Box.createVerticalBox();

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());

JPanelpCenter=newJPanel();

pCenter.add(boxH);

setLayout(newBorderLayout());

add(pCenter,BorderLayout.CENTER);

JPanelpSouth=newJPanel();

pSouth.add(录入);

pSouth.add(重置);

add(pSouth,BorderLayout.SOUTH);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

Stringnumber="";

number=学号.getText();

if(number.length()>0)

{

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exceptionee)

{

}

if(基本信息表.containsKey(number))

{

Stringwarning="该生基本信息已存在,请到修改页面修改!

";

JOptionPane.showMessageDialog(this,warning,警告",JOptionPane.WARNING_MESSAGE);

}

else

{

Stringm="基本信息将被录入!

";

intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION)

{

Stringname=姓名.getText();

Stringdiscipling=所学专业.getText();

Stringgrade=家庭住址.getText();

Stringborth=出生.getText();

Stringsex=null;

if(男.isSelected())

{

sex=男.getText();

}

else

{

sex=女.getText();

}

学生=newStudent();

学生.setNumber(number);

学生.setName(name);

学生.setDiscipling(discipling);

学生.setGrade(grade);

学生.setBorth(borth);

学生.setSex(sex);

try{

outOne=newFileOutputStream(file);

outTwo=newObjectOutputStream(outOne);

基本信息表.put(number,学生);

outTwo.writeObject(基本信息表);

outTwo.close();

outOne.close();

学号.setText(null);

姓名.setText(null);

所学专业.setText(null);

家庭住址.setText(null);

出生.setText(null);

}

catch(Exceptionee)

{

System.out.println(ee);

}

}

}

}

else

{

Stringwarning="必须要输入学号!

";

JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);

}

}

if(e.getSource()==重置)

{

学号.setText(null);

姓名.setText(null);

所学专业.setText(null);

家庭住址.setText(null);

出生.setText(null);

}

}

}

 

2.3类Inquest

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

存放“学生”对象的散表

Hashtable

基本信息表

显示学生基本信息的文本

JTextField

学号,姓名,所学专业,家庭住址,出生

(2)方法见表2-6

表2-6主要方法

方法名

功能

备注

Inquest

创建查询界面

构造方法

actionPerformed

处理ActionEvent事件

接口方法

(3)源代码见文件Inquest.java

2.4类ModifySituation

(1)成员变量见表2-7

表2-7主要成员变量

成员变量描述

变量类型

名称

存放“学生”对象的散列表

输入学生基本信息的文本条

Hashtabel

JTextField

基本信息表

学号,姓名,所学专业,家庭住址,出生

(2)方法见表2-8

表2-8主要方法

方法名

功能

备注

ModifySituation

actionPerform

创建学生信息修改界面

处理ActionEvent事件

构造方法

接口方法

(3)源代码见文件ModifySituation.java

 

2.5类Delete

(1)成员变量见表2-9

表2-9主要成员变量

成员变量描述

变量类型

名称

存放“学生”对象的散列表

显示学生基本信息的文本条

Hashtable

JTextField

基本信息表

学号,姓名,所学专业,家庭住址,出生

(2)方法见表2-10

表2-10主要方法

方法名

功能

备注

Delete

actionPerformed

创建学生信息删除界面

处理ActionEvent

构造方法

接口方法

(3)源代码见文件Delete.java

2.6类Student

(1)成员变量见表2-11

表2-11主要成员变量

成员变量描述

变量类型

名称

学号

姓名

所学专业

家庭住址

出生

性别

String

String

String

String

String

String

Number

Name

Discipling

Grade

Borth

Sex

(2)方法见表2-12

表2-12主要方法

方法名

功能

备注

Setnumber

Setnumber

Setname

Setname

setDisciping

setDisciping

setGrade

setGrade

setBorth

setBorth

setSex

setSex

设置学号

获取学号

设置姓名

获取姓名

设置所学专业

获取所学专业

设置家庭住址

获取家庭住址

设置出生

获取出生

设置性别

获取性别

(3)源代码见文件Student.java

3功能测试及运行效果

3.1系统主界面

 

图3-1主界面

3.2学生信息查询界面

 

图3-2学生信息查询界面

3.3学生信息录入界面

图3-3学生信息录入界面

3.4学生信息修改界面

图3-4学生信息修改界面

3.5学生信息删除界面

图3-5学生信息删除界面

 

参考文献

[1]Java面向对象编程孙卫琴电子工业出版社2006年

[2]精通Oracle10gSQL和PLSQL王海亮张立民中国水利水电出版社2006

[3]HTML+CSS入门V.K工作室科学出版社2001年

[4]贯通JAVAWEB轻量级应用开发邓子云电子工业出版社2008

[5]java课程设计(清华大学出版社)

 

课程设计总结:

这次的J2EE课程设计,让我学会了很多有用的东西,首先,JSP页面的设计并不是什么难事,而且各个页面间的跳转,也会实现了,学会了用各种方法和数据库进行连接,并且像数据库提交添加,查询,修改,删除信息。

其实J2EE设计只要心细,就能做好。

我要说的就是,我们,做事情总是不够严谨,以后,我们参加工作的时候,要多注意这些问题,要好好利用我们的思维,让做出来的系统实现我们每个人的想法,这样的产品才是需要的。

最后,还有就是不要放弃,做事情一定要坚持到最后。

 

指导教师评语:

 

签名:

2010年12月10日

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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