JAVA网络测试系统课程设计.doc_第1页
JAVA网络测试系统课程设计.doc_第2页
JAVA网络测试系统课程设计.doc_第3页
JAVA网络测试系统课程设计.doc_第4页
JAVA网络测试系统课程设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

中国地质大学(武汉)JAVA课程设计网络测试系统1. 需求分析现在,网络早已是人们日常生活不可或缺的一部分,网络性能的好坏,各个路由节点之间连接是否畅通也是人们所需解决的最基本问题,由此,一个网络测试系统的需求也就产生了。2. 题目要求使用图形用户界面;客户端登录,获取服务器试卷文件列表,选取显示试卷,提交答案,查询分数。3. 设计思想代码分两个部分,一个客户端,一个服务器。客户端部分,负责图形用户界面,客户端登录,连接服务器,获取试卷,答题,显示分数;服务器部分,负责和客户端连接,向客户端传试卷,给予分数,其中试卷是通过sqlserver数据库给出的。4. 系统流程5. 流程截图及说明图表 1启动服务器,控制台显示连接成功图表 2启动客户端图表 3输入服务器IP,点击登录按钮图表 4客户端登陆后,服务器显示客户端的信息图表 5单击登陆完毕,选择试卷按钮弹出试卷选择窗口图表 6有两种试卷可以选择图表 7选择试卷1,单击开始答题按钮弹出答题窗口图表 8输入答案,单击开始答题按钮,进入下一道题图表 9第二题图表 10第三题图表 11第四题图表 12第二,四题答对,第一,三题答错,最后显示如上结果图表 13重复上述步骤,选择试卷二答题图表 14第一题图表 15第二题图表 16第三题图表 17第四题图表 18第五题图表 19第一,三,五题答对,二,四题答错,最后显示如上结果图表 20数据库中的试卷类型,题目及答案信息6. 设计体会通过此次课程设计,使我更加扎实的掌握了有关java编程方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过编程,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上披荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。我认为,在这学期的课程设计中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在课程设计上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 7. 参考文献(1) java语言程序设计(2) java编程思想 8. 源代码client.java:package client;import .*;import java.io.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class client extends JFrameprivate JTextField t1;private JButton button1;private JButton button2;private JLabel label1;private JLabel label2; static Socket server=null; static InputStream inputdata=null; static OutputStream outputdata=null; static BufferedReader in=null; static PrintStream out=null; static String sentence=null; public client(JFrame f)f.setVisible(true);f.setBounds(200,200,500,400);Container c= getContentPane();c.setBackground(Color.WHITE);f.add(c);t1 =new JTextField(请输入服务器IP,20);t1.setFont(new Font(Serif,Font.PLAIN,12);button1=new JButton(登陆);button1.setFont(new Font(Serif,Font.PLAIN,14);button2=new JButton(登陆完毕,选择试卷);button2.setFont(new Font(Serif,Font.PLAIN,16);BHandler h=new BHandler();button1.addActionListener(h);BHandler2 h2=new BHandler2();button2.addActionListener(h2);label1 =new JLabel(你还未选择服务器);label1.setFont(new Font(Serif,Font.PLAIN,14);label2 =new JLabel(服务器还没有试卷给你);label2.setFont(new Font(Serif,Font.PLAIN,14);c.add(button1,BorderLayout.WEST);c.add(button2,BorderLayout.SOUTH);c.add(t1,BorderLayout.CENTER);c.add(label1,BorderLayout.EAST);c.add(label2,BorderLayout.NORTH);public class BHandler implements ActionListenerpublic void actionPerformed(ActionEvent event)label1.setText(你选择了服务器IP地址为 + t1.getText() ); try server=new Socket(localhost,7000);/构造Socket实例,连接本地服务器,端口号为7000 inputdata=server.getInputStream(); /实例化对象返回服务器套接字的输入流 outputdata=server.getOutputStream();/实例化对象返回服务器套接字的输出流 in=new BufferedReader(new InputStreamReader(inputdata) );/实例化对象读取数据输入流 out=new PrintStream(outputdata); /实例化对象读取数据输出流 sentence=in.readLine();/得到读取的一个文本行 label2.setText(sentence); catch (Exception e)public class BHandler2 implements ActionListenerpublic void actionPerformed(ActionEvent event)Jlb d =new Jlb(new JF0(选择试卷窗口);class JF0 extends JFrame public JF0(String s) super(s); setBounds(200,200,500,400); setVisible(true); try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exception e) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); class Jlb extends JFrame private JComboBox lbk; private JLabel label; private JButton button3; private String shijuan= 1,2; public Jlb(JFrame f) Container c=getContentPane(); c.setBackground(Color.WHITE); f.add(c); lbk = new JComboBox(shijuan);/创建下拉列表对象 lbk.setMaximumRowCount(2);/设置下拉列表所能显示列表项的最大数目 lbk.setSelectedIndex(0);/设置默认的选择项 lbk.setFont(new Font(Serif,Font.PLAIN,14); lbk.addItemListener(new lbHandler();/注册Label监听器 label =new JLabel(你选择了:试卷1); label.setFont(new Font(Serif,Font.PLAIN,14); button3=new JButton(开始答题); button3.setFont(new Font(Serif,Font.PLAIN,14); lbHandler2 h2=new lbHandler2(); button3.addActionListener(h2);/注册Button监听器 c.add(lbk, BorderLayout.NORTH); c.add(label, BorderLayout.CENTER); c.add(button3, BorderLayout.SOUTH); public class lbHandler implements ItemListener public void itemStateChanged(ItemEvent e) if(e.getStateChange() = e.SELECTED) label.setText(你选择了:试卷 + shijuanlbk.getSelectedIndex(); public class lbHandler2 implements ActionListener public void actionPerformed(ActionEvent event) out.println(shijuanlbk.getSelectedIndex(); Jlb2 m =new Jlb2(new JF0(答题窗口); class Jlb2 extends JFrame private JLabel labe2; private JTextField t2; private JButton button3; public Jlb2(JFrame f) Container c=getContentPane(); c.setBackground(Color.WHITE); f.add(c); labe2 =new JLabel(题目是: ); labe2.setFont(new Font(Serif,Font.PLAIN,14); t2 =new JTextField(此处填写答案,20); t2.setFont(new Font(Serif,Font.PLAIN,12); button3=new JButton(开始答题); lbHandler3 h3=new lbHandler3(); button3.addActionListener(h3); c.add(labe2, BorderLayout.NORTH); c.add(t2,BorderLayout.CENTER); c.add(button3,BorderLayout.SOUTH); try sentence=in.readLine(); labe2.setText(sentence); catch (Exception e) public class lbHandler3 implements ActionListener public void actionPerformed(ActionEvent event) try String bmsg =new String(); bmsg=t2.getText(); if(!bmsg.equals(quit) out.println(bmsg); sentence=in.readLine(); labe2.setText(sentence); catch (Exception e) public static void main(String args)client d=new client(new JFrame(登陆);service.java:package service;import java.io.*;import .*;import java.util.*;import java.sql.*;public class servicestatic public void main(String args) throws IOExceptionConnection conn=null;Statement stmt=null;ResultSet rs=null;String driverName = sun.jdbc.odbc.JdbcOdbcDriver; /加载JDBC驱动String dbURL = jdbc:odbc:dnt31; /连接服务器和数据库String userName = sa; /默认用户名String userPwd = 199618; /安装sqlserver 2008时的密码tryClass.forName(driverName);/声明使用的驱动程序conn=DriverManager.getConnection(dbURL,userName,userPwd);/创建连接数据库对象System.out.println(Connection Successful!); catch(Exception e)System.err.println(OpenConn:+e.getMessage();ServerSocket svrsoc=null; Socket client=null; InputStream inputdata=null; OutputStream outputdata=null; BufferedReader in=null; PrintStream out=null; try svrsoc=new ServerSocket(7000); client=svrsoc.accept(); inputdata=client.getInputStream(); /实例化对象返回客户端套接字的输入流 in=new BufferedReader(new InputStreamReader(inputdata) );/实例化对象读取数据输入流 outputdata=client.getOutputStream(); /实例化对象返回客户端套接字的输出流 out=new PrintStream(outputdata); /实例化对象读取数据输出流 InetAddress clientIP=client.getInetAddress();/得到客户端IP System.out.println(Clients IP address:+clientIP);/显示客户端IP int port; port=client.getPort(); /得到客户端端口号 System.out.println(Clients port:+port);/显示客户端端口号 out.println(Welcome!.输入你想要的文件名 1或2.输入quit退出); String str=in.readLine(); /得到读取的一个文本行 System.out.println(str); while(!str.equals(quit) System.out.println(Client said:+str);/得到读取的一个文本行 if(str.equals(1) stmt=(Statement)conn.createStatement();/创建操作SQL语句的对象 String sq

温馨提示

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

评论

0/150

提交评论