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

下载本文档

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

文档简介

1、网络测试系统1. 需求分析现在,网络早已是人们日常生活不可或缺的一部分,网络性能的好坏,各个路由节 点之间连接是否畅通也是人们所需解决的最基本问题,由此, 一个网络测试系统的需求也就产生了。2. 题目要求使用图形用户界面;客户端登录,获取服务器试卷文件列表,选取显示试卷,提交 答案,查询分数。3. 设计思想代码分两个部分,一个客户端,一个服务器。客户端部分,负责图形用户界面,客 户端登录,连接服务器,获取试卷,答题,显示分数;服务器部分,负责和客户端连接,向 客户端传试卷,给予分数,其中试卷是通过 sqlserver 数据库给出的。4.系统流程5.流程截图及说明Connection Succe

2、ssful!图表i启动服务器,控制台显示连接成功图表2启动客户端图表3输入服务器IP,点击登录按钮Client1s IP address:/127.0.0.1Client's port:3584图表4客户端登陆后,服务器显示客户端的信息图表5单击登陆完毕,选择试卷按钮弹出试卷选择窗口图表6有两种试卷可以选择冋题who are you体选择了 :试卷1幵始答题开始苔题图表8输入答案,单击开始答题按钮,进入下一道题厂国答盂穿口 .口丨回l-冋题 who are you1图表7选择试卷1,单击开始答题按钮弹出答题窗口图表9第二题二答監爰匚冋题1斗2?图表10第三题厂團答翹口L你答对题数是:2

3、开始酱题图表13重复上述步骤,选择试卷二答题开始苔题图表14第一题邑答髭应口冋趣1-3?图表16第三题图表17第四题应答監奩口i- f14开始酱题SQLQueryVsql - 1vo -PClenovo (52),answe rFROM dlntSl * Ofco aval1图表20数据库中的试卷类型,题目及答案信息6. 设计体会通过此次课程设计,使我更加扎实的掌握了有关 java编程方面的知识,在设计过程 中虽然遇到了一些问题, 但经过一次又一次的思考, 一遍又一遍的检查终于找出了原因所在, 也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过编程,使我们掌握的知识不再是纸上谈兵。

4、过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领 悟,不断获取。最终的检测调试环节,本身就是在践行"过而能改,善莫大焉”的知行观。 这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上披荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是

5、一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计 让我感触很深。使我对抽象的理论有了具体的认识。我认为,在这学期的课程设计中,不仅培养了独立思考、动手操作的能力,在各种 其它能力上也都有了提高。更重要的是, 在课程设计上, 我们学会了很多学习的方法。 而这 是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、 再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐, 找寻有趣的事情, 发现其中珍贵的事情。 就像中国提倡的艰苦奋斗一样, 我们都可以在实验 结束之后变的更加成熟,会面对需要面对的事情。回顾起此课程设

6、计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得 是苦多于甜, 但是可以学到很多很多的东西, 同时不仅可以巩固了以前所学过的知识, 而且 学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我懂得了理论与实际相结合 是很重要的, 只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来, 从理 论中得出结论, 才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。 在 设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。7. 参考文献( 1) java 语言程序设计( 2) java 编程思想8. 源代码client.java:packag

7、e 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 inputd

8、ata=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(&qu

9、ot; 请输入服务器 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 BHandle

10、r(); 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)

11、; 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)labell.setText(”你选择了服务器IP 地址为 ” + t1.ge

12、tText();try server=new Socket("localhost",7000);/ 构造 Socket 实例,连接本地服务器, 端口号为 7000inputdata=server.getInputStream();/实例化对象返回服务器套接字的输入流outputdata=server.getOutputStream();/ 实例化对象返回服务器套接字的输 出流in=new BufferedReader(new InputStreamReader(inputdata) );/ 实例化对象读 取数据输入流out=new PrintStream(outputdat

13、a);/实例化对象读取数据输出流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 JFramepublic JF0(String s)super(s);setBounds(20

14、0,200,500,400);setVisible(true);tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exception e)setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);class Jlb extends JFrameprivate JComboBox lbk;private JLabel label;private JButton button3;private String shijuan= "1",&qu

15、ot;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 lbH

16、andler();/ 注册 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

17、.add(lbk, BorderLayout.NORTH);c.add(label, BorderLayout.CENTER); c.add(button3, BorderLayout.SOUTH); public class lbHandler implements ItemListenerpublic void itemStateChanged(ItemEvent e) if(e.getStateChange() = e.SELECTED) label.setText(" 你选择了:试卷 " + shijuanlbk.getSelectedIndex(); public

18、 class lbHandler2 implements ActionListenerpublic 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)Conta

19、iner 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(" 开始答题 ");lbHa

20、ndler3 h3=new lbHandler3(); button3.addActionListener(h3); c.add(labe2, BorderLayout.NORTH); c.add(t2,BorderLayout.CENTER);c.add(button3,BorderLayout.SOUTH);trysentence=in.readLine(); labe2.setText(sentence);catch (Exception e) public class lbHandler3 implements ActionListener public void actionPerf

21、ormed(ActionEvent event) tryString 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 se

22、rvice; import java.io.*; import .*; import java.util.*; import java.sql.*; public class service static public void main(String args) throws IOExceptionConnection conn=null;Statement stmt=null;ResultSet rs=null;String driverName = "sun.jdbc.odbc.JdbcOdbcDriver" / 加载 JDBC 驱动String dbURL = &q

23、uot;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!"

24、);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;trysvrsoc=new ServerSocket(7000);client=svrsoc.accept();inputdata=client.getInpu

25、tStream();/ 实例化对象返回客户端套接字的输入流in=new BufferedReader(new InputStreamReader(inputdata) );/ 实例化对象读取数 据输入流outputdata=client.getOutputStream(); / 实例化对象返回客户端套接字的输出流out=new PrintStream(outputdata);/ 实例化对象读取数据输出流InetAddress clientIP=client.getInetAddress();/ 得到客户端 IP System.out.println("Client's IP

26、address:"+clientIP);/ 显示客户端 IP int port;port=client.getPort(); / 得到客户端端口号System.out.println("Client's 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 sql1="select * from dnt31.dbo.java where name='1'" rs=stmt.e

温馨提示

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

评论

0/150

提交评论