实验八基于图形用户界面的JDBC程序开发Word文档格式.docx

上传人:b****8 文档编号:22452389 上传时间:2023-02-04 格式:DOCX 页数:17 大小:45.90KB
下载 相关 举报
实验八基于图形用户界面的JDBC程序开发Word文档格式.docx_第1页
第1页 / 共17页
实验八基于图形用户界面的JDBC程序开发Word文档格式.docx_第2页
第2页 / 共17页
实验八基于图形用户界面的JDBC程序开发Word文档格式.docx_第3页
第3页 / 共17页
实验八基于图形用户界面的JDBC程序开发Word文档格式.docx_第4页
第4页 / 共17页
实验八基于图形用户界面的JDBC程序开发Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

实验八基于图形用户界面的JDBC程序开发Word文档格式.docx

《实验八基于图形用户界面的JDBC程序开发Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验八基于图形用户界面的JDBC程序开发Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

实验八基于图形用户界面的JDBC程序开发Word文档格式.docx

五、实验步骤与结果

1请按照以下功能要求编写并调试相关程序

(1)请定义一个抽象的“科学图书”类,其中包含1个公共的抽象方法:

图书介绍;

1个属性为:

图书类别(字符串类型);

(2)定义一个“计算机图书”子类(继承于“科学图书”类),其中包括2个域:

、定价;

2个构造方法:

一个为无参构造方法,在该无参构造方法中将“图书类别”设置为“计算机图书”,一个带2个参数(、定价);

不少于2个成员方法:

分别用来查看、修改定价,图书介绍文字可自编,并编写输出计算机图书全部信息的toString()方法。

(3)编写一个图形用户界面,用来测试能否正确创建计算机图书类的对象、能否正常调用其方法,参考界面如下。

必须实现的基本功能是:

1)单击图中的“新增计算机图书”按钮,则可显示出新增的计算机图书信息(显示信息的控件不限,用文本域、列表框、表格均可),要求添加的计算机图书不少于2本,如下图所示:

图1运行截图——新增计算机图书

2)单击图中的“修改定价”按钮,可修改其中某本图书的定价,并在下方显示出修改后的结果

请按照实验容具体要求完成相关设计与编程,实验步骤;

(1)程序代码

importjava.awt.*;

importjava.awt.event.*;

classCMextendsFrameimplementsActionListener

{

CMBookstart;

//当做链表的开头

Panel操作栏;

Label,定价,显示;

TextField栏,定价栏;

Button新增计算机图书,修改定价;

TextArea显示容;

CM()

{

super("

计算机图书类操作图形用户界面"

);

start=null;

显示=newLabel();

显示容=newTextArea();

显示容.setSize(80,50);

新增计算机图书=newButton("

新增计算机图书"

修改定价=newButton("

修改定价"

新增计算机图书.addActionListener(this);

修改定价.addActionListener(this);

操作栏=newPanel();

操作栏.setSize(60,5);

=newLabel("

"

定价=newLabel("

定价"

栏=newTextField(10);

定价栏=newTextField(5);

操作栏.add();

操作栏.add(栏);

操作栏.add(定价);

操作栏.add(定价栏);

操作栏.add(新增计算机图书);

操作栏.add(修改定价);

setTitle("

计算机图书类操作的图形界面"

add(操作栏,BorderLayout.NORTH);

add(显示容,BorderLayout.CENTER);

add(显示,BorderLayout.SOUTH);

setBounds(300,300,500,500);

setVisible(true);

validate();

}

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==新增计算机图书)

{

Stringone=栏.getText();

Stringtwo=定价栏.getText();

if(Integer.parseInt(two)<

0)

{

显示.setText("

价格不能为负数"

}

else

CMBookmid=newCMBook(one,Integer.parseInt(two));

mid.next=start;

start=mid;

显示容.append(mid.toString());

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

intpricenew;

CMBookpoint;

Stringone,two,three;

one=栏.getText();

two=定价栏.getText();

point=start;

while(true)

if(point==null)

{

显示.setText("

查找不到该类别"

break;

}

if(point..equals(one))

point.定价=Integer.parseInt(two);

显示容.append("

价格修改完成"

+point.toString());

else

point=point.next;

}

}

abstractclassBook

String图书类别;

abstractString图书介绍();

classCMBookextendsBook

CMBooknext;

//额外增加一个引用

String;

int定价;

String图书介绍()

return"

书籍是人类进步的阶梯"

;

CMBook()

图书类别="

计算机图书"

next=null;

CMBook(String,int定价)

this.=;

this.定价=定价;

String查看()

return;

void修改定价(int定价)

publicStringtoString()

return("

类别"

+图书类别+"

|"

++"

|定价"

+定价+"

图书介绍|书籍是人类进步的阶梯\n"

publicclassBookcdx

publicstaticvoidmain(Stringargs[])

newCM();

(2)相应运行结果

2、(选做题)改正以下程序中出现的错误,并进行注释说明

importjava.applet.applet;

importjava.awt.*;

publicclasstestextendsApplet

Labelprompt1,prompt2;

TextFieldinputNo1,inputName1

DepartmentMyDept1;

voidinit()

{prompt1=newLabel("

请输入部门的编号:

inputNo1=newTextField(5);

prompt2=newLabel("

请输入部门的名称:

inputName1=newTextField(5);

add(prompt1);

add(inputNo1);

add(prompt2);

add(inputName1);

MyDept1=newDepartment();

inputNo1.addAction(this);

publicpaint(graphicg)

g.drawstring(MyDept1.toString(),20,100);

publicvoidaction(ActionEvente)

if(e.getSource==inputNo1)

MyDept1.setDeptNo(inputNo1.getText());

elseif(e.getSource()=inputName1)

MyDept1.m_DeptName=newString(inputName1.getText());

repaint();

returnTrue;

finalclassDepartment

intm_DeptNo=10;

staticm_DeptName;

StringgetDeptNo()

returnm_DeptNo;

setDeptNo(intnewno)

if(newno>

m_DeptNo=newno;

returntrue;

else

returnfalse;

return("

部门编号:

+getDeptNo()+"

"

+"

部门名称:

+m_DeptName+"

改正:

importjava.applet.*;

//引入包

//引入包

//分号

publicclassTestextendsAppletimplementsActionListener//extend错误

TextFieldinputNo1,inputName1;

publicvoidinit()//少public

//添加inputName1

inputNo1.addActionListener(this);

//添加this

inputName1.addActionListener(this);

this.setVisible(true);

//显示输出

publicvoidpaint(Graphicsg)//单词错误Graphics

g.drawString(MyDept1.toString(),20,100);

//drawString

publicvoidactionPerformed(ActionEvente)//action拼写错误

if(e.getSource()==inputNo1)

MyDept1.setDeptNo(Integer.parseInt(inputNo1.getText()));

//类型转换成字符

elseif(e.getSource()==inputName1)//判断是相等用==

//repaint();

//returnTrue;

//返回为空不需要

classDepartment//final不需要

//分号

Stringm_DeptName;

//类型没有给出

StringgetDeptNo()//S

returnInteger.toString(m_DeptNo);

//类型

booleansetDeptNo(intnewno)//返回类型没有给出

publicStringtoString()//S

3、(选做题)请按照以下功能要求编写并调试相关程序

实验容:

(1)熟练Tomcat安装与配置;

(2)熟练servlet部署、三种开发方式;

(3)练习JDBC连接;

(4)练习基于JDBC与Servlet的数据库查询、更新(添加、删除、修改)

(一)实验步骤:

熟悉Tomcat安装,servlet部署步骤;

(1)依次创建WEB-INF、classes、lib、web.xml等目录结构

(2)完成相关Servlet程序并调试

(二)以继承HttpServlet方式开发Servlet,完成基于Servlet的JDBC连接(数据库选择SQLServer2000以上)和数据查询应用。

(1)选择SQLServer2000数据库,建立Test数据库和相关users表(字段userid,username,userpass),用户名111,密码111;

(2)以继承HttpServlet方式开发Servlet,完成以下数据库查询显示代码并调试相关结果。

packagejs.hit;

importjavax.servlet.http.*;

importjava.sql.*;

importjava.io.*;

publicclassDataSelextendsHttpServlet{

publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres){

try{

res.setContentType("

text/html;

charset=gbk"

PrintWriterout=res.getWriter();

Stringurl="

jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;

DatabaseName=test"

Stringuser="

111"

Stringpassword="

Stringsqlsel="

selectuserid,username,userpassfromusers"

Class.forName("

.microsoft.jdbc.sqlserver.SQLServerDriver"

Connection=DriverManager.getConnection(url,user,password);

Statementsm=.createStatement();

ResultSetrs=sm.executeQuery(sqlsel);

while(rs.next())

out.println(rs.getString

(1)+"

out.println(rs.getString

(2)+"

out.println(rs.getString(3)+"

out.println("

<

br>

rs.close();

sm.close();

.close();

catch(Exceptionex){

}

publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres){

this.doGet(req,res);

(三)在上例数据库基础上,继续以继承HttpServlet方式开发另一个Servlet,完成基于Servlet的数据更新应用,参考代码如下。

publicclassDataUpdextendsHttpServlet{

charset=gbk"

Stringsqlupd="

updateuserssetuserpass='

8'

whereuserid=3"

sm.executeUpdate(sqlupd);

六、实验分析与体会

(1)请简述使用JDBC技术编写数据库应用关键步骤

1、装库,建库;

2、找到相应的数据库连接包,sql、oracle都有对应的jar包;

2、写一个类,结合对应的jar包来连接数据库;

3、再写一个类,通过第二步的类用来对数据库操作。

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

当前位置:首页 > 解决方案 > 学习计划

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

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