欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    实验八基于图形用户界面的JDBC程序开发.doc

    • 资源ID:16375       资源大小:73.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验八基于图形用户界面的JDBC程序开发.doc

    实验4基于图形用户界面的JDBC程序开发 (2)一、实验目的熟练运用GUI标准组件和布局管理器,正确合理地利用常用AWT和Swing组件进展图形界面的设计;理解Java的事件处理机制,正确运用Java的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;理解Java多线程机制,掌握线程使用方法。理解JDBC的数据库访问编程原理,正确利用JDBC技术编写以数据库应用为核心的软件系统,并在设计中灵活运用之前所学的Java语言面向对象的编程技术。二、实验环境操作系统:windows 2000 或 Window *P集成开发环境:JDK1.6及以上版本三、实验学时2学时,必做实验。四、实验内容(1) 进一步熟悉JavaGUI标准组件和布局管理器、正确合理地利用常用AWT和Swing组件进展图形界面的设计;理解Java的事件处理机制,正确运用Java的事件处理机制及事件委托模型编写图形界面组件的事件处理程序;实践程序调试方法、纠错能力及编程标准性等;理解JDBC的数据库访问编程原理,正确利用JDBC技术编写以各种数据库应用;(2) 按以下各题目具体要求调试或编写相关算法程序五、实验步骤与结果1请按照以下功能要求编写并调试相关程序(1) 请定义一个抽象的"科学图书类,其中包含1个公共的抽象方法:图书介绍;1个属性为:图书类别 (字符串类型); (2) 定义一个"计算机图书子类(继承于"科学图书类),其中包括2个域:、定价;2个构造方法: 一个为无参构造方法,在该无参构造方法中将"图书类别设置为"计算机图书,一个带2个参数、定价;不少于2个成员方法:分别用来查看、修改定价,图书介绍文字可自编,并编写输出计算机图书全部信息的toString()方法。(3) 编写一个图形用户界面,用来测试能否正确创立计算机图书类的对象、能否正常调用其方法,参考界面如下。必须实现的根本功能是:1单击图中的"新增计算机图书按钮,则可显示出新增的计算机图书信息显示信息的控件不限,用文本域、列表框、表格均可,要求添加的计算机图书不少于2本,如以下图所示:图1 运行截图新增计算机图书2单击图中的"修改定价按钮,可修改其中*本图书的定价,并在下方显示出修改后的结果请按照实验内容具体要求完成相关设计与编程,实验步骤;(1) 程序代码import java.awt.*;import java.awt.event.*;class CM e*tends Frame implements ActionListenerCMBook start; /当做链表的开头Panel 操作栏;Label ,定价,显示;Te*tField 栏,定价栏;Button 新增计算机图书,修改定价;Te*tArea 显示内容;CM()super("计算机图书类操作图形用户界面");start=null;显示=new Label();显示内容=new Te*tArea();显示内容.setSize(80,50);新增计算机图书=new Button("新增计算机图书");修改定价=new Button("修改定价");新增计算机图书.addActionListener(this);修改定价.addActionListener(this);操作栏=new Panel();操作栏.setSize(60,5);=new Label(");定价=new Label("定价");栏=new Te*tField(10);定价栏=new Te*tField(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();public void actionPerformed(ActionEvent e)if(e.getSource()=新增计算机图书)String one=栏.getTe*t();String two=定价栏.getTe*t();if(Integer.parseInt(two)<0)显示.setTe*t("价格不能为负数");elseCMBook mid=new CMBook(one,Integer.parseInt(two);mid.ne*t=start;start=mid;显示内容.append(mid.toString(); else if(e.getSource()=修改定价)int pricenew;CMBook point;String one,two,three;one=栏.getTe*t();two=定价栏.getTe*t();point=start;while(true)if(point=null)显示.setTe*t("查找不到该类别");break;if(point.equals(one)point.定价=Integer.parseInt(two);显示内容.append("价格修改完成"+point.toString();break;elsepoint=point.ne*t;abstract class Book String 图书类别;abstract String 图书介绍();class CMBook e*tends BookCMBook ne*t; /额外增加一个引用String ;int 定价;String 图书介绍()return "书籍是人类进步的阶梯"CMBook()图书类别="计算机图书"ne*t=null;CMBook(String ,int 定价)this.=;this.定价=定价;图书类别="计算机图书"ne*t=null;String 查看()return ;void 修改定价(int 定价)this.定价=定价;public String toString()return ("类别"+图书类别+"|"+"|定价"+定价+"图书介绍|书籍是人类进步的阶梯n");public class Bookcd*public static void main(String args)new CM();(2) 相应运行结果2、(选做题) 改正以下程序中出现的错误,并进展注释说明import java.applet.applet;import java.awt.*;public class test e*tends Applet Label prompt1,prompt2; Te*tField inputNo1,inputName1 Department MyDept1; void init() prompt1=new Label("请输入部门的编号:"); inputNo1=new Te*tField(5); prompt2=new Label("请输入部门的名称:"); inputName1=new Te*tField(5); add(prompt1); add(inputNo1); add(prompt2); add(inputName1); MyDept1=new Department ( ); inputNo1.addAction(this); public paint(graphic g) g.drawstring(MyDept1.toString(),20,100); public void action(ActionEvent e) if(e.getSource=inputNo1) MyDept1.setDeptNo(inputNo1.getTe*t(); else if(e.getSource()=inputName1) MyDept1.m_DeptName=new String(inputName1.getTe*t(); repaint(); return True; final class Department int m_DeptNo=10; static m_DeptName; String getDeptNo() return m_DeptNo; setDeptNo(int newno) if(newno>0) m_DeptNo=newno; return true; else return false; public String toString() return("部门"+getDeptNo()+" " +"部门名称:" +m_DeptName+" "); 改正:import java.applet.*;/ 引入包import java.awt.*; / 引入包import java.awt.event.*;/分号public class Test e*tends Applet implements ActionListener / e*tend错误Label prompt1,prompt2; Te*tField inputNo1,inputName1;/分号 Department MyDept1; public void init() /少public prompt1=new Label("请输入部门的编号:"); inputNo1=new Te*tField(5); prompt2=new Label("请输入部门的名称:"); inputName1=new Te*tField(5); add(prompt1); add(inputNo1); add(prompt2); add(inputName1);/添加inputName1 MyDept1=new Department ( ); inputNo1.addActionListener(this);/添加this inputName1.addActionListener(this); this.setVisible(true);/显示输出 public void paint(Graphics g)/ 单词错误Graphics g.drawString(MyDept1.toString(),20,100); /drawString public void actionPerformed(ActionEvent e)/action 拼写错误 if(e.getSource()=inputNo1) MyDept1.setDeptNo(Integer.parseInt(inputNo1.getTe*t(); /类型转换成字符 else if(e.getSource()=inputName1)/判断是相等用= MyDept1.m_DeptName=new String(inputName1.getTe*t(); /repaint(); /return True; /返回为空不需要 class Department /final不需要 int m_DeptNo=10; /分号 String m_DeptName; /类型没有给出 String getDeptNo() /S return Integer.toString(m_DeptNo); /类型 boolean setDeptNo(int newno)/返回类型没有给出 if(newno>0) m_DeptNo=newno; return true; else return false; public String toString() /S return("部门"+getDeptNo()+" " +"部门名称:" +m_DeptName+" "); 3、(选做题) 请按照以下功能要求编写并调试相关程序实验内容:(1) 熟练Tomcat安装与配置;(2) 熟练servlet部署、三种开发方式;(3) 练习JDBC连接;(4) 练习基于JDBC与Servlet的数据库查询、更新(添加、删除、修改)(一) 实验步骤:熟悉Tomcat安装,servlet部署步骤;(1) 依次创立WEB-INF、classes、lib、web.*ml等目录构造(2) 完成相关Servlet程序并调试(二) 以继承 Servlet方式开发Servlet,完成基于Servlet的JDBC连接(数据库选择SQLServer2000以上)和数据查询应用。(1) 选择SQLServer2000数据库,建立Test数据库和相关users表(字段userid,username,userpass),用户名111,密码111;(2) 以继承 Servlet方式开发Servlet,完成以下数据库查询显示代码并调试相关结果。package js.hit;import java*.servlet. .*;import java.sql.*;import java.io.*;public class DataSel e*tends Servletpublic void doGet( ServletRequest req, ServletResponse res)try res.setContentType("te*t/html;charset=gbk");PrintWriter out = res.getWriter();String url = "jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName = test"String user = "111"String password = "111"String sqlsel = "select userid,username,userpass from users"Class.forName(".microsoft.jdbc.sqlserver.SQLServerDriver");Connection = DriverManager.getConnection(url,user,password);Statement sm = .createStatement();ResultSet rs = sm.e*ecuteQuery(sqlsel);while(rs.ne*t()out.println(rs.getString(1)+");out.println(rs.getString(2)+");out.println(rs.getString(3)+");out.println("<br>");rs.close();sm.close();.close(); catch (E*ception e*) public void doPost( ServletRequest req, ServletResponse res)this.doGet(req,res);(三) 在上例数据库根底上,继续以继承 Servlet方式开发另一个Servlet,完成基于Servlet的数据更新应用,参考代码如下。package js.hit;import java*.servlet. .*;import java.io.*;import java.sql.*;public class DataUpd e*tends Servlet public void doGet( ServletRequest req, ServletResponse res)try res.setContentType("te*t/html;charset =gbk");PrintWriter out = res.getWriter();String url = "jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName = test"String user = "111"String password = "111"String sqlupd = "update users set userpass = '8' where userid = 3"Class.forName(".microsoft.jdbc.sqlserver.SQLServerDriver");Connection = DriverManager.getConnection(url,user,password);Statement sm = .createStatement();sm.e*ecuteUpdate(sqlupd);sm.close();.close(); catch (E*ception e*) public void doPost( ServletRequest req, ServletResponse res)this.doGet(req,res);六、实验分析与体会(1) 请简述使用JDBC技术编写数据库应用关键步骤1、装库,建库;2、找到相应的数据库连接包,sql、oracle都有对应的jar包;2、写一个类,结合对应的jar包来连接数据库;3、再写一个类,通过第二步的类用来对数据库操作。

    注意事项

    本文(实验八基于图形用户界面的JDBC程序开发.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开