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

    Java网络编程实践任务书--基于C-S的学生信息管理(1人).docx

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

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

    Java网络编程实践任务书--基于C-S的学生信息管理(1人).docx

    Java网络编程实践课程设计说明书课程名称:JaVa网络编程课程设计题目:基于ClS的学生信息管理Java网络编程实践任务书题目3:基于C/S的学生信息管理(1人)实现应用,可以通过网络在客户端对存放在服务器端的学生信息表(至少包含学号、姓名、性别、年龄、籍贯等字段)学生纪录增、删、改、查,并返回结果。要能通过菜单选择功能。基于SoCket,多客户端使用多线程,以能同时从多个客户端执行功能。必须提供友好直观、布局合理的图形界面选择功能、显示信息和填写修改信息。成员名单:服务器代码客户端代码客户端界面数据库连接课程设计报告项目简述和目的随着学校的规模不断扩大,学生数量急剧增加,学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。通过此项目实训一一JAVA学生信息管理系统,实践、总结、回顾了网络编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握,理论与时间相结合。进一步培养学生面向对象程序设计的思想,针对JAVA语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。二.解题基本思路本程序分为两部分,服务器端与客户端。服务器连接数据库存储学生的信息表格。客户端与服务器建立SOCkel连接,然后用对象输出流包装SOCk的输出流将用户输入客户端的信息与执行的操作发送给服务器端,服务器端接收到客户端发送来的信息后加以分析,然后对数据库内的学生信息相应的处理后,最后将学生信息发送给客户端,用户就能查看并处理学生信息了。三.分析与设计本系统主要通过客户端,服务器端来体现聊天系统的基本功能。(1)服务器端1 .连接数据库获取学生信息2 .处理用户登录3 .处理用户查询学生信息4 .处理用户添加学生信息5 .处理用户删除学生信息6 .处理用户修改学生信息(2)客户端1 .用户的操作界面2 .向服务器端端发送用户的操作信息3 .接受服务器向客户端的反馈信息四.主要程序源代码服务器端代码:importjava.io.*;.*;importjava.sql.*;publicclassServerpublicstaticvoidmain(Stringargs)ThreadServers=newThreadServerO;s.start();classThreadServerextendsThread多线程类staticServerSocketserver;staticSocketssocket;staticBufferedReaderreader1;staticBufferedReaderreader2;staticStringsql,databack;staticStringStudentID,password,address,myname,class1,age,phone,sex,school;staticResultSetrs;staticStatementstmt;staticConnectioncon;publicvoidrun()try(finalStringdb_driver="sun.jdbc.odbc.JdbcOdbcDriver"/加载数据库驱动finalStringdb_url="jdbc:odbc:Driver=)MicrosoftAccessDriver(*.mdb,*.accdb);DBQ=d:/student.mdbH;try(catch(Exceptione)e.printStackTrace();)try(server=newSerVerSOCket(4838);仓IJ建服务器SyStem.out.println("服务器已创建");intflag=O;intflagl=O;while(true)ssocket=SerVer.accept。;/连接客户端SyStem.out.println("客户端已连接服务器");reader1=newBufferedReader(newInputStreamReader(ssocket.getInutStream();PrintWriterwriter=newPrintWriter(ssocket.getOutputStream();Stringsi=reader!.readLine();Stringnetwork=SLSPlit(",");/逗号分隔sq!=,select*fromstudent"Class.forName(db_driver);con=DriverManager.getConnection(db-url,"",连接数据库if(con!=null)SyStem.out.println("数据库连接成功");)elseSyStemoutprintln(”数据库连接失败");)stmt=ConxreateStatementO;rs=stmt.executeQuery(sql);if(network0.equals(,'enter")处理登陆功能while(rs.next()StudentID=rs.getString(,StudentID");password=rs.getString("password");if(network1.equals(StudentID)&&network2.equals(password)intnumber1=IntegenparseInt(StudentlD);intnumber2=Integer.parselnl(password);if(number1=201211044&&number2=2(H211044)flag=1;break;)writer.println("yes");writer.flush();flag=O;elsewriter.println("no");writer.flush();1stmt.close();con.close();)elseif(network0.equals("Search")处理查询功能while(rs.next()school=rs.getString(,school");StudentlD=rs.getString(,StudentID");password=rs.getString("password");sex=rs.gelString("sex");address=rs.getString(',address");classl=rs.getString("class");myname=rs.getString("mynameH);phone=rs-getStringCphone");age=rs.gelSlring("age");if(networklJ.equals(StudentID)&&network2.equals(password)flagl=1;break;)if(flagI=1)rs.next();password, sex,phone, age ;StringA=school,StudentID,address,class1,myname,databack="”;for(inti=0;i<=AJength-1;i+)databack+=Ai;if(i!=A.length-1)databack)writer.println(dalaback);writer.flush();flagl=0;)else(Writer.println("SearchError");writer.flush();)stmt.close();con.close();elseif(network0.equals("AddStudent")/it理添加功能rs.next();StudentID=rs.getString("StudentID");if(!networkl.equals(StudentID)Strings="insertintostudent(StudentID,password,sex,address,class,myname,phone,age)VaIUeS(?,?,?,?,?,?)”;PreparedStatementstall=con.prepareStatement(s);statl.setString(l,networkI);stall.setString(2,network(2);statl.setString(3,network3J);statl.setString(4,network4);statl.setString(5,nelwork5);statl.setString(6,network6);stall.setString(7,network7);statl.setString(8,network8);stat1.executeUpdate();flag=1;)if(flag=1)writer.println("AddSucceed");处理删除功能flag=O;)elsewriter.println("AddError");writer.flush();Istmt.close();con.close();elseif(network0.equals("DeleteStudent)/while(rs.next()StudentID=rs.getString("StudentID");password=rs.getString("password");if(network1.equals(StudentID)&&network2.equals(password)Strings="deletefromstudentwhereStudentlD=?"PreparedStalementstatl=con.prepareStatement(s);statl.setString(l,networkl);stat1.executeUp<late();flag=I;)WriteEprintlnCDeleteSucceedu);writer.flush();flag=O;elsewriter.println("DeleteError");writer.flush();1stmt.close();con.close();elseif(network0.equals("Aller")/处理修改功能sex=network3;address=network4;classI=network5;myname=network6;phone=network7;age=network8;while(rs.next()StudentlD=rs.getString("StudentID");password=rs.getString("password");if(network1.equals(StudentID)&&network2.cquals(password)flag=1;break;if(flag=1)Strings="updatestudentsetpassword=?,sex=?,address=?,class=?,myname=?,phone=?,age=?,StudentID=?whereStudentID=?"PreparedStatementstall=con.prepareStatement(s);statl.setString(l,password);stall.setString(2,sex);statl.setString(3,address);statl.setString(4,class1);stall.setString(5,myname);statl.setString(6,phone);statl.setString(7,age);statl.setString(8,StudemID);statl.setString(9,StudentID);statLexecuteUpdaieO;writer.println("AlterSucceedH);writer.flush();flag=0;else(writer.println("AlterError");writer.flush();stmt.close();con.close();)catch(Exceptione)finallySyStem.outprintln("链接发生错误”);)try(if(reader1!=null)readerl.close();if(ssocket!=null)ssocket.close();)catch(Exceptionel)catch(Exceptione)SyStem.out.prinUn("发生错误");客户端代码importjava.io.*;.*;importjava.awt.*;importjavax.swing.*;importjavax.swing.border.EmptyBorder;importjava.awt.event.*;classClientextendsJFrameimplementsActionListenerprivateJLabeIStudentLabel;privateJLabeltitle;privateJTextFieldStudentTextField;privateJLabeIpasswordLabel;privateJPasswordFieldpasswordField;privateJButtonbutton1;privateJButtonbutton2;privateJButtonbutton3;publicClienI()客户端登陆界面SUPer.setTitle("学生管理系统”);ContainerC=getContentPane();c.setLayout(null);title=newJLabel("欢迎进入学生登入系统!”);title.setBounds(50,30,300,30);title.setFont(newFOnt("宋体",Font.BOLD,25);StudentLabel=newJLabeI("用户名:");StudentLabel.setBounds(50,90,170,20);StudentLabel.setFont(newFont("黑色",FontPLAIN,20);StudentTextField=newJTextFieldO;StudentTextField.setBounds(130,90,170,20);StudentTextField.setFont(newFont("宋体",FontPLAIN,20);passwordLabel=newJLabe1("密码:”);passwordLabel.setBounds(50,120,170,20);passwordLabel.setFont(newFOn1("黑色",Font.PLAIN,20);PasswordField=newJPasswordField();passwordField.setBounds(130,120,170,20);passwordField.setFont(newFOnt("黑色",Font.PLAIN,20);passwordField.setEchoChar('*');button1=newJButton();buttonl.setTbxt(',S");button1.setFont(newFont("黑色",Font.PLAlN,20);buttonl.setBounds(80,170,80,30);buttonI.addActionListener(this);button2=newJButton();button2.setText("重置”);button2.setFont(newFOnt("黑色”,Font.PLAIN,20);button2.setBounds(200,170,80,30);button2.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEvente)StudentTextField.setText(null);passwordField.setText(nulI););button3=newJButton();button3.setText(',!H);button3.setFont(newFOnt("黑色",Font.BOLD,15);button3.setBounds(330,210,38,25);butlon3.addActionListener(newActionLislenerO(publicvoidactionPerformed(ActionEvente)JOptionPane.showMessageDialog(null,”用户名为201211044密码为201211044"););c.add(passwordLabel);c.add(passwordField);c.add(StudentLabel);c.add(buttonl);c.add(button2);c.add(StudentTextField);c.add(title);c.setBackground(SystemCoIor.inf);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(400,300);setLocation(322,30);setVisible(true);privatevoidshowError()JOptionPane.showMessageDialog(this.getParent(),"i¾Ai11i的用户名和密码!”);)publicvoidactionPerformed(ActionEvenle)Socketssocket=null;Stringstrl,str2,str;finalPrintWriterwriter;strl=StudentTextField.getText();str2=passwordField.getText();str="enter"+T+strl+","+str2;把账号密码打包成字符串try(ssocket=newSocket("localHost",4838);writer=newPrintWriter(SSOCket.getOutputStream();发送给服务器if(!(strl.equals(null)&&!(str2.equals(null)/判断是否为空Writenprintln(Str);writer.flush();elseif(strl.equals(null)str2.equals(null)writer.println("errorl,');writer.flush();)BufferedReaderread=newBufferedReader(newInputStreamReader(ssocket.getInputStream();Stringflag=null;while(true)接收服务段发送来的信息flag=read.readLine();if(flag!=null)break;)if(flag.equals("yes")判断信息如果是yes则进去目录dispose();newMenu();)else如果不是则提示错误showError();StudentTextField.setText(null);passwordField.setText(null);catch(Exceptionel)e1.printStackTrace();publicstaticvoidmain(Stringargs)throwsIOExceptionClients=newClient();)classMenuextendsJFrame目录privateJButtonbutton1,button2,button3,button4,button5;publicMenu()Containerc=getContentPane();setLayout(null);button1=newJButton();buttonLSetText("查询”);button1.setFont(newFont("黑色",Font.PLAIN,20);button1.selBounds(30,20,80,40);buttonI.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEvente)dispose();newSearch();»button2=newJButton();button2.setText("删除");button2.setFont(newFonte'黑色",Font.PLAIN,20);button2.setBounds(30,120,80,40);button2.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEvente)dispose();newDeIetStudentO;);button3=newJButton();butlon3.selText("增添");button3.setFont(newFont("黑色",Font.PLAIN,20);button3.selBounds(30,70,80,40);button3.addActionListener(newActionListenerO)publicvoidactionPcrfoned(ActionEvente)dispose();newAddStudentO;);button4=newJButton();button4.setText("修改”);button4.setFont(newFOnte'黑色",Font.PLAIN,20);button4.setBounds(30,170,80,40);button4.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEvente)dispose();newAlter(););button5=newJButton();butlon5.selText("退出");button5.setFont(newFOnt("黑色”,Font.PLAlN,20);button5.setBounds(30,220,80,40);butlon5.addActionListener(newActionLislenerOpublicvoidactionPerformed(ActionEvente)dispose();newClient();1);c.add(buttonl);c.add(button2);c.add(button4);c.add(button5);c.setBackground(SystemCoIor.inf);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(60,330);setLocation(322,30);setVisible(true);Ipublicstaticvoidmain(String(args)newMenu();)classSearchextendsJFrameimplementsActionListener查询privateJLabelStudentLabel1;privateJLabelStudentLabel2;privateJTextFieldStudentTextFieldl;privateJTextFieldStudentTextField2;privateJButtonbutton1;privateJButtonbutton2;privateJButtonbutton3;privateJLabellabel1;publicSearch()SUPer.setTitle("学生操作界面”);ContainerC=getContentPane();c.setLayout(null);label1=newJLabe1("请输入学号与密码");label1.setBounds(20,20,400,34);Iabell.setFont(newFom(“黑色”,Font.PLAlN,33);StudentLabel1=newJLabe1("学号:");StudentLabel1.setBounds(25,80,100,20);StudentLabel1.setFont(newFOnt("黑色”,FonLPLAIN,20);StudentTextFieldl=newJTextFieldO;SludenlTextFieldl.setBounds(85,80,200,20);StudentTextFieldI.setFont(newFont("宋体",FontPLAIN,20);SludentLabel2=newJLabe1("密码:”);StudentLabel2.setBounds(25,120,100,20);StudenlLabel2.setFont(newFont(“黑色",FontTLAIN,20);StudentTextField2=newJTextFieIdO;StudentTexlField2.setBounds(85,120,200,20);StudentTextField2.setFont(newFont("黑色",FontPLAIN,20);button1=newJButton();button1.setFont(newFont("黑色",Font.PLAIN,20);buttonl.setBounds(25,155,80,30);button1.addActionListener(this);button2=newJButton();button2.setText("返回");button2.setFont(newFOnt("黑色",Font.PLAlN,20);button2.setBounds(230,155,80,30);button2.addActionListener(newActionListenerOpublicvoidactionPeribrmed(ActionEvente)dispose();newMenu();)1);butlon3=newJButton();button3.setText("清空");button3.setFont(newFOnle'黑色,Font.PLAIN,20);button3.setBounds(130,155,80,30);button3.addActionListener(newActionListenerOpublicvoidactionPerformed(AclionEvenle)StudentTextFieldLsetTextCnull);StudentTextField2.setText(nll););c.add(StudentLabel1);c.add(StudentLabe12);c.add(buttonI);c.add(button2);c.add(button3);c.add(StudentTextField1);c.add(StudentTextField2);c.add(labell);C-SetBackground(SystemColorjnfb);setDefaultCIoseOperation(JFrame.EXIT_ON_CLOSE);setSize(35O,260);setLocation(322,30);setVisible(true);)publicstaticvoidmain(Stringargs)newSearch();IprivatevoidshowError()(JoPtiOnPane.showMessageDialog(nu11,"请输入正确的学号和密码”);publicvoidactionPerformed(ActionEvente)Socketssocket=null;Stringstr,strI,str2;finalPrintWriterwriter;strl=StudentTextField1.getText();str2=StudentTextField2.getText();str="Searchn+,"+strl+,"+str2;try(ssocket=newSockel("localHost,4838);writer=newPrintWriter(ssocket.getOutputStream();if(!(strl.equals(null)&&!(str2.equals(null)writer.println(str);writer.flush();elseif(strl.equals(null)str2.equals(null)writer.println("errorl");writer,flush();)BufferedReaderread=newBufferedReaderCnewInputStreamReader(ssocket.getInputStream();Stringline=null;line=read.readLine();if(line.equals("SearchError")showError();StudentTextFieldl.setText(null);StudentTextField2.setText(null);elseFontf=newFont(“宋体”,Font.BOLD,20);UIManager.put("Label.font",f);UIManager.put("ComboBox.font",f);UIManager.put("Button.font",f);UIManager.put("TabbedPane.font,f);UIManager.put("RadioButton.font",f);UIManager.ut("TitledBorder.fon(",f);Stringsarry=line.split(,',");JoPIiOnPane.showMessageDialog(nu11,"姓名:"+sarryf6÷n+"学号:"+SaITyl+"n"+”班级:”+sarry5+,>n"+“性别:”+SalTy3+“n”+“年龄:“+sarryL8J+,n,t+"祖籍:"+sarry+”n”+“电话:”+sarry7);1)catch(Exceptionel)el.printstackTrace();classAddStudentextendsJFrameimplementsActionListener添力口privateJLabeIStudentLabel1;privateJLabelStudentLabel2;privateJLabeIStudentLabeB;privateJLabelStudentLabel4;privateJLabelStudentLabel5;privateJLabelStudentLabel6;privateJLabelSludentLabel7;privateJLabclStudentLabelS;privateJTextFieldStudentTextField1;privateJTextFieldStudentTextFieldZ;privateJTextFieldStudentTextFieIdS;pri

    注意事项

    本文(Java网络编程实践任务书--基于C-S的学生信息管理(1人).docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开