Java实训报告
java实训心得报告(精选6篇)

java实训心得报告(精选6篇)java实训心得报告篇1在为期一周的实训后,给我最大感触的是只要坚持去做,总有办法能完成。
在实训中,我们做的是商品购物的一个网站,其功能类似于先前做的新闻管理网站,主要包括添加,查询,修改,删除等几个功能。
在实训中,遇到了很多的问题,首先人员的分配时很重要的,只有明白自己做的模块,熟悉自己要做哪些功能?如何去做?然后小组之间互相讨论,最终形成一个统一的商品管理网站的构想。
在实训过程中,我负责的是后台代码的实现,在一开始,就遇到了很多的错误,经过组员的讨论,错误一点一点的给克服啦!虽然中间出现了一些不同的见解,但是根据项目的需要,我们经过了逐个的筛选,最终达成了一致意见。
我觉得一个成功的网站必须有一个足够丰富的数据库,数据库的创建也是必需的一个步骤,如果数据库都存在问题的话,可想而知,麻烦是很大的。
实训中发现,平时所学的基础知识是多么的重要,只有牢牢地掌握书本上的基础知识,才能在实训中,不会磕磕绊绊,才能够理解代码的含义,找出相应的错误。
而经过这次实训,让我明白如果是一个完整项目的开发,必须由团队来分工合作,否则,即费力又费时还做不好这个项目。
因此不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。
做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。
对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。
实训结束了感觉虽然辛苦,但很充实。
我想这就是java工程师的工作。
我也体会到java工程师成功地完成一个任务的那种兴奋,那种小有成就的感觉是只有置身其中的人才能体会的。
总之,这次实训为我提供了与众不同的学习方法和学习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础。
作为在校计算机专业的学生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的职业技能,自己有了能力,到时候才会是“车到山前必有路”。
Java程序设计实训总结[优秀范文五篇]
![Java程序设计实训总结[优秀范文五篇]](https://img.taocdn.com/s3/m/30db0e612a160b4e767f5acfa1c7aa00b52a9de0.png)
Java程序设计实训总结[优秀范文五篇]第一篇:Java程序设计实训总结Java项目开发实训总结设计人:张**班级和班内序号:软件项目选题意义:选这个题目的原因:目前,随着国外的网上书店的盛行,在国内也出现了一些网上书店,如当当网、卓越网、以及china-pub等等。
互联网为这些网上书店的发展提供了无限的空间,这些网上的虚拟书店同实体书店一样可以容纳无限的图书或图样以及内容。
“这些网上书店的实现使用了当今世界最先进的计算机技术和网络技术,迅速的成为国内知名图书网站”。
作为计算机专业的学生,对于完成电子商务的计算机技术更需要切实掌握,以便在社会上更好的使用自己的所学技能,因此研究有关电子商务的计算机技术成为了极为有意义的课题。
项目名称:网上书店自我评价:优秀所开发系统的使用价值和应用领域:可以使用户方便的购买图书,为用户节省更多的时间。
应用领域是向广大群众开放,不过需用户注册后才能购买,还需用户会基本的电脑操作。
项目设计情况:项目的设计使用工具有NetBeans IDE 7.3和SQL Server Management StudioR2,技术有JSP技术,包括struts和Hibernate。
删除图书信息等功能。
项目设计中主要完成哪些任务?项目的设计已完成预期目标!项目的优势和缺陷:优势:本项目采用J2EE中的struts和Hibernate技术,J2EE代表的是一种前沿技术,它使得复杂的多层结构应用系统开发变得容易。
J2EE 建立在己取得极大成功的Java语言之上,采用J2EE规范能有效地进行软件复用,提高开发人员的效率,降低软件的开发和维护成本,提高软件的质量,控制所构建系统的复杂性。
J2EE规范将使得Java在企业计算中的地位得到加强,为基于Java 的应用系统提供了一个框架,和目前的许多系统和模型相比,J2EE具有许多优越性。
种种迹象表明,J2EE有可能成为多层结构分布式应用系统的服务器端构件模型的首要选择。
计算机java实习报告3篇

计算机 java 实习报告 3 篇范文【】实习报告是每个毕业生必定要做的事情,今天为大家收集了三篇计算机 java 实习报告范文,希望对你适用。
在本学期的开学初期,我们在学校机房进行了为期三周的 JAVA 实训。
现在立刻结束了,回首本学期的 java 学习,重点还是在学习见解等一些知识性的东西,经过此次为期三周的实训,碰到了好多自己感兴趣的问题,就会很有兴趣,自然学知识可不能够凭自己的爱好和一时兴趣,不能够碰到自己不敢兴趣的问题就把它抛给同学,要学会自己踏扎实实认真的去解决问题。
要一步一个足迹,认认真真,踏扎实实,理论与实践相结合,在扎实掌握课本实例和内容此后,有必然的扩展阅读和课外学习,充分全面的认识 JAVA的应用和扩展运用。
本次我们小组所做的程序是“小小通讯录”基本功能已经较好的完成,但是还是有一些不完满,比方我们的通讯录没有能够做到把通讯录里所储蓄的信息以列表的形式展现出来,因此还是有些不完满,,我们的指导老师对我们的程序作出了大体议论,发现我们的思想还是处于一个比较简单的过程中间,老师的几句简单议论,就带给我们无与伦比的冲击性。
由于我们写程序的经验尚且较少,好多东西无法考虑到位,老师的议论,使我们认识到了不足与今后的前进方向与目标,使我们更加拥有动力与激情,拥有了连续认真学习 JAVA的信心,拥有了成为一位合格的高级程序员的壮志,在编写程序的过程中间,我们在一开始就碰到了问题,素来在纠结与是使用数据库连接还是使用文件,经过老师的耐心讲解,我们认识到了还没有接触到的 Jar 包等一些列名词,但是经过数据库的抒写与连接发现 SQL2000与 SQL2005无法同步,因此最后我们选择了使用文件来进行此次程序的编写。
第二个问题就是我们的程序在进行按钮新窗口的链接,在新窗口弹出时,无法将老窗口关闭,纠结了许久,咨询老师,老师还给我用了“父子”的生动例子来讲解,最后我们查找 JDK,查找类的用法终于圆满解决 ! 甚是愉悦 !在我所学的语言中间,我自认为JAVA是一门比较富强的面向对象的编程语言,不能是由于它的跨平台性,更多的是由于它的灵便多变和合用性较强,能够说比较的经典和强横。
java实训报告(通用9篇)

java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。
那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。
java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。
2.熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。
该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。
设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。
系统功能分析是在系统开发的总体任务的基础上完成的。
该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。
供应商管理:主要包括供应商的添加、删除和修改。
产品管理:主要包括产品的添加、删除和进货、出货。
产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。
2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。
是组织、管理和控制信息系统开发过程的一种基本框架。
其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。
Java实习报告总结3篇

Java实习报告总结3篇Java实习报告总结1经过五天的Java实训,感触很深,收获也很大,对自己的缺点也有了很多的认识,回首本学期JAVA学习,重点还是在学习概念等一些常识性的东西,关于类型、变量、接口、输入输出流、分析异常、抛出异常,后期主要是小程序运用,Gui界面设计和事件。
在我学习的语言中,我自己认为Java是一门比较强大的面向对象的编程语言,不仅仅是因为它的跨平台型还有它的较强的实用性,强悍的嵌入性。
本次实训主要是针对我们对项目流程不熟悉和对整体项目的把握不清楚,学习数据库的设计和表的建设以及表与表之间的联系,还有一些代码的编写,这些都是我们所不熟悉的也是我们最薄弱的部分。
通过这一周的实训,虽然实训的时间不长,但是总体上收获挺大的,当我们正式准备学习实训java编程技术时,让我感到非常高兴,因为java一直学的是课本知识,所以实训对于我来说是必须要学会熟练操作的。
当然开始学习后也并非是想象中那样顺利,开始的学习让我异常感到学习任务的艰巨,因为学习中我遇到了很多以前未曾遇到的难点,有时后也难免会失去耐心,但是,通过老师的指导,自己的努力的练习,我顺利的化解了一道道的障碍。
克服了Java学习上的一道道难关,现在自己已经基本掌握了java的基础知识。
有些知识点以前没有学过,但我也没有去研究,实训时突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。
另外一点,也是在实训中必不可少的部分,就是同学之间的互相帮助。
所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮忙看了一下,发现其实是个很小的错误。
所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。
俗话说:“要想为事业多添一把火,自己就得多添一捆材”。
此次实训,我深深体会到了积累知识的重要性。
最新java实训报告心得6篇

最新java实训报告心得6篇java实训报告心得精选篇1容我先说句废话,经过同学们多次的互相理论与向上建议,对于第二次次实习地点安排在学校这个结果我还是非常高兴的,毕竟少了很多旅途劳累。
这次实习内容是java web,我想应该与本学期开过javaweb这门课有关,毕竟上学期学过java和数据库,本觉得应该会比较轻松,开始之前大家都说这实习可是可以放松了,可是等老师开始讲之后发现这个东西理论上知识点不多,可是应用起来还是感到非常困难。
这次实习老师风格与上次实习的那位不同,去年那简直是从零开始讲,这次上来没细讲java和SQL,直接jsp。
于是上学期开过的、纸上谈兵的java课就露出破绽了,简直要从头学起,更别说与jsp、sql融合了。
另外用jsp写网页嘛,这个语言不是很火,去Github上找,开发web应用的大多是php、python,而servlet这个东西非常基础,甚至并不能算作一个开发框架,所以网上的资料也并不好找,网上都是些Struts2、Spring3、Hibernate,总之这开始的时候就很是艰难,晚上回到宿舍也经常要花很多时间来补之前的知识,java封装继承什么的,当然,这很累。
白天听课并不能高效的吸收老师所讲的,下来问了一下同学们是差不多的情况,可能是老师的节奏我们不太习惯。
不过这学完也终究是会了一些,大概说一下,JSP全名 Java Server Pages,一种动态网页技术,所谓动态就是可以与用户交互就像论坛什么的,而html静态页面就是只能给用户看的。
首先,我们配置了几个环境:java的JDK和服务器Tomcat。
至于IDE,我还是用我比较顺手的jetbrain家的IntelliJ IDEA,对了,不用Eclipse是因为它丑。
之前都是写静态页面,对于动态页面的环境配置还真是头疼了一段时间,看了一些博客,发现这个主要是在File——ProjectStructure配置依赖的jar包,还有就是 tomcat服务器的配置。
Java实习报告模板精选5篇(完整版)

报告编号:YT-FS-1424-91Java实习报告模板精选5篇(完整版)After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas.互惠互利共同繁荣Mutual Benefit And Common ProsperityJava实习报告模板精选5篇(完整版)备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。
文档可根据实际情况进行修改和使用。
java实习报告在本学期的二周时间内,我们在学校机房进行了为期二周的JAVA实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,也学到平常在课堂中没有学到的东西,在JAVAAPI 中又多认识了几种类,使我对JAVA产生了浓厚的兴趣。
两周的时间说长也不长,在这两周中,我们的实训任务是仓库管理系统,在演示过程中,并没有觉得它有很难,但在实际编程过程中,却遇到了各种各样的错误,这也多亏了老师的指点和班级同学的帮忙,使我一步步克服了实训过程中遇到的困难。
虽然我所做的系统并没有实现所有功能,但是我觉得自己进步了,很多原来都不懂的东西现在都已经了解了,也培养了我的团队合作精神,让我感受到了集体的温暖。
实训的过程与课堂上的讲课比,更为有趣,因为可以真正的自己动手操作,使我对老师上课所讲的内容有了更深一步的了解,使我在以后的编程中可以灵活运用。
我期待以后有更多类似的实训,使我们可以多掌握一项技能,也可以让我们在以后找工作中可以有更多的实践经验。
大学生java实训总结报告6篇

大学生java实训总结报告6篇篇1一、实训背景与目标本次Java实训旨在通过实践操作,加深大学生对Java编程语言的理解与掌握,提高实际项目开发能力。
在为期一个月的实训期间,我们小组围绕Java SE基础、Java Web开发、数据库操作等内容进行了系统学习和实践。
通过本次实训,我们期望达到以下目标:1. 深入理解Java核心技术与编程思想。
2. 掌握Java Web开发的基本流程和关键技术。
3. 学会使用至少一种数据库进行Java程序与数据库的交互。
4. 具备一定的项目开发和团队协作能力。
二、实训内容与过程1. Java SE基础实训在实训初期,我们重点复习和巩固了Java SE基础知识,包括数据类型、运算符、流程控制、面向对象编程等。
通过编写简单的控制台程序,我们实践了异常处理、集合类、泛型以及多线程编程。
2. Java Web开发实训随后,我们转向Java Web开发的学习。
通过学习和实践,掌握了基于Servlet和JSP的Web开发技术。
同时,学习了HTML、CSS和JavaScript等前端技术,并练习了前后端数据的交互。
此外,还了解了MVC设计模式在Web开发中的应用。
3. 数据库操作实训在数据库操作方面,我们主要学习了SQL语言以及JDBC操作数据库的技术。
通过实践操作,我们能够在Java程序中实现数据的增删改查,并学会了使用ORM框架进行对象与数据库表的映射。
4. 项目开发实践在实训的最后阶段,我们以小组形式进行了一个小型项目——在线图书管理系统。
通过项目的开发,我们综合运用了前面学到的知识,包括Web开发技术、数据库操作等。
在项目开发过程中,我们学会了如何分工合作,如何进行有效的项目管理。
三、实训收获与体会1. 提升了编程能力。
通过实训,我们对Java编程语言有了更深入的了解,编程能力得到了显著提高。
2. 增强了项目开发经验。
项目开发的实践让我们体验到了软件开发的流程,学会了如何在项目中运用所学知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告实验课程:Java实验报告项目名称:QQ聊天程序学生姓名:学号:专业班级:2018年 4 月 27 日目录一、实验内容 (1)二、问题描述 (1)三、项目功能 (1)四、项目分析 (1)五、项目设计 (2)六、系统实现 (3)七、总结 (15)一、实验内容根据本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用课堂上所学的Java语言知识和MySQL数据库,设计一个QQ聊天程序。
二、问题描述1.解决程序窗口的显示和界面设计问题2.解决提取数据库信息的问题3.解决程序按钮功能的实现问题4.解决好友的添加的问题5.解决与好友聊天的问题三、项目功能主要项目功能:1.数据库的设计2.数据库的增删改查从鼠标和键盘监听a.键盘输入账号,密码和聊天内容b.鼠标移动到登陆按钮,点击触发用户登陆c.鼠标移动到取消按钮,点击触发取消登陆d.鼠标移动到好友栏,点击触发聊天界面3.多线程设计a.main函数内while(true)循环重复调用b.main 函数内通过创建构造器来显示登录界面四、项目分析结合问题描述以及项目功能的介绍,分析如下:1.主界面,程序运行界面的设计如下五、 项目设计主窗体项目设计如下流程图所示:流程图六、系统实现1. package com.zt.view;import java.awt.Color;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.DataInputStream;import java.io.DataOutputStream;import .InetAddress;import .Socket;import .UnknownHostException;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTabbedPane;import javax.swing.JTextField;public class ClientLoginView extends JFrame implements ActionListener{ //大布局JPanel jp1; //北部JPanel jp2; //中间JPanel jp3; //南部//选项卡JTabbedPane jtb;JPanel jtb_jp1,jtb_jp2,jtb_jp3;JLabel jtb_jp1_lb1,jtb_jp1_lb2,jtb_jp1_lb3,jtb_jp1_lb4;JTextField jtb_jp1_jt;JPasswordField jtb_jp1_jpf;JButton jtb_jp1_jb;JCheckBox jtb_jp1_jc1,jtb_jp1_jc2;JButton jp3_jb1,jp3_jb2,jp3_jb3;public ClientLoginView(){//中间jtb=new JTabbedPane();jtb_jp1=new JPanel(new GridLayout(3,3));jtb_jp1_lb1=new JLabel("QQ号码",JLabel.CENTER);jtb_jp1_lb2=new JLabel("QQ密码",JLabel.CENTER);jtb_jp1_lb3=new JLabel("忘记密码");jtb_jp1_lb3.setForeground(Color.blue);jtb_jp1_lb4=new JLabel("申请密码保护");jtb_jp1_lb4.setForeground(Color.blue);jtb_jp1_jt=new JTextField();jtb_jp1_jpf=new JPasswordField();jtb_jp1_jb=new JButton(new ImageIcon("image/clear.gif"));jtb_jp1_jc1=new JCheckBox("隐身登陆");jtb_jp1_jc2=new JCheckBox("记住密码");jtb_jp1.add(jtb_jp1_lb1);jtb_jp1.add(jtb_jp1_jt);jtb_jp1.add(jtb_jp1_jb);jtb_jp1.add(jtb_jp1_lb2);jtb_jp1.add(jtb_jp1_jpf);jtb_jp1.add(jtb_jp1_lb3);jtb_jp1.add(jtb_jp1_jc1);jtb_jp1.add(jtb_jp1_jc2);jtb_jp1.add(jtb_jp1_lb4);jtb.add("QQ号码",jtb_jp1);jtb.add("手机号码",jtb_jp2);jtb.add("QQ邮箱",jtb_jp3);this.add(jtb,"Center");//北部的图片JLabel jtou =new JLabel(new ImageIcon("image/tou.gif"));jp1 = new JPanel();jp1.add(jtou);this.add(jp1,"North");//南部按钮jp3=new JPanel();jp3_jb1=new JButton(new ImageIcon("image/denglu.gif"));jp3_jb1.addActionListener(this);jp3_jb2=new JButton(new ImageIcon("image/quxiao.gif"));jp3_jb2.addActionListener(this);jp3_jb3=new JButton(new ImageIcon("image/xiangdao.gif"));jp3.add(jp3_jb1);jp3.add(jp3_jb2);jp3.add(jp3_jb3);this.add(jp3,"South");//设置窗口大小this.setSize(350,250);//设置窗口标题this.setTitle("QQ聊天程序");//设置窗口大小不变this.setVisible(false);//单击关闭按钮,程序退出后台线程this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//获取屏幕分辨率,界面居中对齐Toolkit kit=Toolkit.getDefaultToolkit();int Screenwidth=kit.getScreenSize().width;int Screenheight=kit.getScreenSize().height;this.setLocation((Screenwidth-350)/2,(Screenheight-250)/2);//把窗口设置成可见this.setVisible(true);}public static void main(String[] args){new ClientLoginView();}@Overridepublic void actionPerformed(ActionEvent e) {//获取操作对象Object obj=e.getSource();if(obj==jp3_jb1){//单击登入按钮String name =jtb_jp1_jt.getText().trim();String pass= jtb_jp1_jpf.getText().trim();login(name,pass);}else{if(obj==jp3_jb2){//单击取消按钮}}}public void login (String name,String pass){if(name.equals("")||pass.equals("")){JOptionPane.showMessageDialog(this, "账号或密码输入错误,请重新输入!");}else{try {String ip = InetAddress.getLocalHost().getHostAddress();Socket sc=new Socket(ip,8888);DataOutputStream dout=new DataOutputStream(sc.getOutputStream());dout.writeUTF(name+","+pass);//获取服务器端的反馈结果DataInputStream din =new DataInputStream(sc.getInputStream());String result=din.readUTF();if("error".equals(result)){JOptionPane.showMessageDialog(this, "账号或密码输入有误,请重新输入!");}else{this.setVisible(false);ClientFirendView fs =new ClientFirendView();fs.setVisible(true);}} catch (Exception e) {e.printStackTrace();} } } }2.package com.zt.view;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.Toolkit;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import erDao;import erDaoimpl;public class ClientFirendView extends JFrame{JButton jb1,jb2,jb3;JScrollPane jsp;JPanel jp,jp1,jp2;JLabel[] friends;public ClientFirendView(){jb1=new JButton("我的好友");jb2=new JButton("陌生人");jb3=new JButton("黑名单");jp=new JPanel(new BorderLayout()); //最大的面板jp1=new JPanel(new GridLayout(20,1,10,10)); //好友默认可放20个UserDao userDao=new UserDaoimpl();friends=new JLabel[20];for(int i=0;i<friends.length;i++){int num=i%12+1;friends[i]=new JLabel("好友"+(i+1),newImageIcon("image/"+num+".png"),JLabel.LEFT);jp1.add(friends[i]);}jsp=new JScrollPane(jp1); //中间我们的好友面板jp2=new JPanel(new GridLayout(2,1)); //陌生人,黑名单面板jp2.add(jb2);jp2.add(jb3);jp.add(jb1,"North");jp.add(jsp,"Center");jp.add(jb2,"South");this.add(jp);//设置窗口大小this.setSize(200,600);//设置窗口标题this.setTitle("好友界面");//设置窗口大小不变this.setVisible(false);//单击关闭按钮,程序退出后台线程this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//获取屏幕分辨率,界面居中对齐Toolkit kit=Toolkit.getDefaultToolkit();int Screenwidth=kit.getScreenSize().width;int Screenheight=kit.getScreenSize().height;this.setLocation((Screenwidth-200)/2,(Screenheight-600)/2);//把窗口设置成可见this.setVisible(true);}public static void main(String[] args){new ClientFirendView();}}3. package com.zt.view;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;public class MessageView extends JFrame{JScrollPane jsp; //聊天内容区域JPanel jp2; //发送消息JTextArea jta; //文本域JTextField jtf;JButton jb;public MessageView(){jta=new JTextArea(9,20);jsp=new JScrollPane(jta);jp2=new JPanel();jtf=new JTextField(20);jb=new JButton("发送消息");jp2.add(jtf);jp2.add(jb);this.add(jsp,"North");this.add(jp2,"South");//设置窗口大小this.setSize(350,250);//设置窗口标题this.setTitle("QQ聊天界面");//设置窗口大小不变this.setVisible(false);//单击关闭按钮,程序退出后台线程this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//获取屏幕分辨率,界面居中对齐Toolkit kit=Toolkit.getDefaultToolkit();int Screenwidth=kit.getScreenSize().width;int Screenheight=kit.getScreenSize().height;this.setLocation((Screenwidth-350)/2,(Screenheight-250)/2);//把窗口设置成可见this.setVisible(true);}public static void main(String[] args){new MessageView();}}4.package com.zt.dao;import java.util.List;import er;public interface UserDao {public User login(String name,String pass);public List<User> findUserFirends(String name);}5. package com.zt.db;import java.sql.*;public class DButils {private static final String url="jdbc:mysql://localhost:3306/qqdb";private static final String user="root";private static final String password="root";public static Connection getConnection(){Connection conn=null;try {//加载驱动类Class.forName("com.mysql.jdbc.Driver");//建立连接conn= DriverManager.getConnection(url, user, password);} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();}return conn;}public static ResultSet getQueryResult(String sql){ResultSet rs=null;try {Connection conn =DButils.getConnection();Statement stmt=conn.createStatement();rs=stmt.executeQuery(sql);} catch (SQLException e) {// TODO 自动生成的 catch 块e.printStackTrace();}return rs;}public static ResultSet getQueryResult(String sql,Object[] objs){ ResultSet rs=null;try {Connection conn =DButils.getConnection();PreparedStatement pstmt= conn.prepareStatement(sql);for(int i=0;i<objs.length;i++){pstmt.setObject(i+1,objs[i]);}rs=pstmt.executeQuery();} catch (SQLException e) {// TODO 自动生成的 catch 块e.printStackTrace();}return rs;}public static Boolean executeSql(String sql,Object[] params){ boolean result = false;try {Connection conn =DButils.getConnection();PreparedStatement pstmt= conn.prepareStatement(sql);for(int i=0;i<params.length;i++){pstmt.setObject(i+1,params[i]);}int n=pstmt.executeUpdate();if(n>0){result=true;}} catch (SQLException e) {// TODO 自动生成的 catch 块e.printStackTrace();}return result;}}6.package com.zt.db;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import erDao;import com.zt.db.DButils;import er;public class UserDaoimpl implements UserDao{public User login(String name, String pass){User user=null;try{String sql="select * from t_user where name=? and pass=?" ;Object[] params={name,pass};ResultSet rs=DButils.getQueryResult(sql, params);if(rs.next()){user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setNickname(rs.getString("nickName"));user.setPhoto(rs.getString("photo"));user.setSex(rs.getString("sex"));}}catch(Exception e){e.printStackTrace();}return user;}public List<User> findUserFriends(String name) {List<User> userList=new ArrayList<User>();String sql="select * from t_user where name in (select friendName from t_userfriends where userName=? )";Object[] params={name};try{ResultSet rs=DButils.getQueryResult(sql, params);while(rs.next()){User user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setNickname(rs.getString("nickName"));user.setPhoto(rs.getString("photo"));user.setSex(rs.getString("sex"));userList.add(user);}}catch(Exception e){e.printStackTrace();}System.out.println("-----------------------"+userList.size());return userList;}@Overridepublic List<User> findUserFirends(String name) {return null;}}7.package com.zt.po;public class User {private int id;private String name;private String pass;private String nickName;private String sex;private String photo;private String status;public void setId(int int1) {}public void setName(String string) {}public void setNickname(String string) {}public void setPhoto(String string) {}public void setSex(String string) {}}8. package com.zt.service;import .*;public class Test {public static void main(String[] args){try {String ip = InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {e.printStackTrace();}}}9.package com.zt.service;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import .ServerSocket;import .Socket;import erDao;import erDaoimpl;import er;/** 用户注册登路的socket的服务器端*/public class UserLoginService {private ServerSocket userServerSocket;public static void main(String[] args){try {ServerSocket userServerSocket=new ServerSocket(8888);Socket client=userServerSocket.accept();while(true){DataInputStream din=new DataInputStream(client.getInputStream());String info =din.readUTF();String infos[]=info.split(",");UserDao userDao=new UserDaoimpl();User user=userDao.login(infos[0], infos[1]);DataOutputStream dout = new DataOutputStream(client.getOutputStream());if(user==null){dout.writeUTF("error");}else{dout.writeUTF("success");}}} catch (IOException e) {e.printStackTrace();}}}七、总结通过这次大作业,我更加清晰的认识到学海无涯,还有很多东西等待我去发掘。