技术标签: java课程设计qq
河南工业大学
课程设 计
课程设计名称: ja a qq聊天系统
学生姓名 : x aoy
指导教 师: 王高平
课程设计时间: 2016.7.7
计科 专业课程设计任务书
说明:本表由指导教师填写,由教研室主任审核后下达给选题学生装订在设计(论文首页1需求分析
运用java语言实现一个qq聊天局域网系统主要功能实现信息的相互交流,整个程序分三个大模块第一个模块是服务器端的设计第二个模块是客户端的实现第三个模块是数据库连接的实现。主要实现一个客户端发送串字符信息,另一端客户端能接受(在一个局域网下 同时建立了一个数据库(my ql 用于注册用户,同时存储用户的信息以及找回密码要用到的密保问题答案。
2 概要设计
主要类:
Jqq 类:主要是登录窗口
Ce l类:按钮类
Fi dp s word.java:找回密码类
Loo :注册窗口
Lookpa swo d.java:查看密码窗口
Reg s er.java:注册账号类
J vaysql .jav 数据库类连接数据库。3运行环境软、硬件环境
i dow,6 位pc机,jv j a虚拟机)4 开发工具和编程语言
i s ,java
5详细设计
Server. java 实现一个小型的服务器)
ackage sever.n ipr jav io. ;import java.net.*
mport ava.util.*;pblic class Se r
boo ean tar d= fa se;
S e ve ocet s =null;
L s l e ts newrraList
n Sevr() .t t( ;
}
ubl c vo tar () try{
s = eS rverSocket(999) ;st a e d =true;
}catch (B ndxcept on ) {
Sys em.ou .print "端口使用中. . .);
Sytem out.printl ("请关掉相关程序并重新运行服务器! ; Sys em. x ()
} ctch IE x c e ptin e) {
e.printtacTrae )
}
try
hil st art e) {
So ke s = ss accet()
lien c=ne w lient(s ;
Syste o .print n "a l ent cnnecte !"); nw T re (c) start( ;
clien s ad (c ;
/ dis clse( ) ;
}
} c ch IOExceptio e {
.print ackTrace( ) ;
}f nlly{
tr {
ss clos );
catch (IE cp o e) {
/ TOD Aut-generatd atc bloc
e.prin St kT e( ) ;
}
class Client mplementsunnabl {
pr v e cet
privat D taI ut Stra m s n ul ;
privateat a O S read o s = l ;
ivateb lean bC nected= false;
public Cliet S ocket s)
this.s s;
t {
di =nw D a I ut Stre s.etIp uttrem ) ) os =nw D taOutputtram(s.getutputt am )
C n n td =true;
} catch (IExept on ) {
.printS kTrace( ) ;
}
}
pub ic oid snd String tr) {
tr {
d o s.write U T F(str)
}catc (IOExcept on e) {
c e nts e m oe his);
y s e m. u .r n ln("对方退出了我从Lit里面去掉了 ; // e rintStackTrace( ) ;
}
}
ubli vo d run( /线程体
tr {
w ile (bConnected {
tri = di .red U T F( ) ;
S yte m.o ut.pr ntln(tr);
f or in = 0; i< cli t s.s z e ; +) {
lient c cl nts.get(i
c.s e n d str);
}
}
} atch (O F E eption ) {
System.ot.println(" e t clsed!");
}catch (IOEceptio e)
.p tStackrac ;
} finlly {
ry{
if di s != ul )
is.close( ) ;
if (dos =nll
dos.close( ) ;
if (s = n ll) {
s.clos ( ;
= ull
cath (IOEcetin e1) {
1.pr nttakTra (
}
}
}
}
Jq 类:登录的窗口类package .xiaoy g co;imp ort ja .awt.Clor;ip tjava.awt Font;
mpor jaa.awt een .ActionEvnt;mpo t j a.awt.event Ac ioLitenr;m ort ja .awt event.ouseEvn ;impor jaa w .eent.ouseListen ipo tjav.ql Co neti impor va sl.PrparedState impor ja .q .Resu tSet imprt aa.sql.SQLEcept o ;impor java sql.S atment importj ax.sw ng.ImaeIcon
rt jaax w ng JButto impo t aax.swing.JF a;
ort javx.ing.JLabe ;impor java.si .P l;
prt java.si .JPassworFildimo t j .swig. Tex F eld;
publicc as Jqq xtend Frm ments Mo seL stener {privat stti final lng sria Versin UID 1 L;public st ic voi m in Str ng args[]
JqqF f e JqF );
pb ic tati JTxtField n a m e = n J Field(0)
JLabe neLa =ne J bel(号:") p licstaticJPasswrF eldnam =new JassworFiel 2);JLabelnmeLa =new Lbel();
Strig pat5 " c//.png";
// 背景图片
IageIo backrond =nw IaeIo (ath5 ;
ell b ut=n ec ell(b a c k gr o u n d);
F o nt nt =nw F o "S e ief") ;
trig h4 = "pi// . g ;
ImagIcon bckgro d4 = nw Imag cn(ath);c el bt=n e ellb a c kr d 4 );
String pt3 = pic /b.png
ImagIcon bacground =nw ImgeIcn(pa h3 cell t2= new cl (bckgroud3 ;
t ig path "pic//q. g"
Iage nbac ou =nw ImageIco (path2 ;
JLabel abl nw JLab ( grou 2) public Jqq () {
super("q测试);
t is setSize(0 334) ;ti . L o c a io (300, 200) ;this.setVisib e(tre);
St ing a h = "pic//qq.png";
// 背景图片
ImagIcon acground=ne magIco path) ;
/把背景图片显示在一个标签里面
JLael label=n Lbel(bacg und) ;
a b el.s et y o ut(u ;
//把标签的大小位置设置为图片刚好填充整个面板
lbel stBo ds(, 0,th s.gtWid h( ) t s.e eight() ) ;
//把内容窗格转化为JPanel 否则不能用方法setOpaqe )来使内容窗格透明JPa mageP n = (JPanl th g Contetan ()
igPanel.s Op qe( le);
//把背景图片添加到分层窗格的最底层作为背景
nameLb setont(fnt);naLab.s Fo oun lor.yellow) ;
a m a.se Fn (fn );
e L a.etF ore gro un (olo .ellw) ;
name ab.etBuds(160, 12 100 30) ;
t setBoun (36, 120, 72, 0
bt addActioLitener(newctionLis ener() {
O r e
ubl c voi ionP e ford ctioEvent e) {
rgiter =n e w e s r(
;
name.e Bounds 2 , 20, 10, 30) ;
n a mL s et B n (16, 60 10, 3);
am se Bo ns(250, 0 10 30)
b 2 .setBouns( 0, 160, 7, 0) ;
t.adActi L tene newctionListnr )
@ O v e rid
pul c o ac in form (Ac ionEvn ) { ew fidpssword( ;
});
// /nam.setColmns 20) ;
lae 2 setBounds 65, 120 ;
ut se Bounds(185, 2 0 47, 0) ;
u dMouseListener(this);lae . (am Lab) ;
lbel ad (bt ;
labl.dd(b 2) la l.add na);lael ad(am La);
abl add( abel2 ;labe .ad na m ;
文章浏览阅读107次。http://blog.csdn.net/yerenyuan_pku/article/details/72941506到这里,我相信大家也是不容易,我自己也算是很不容易写到这里,希望自己能一直写下去。之前我们就差不多把商品搜索功能实现了,本文我们来一起测试下该搜索功能。 首先我们要保证zookeeper、redis、image、solr服务都开启。接着我们把taotao-common工..._商品搜索浏览功能测试
文章浏览阅读67次。EOS开发环境搭建 在上一篇文章《扒一扒EOS的前世今生》中,我们已经了解了EOS以及他的创始人Daniel Larimer的故事,本次为大家带来的是关于EOS开发环境搭建的内容。首先我们来了解一下EOS的核心架构和白皮书。1. EOS的核心架构 EOS网络由21个超级节点和100个备选节点构成,这21个超级节点负责轮流产生区块,避免了挖矿竞赛的问题,有效的提高同步数据的性能。2..._eos环境搭建
文章浏览阅读31次。// 安装 composer curl -s http://getcomposer.org/installer | php// 把 composer 添加到全局命令mv composer.phar /usr/local/bin/composer// 安装 Composer asset plugincomposer global require "fxp/compos...
文章浏览阅读81次。 首先xmlHttpRequest 使用Post时,需要对数据进行编码,在客户端一般使用js中的encodeURIComponent 在web.config中指定了gb2312编码后,在aspx页面中如果直接使用 Request[xxx]那么结果将会出现乱码,原因是asp.net系统使用gb2312编码对上传的数据进行解码还原,而encodeURIComponent编码是按uft..._post请求解析gb2312
文章浏览阅读1.1k次。总目录https://preparedata.blog.csdn.net/article/details/120062997一、新建一个父级gradl模块1.在桌面或新建文件里面,右键,打开IDEA选择Flie > NEW > Module选择Gradle, 选择Module SDK 1.8, 选择Java创建完成后,idea中会多出一个项目,如下图示例然后直接关闭当前idea, 进入刚才创建好的文件下,再次打开项目可以直接删除src目录二、新建子级gradl_gradle模块父子关系引入
文章浏览阅读4.5k次,点赞5次,收藏21次。来源-作者@涛少&:https://www.cnblogs.com/deng-tao/p/6004280.html建议读者阅读原文,确保获得完整的信息1、SPI是什么①串行外设接口(Serial Peripheral Interface)的缩写。② Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。2、SPI的优缺点优点: ..._spi是同步通信吗
文章浏览阅读1w次,点赞3次,收藏12次。文章目录添加源清华源腾讯源移除源清华源腾讯源打印当前channels系统中的配置文件使用pip源添加源清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels h_conda 源
文章浏览阅读42次。转自:http://www.linuxidc.com/Linux/2011-02/32218.htmLinux发行版自带usb to serial驱动,以模块方式编译驱动,在内核源代码目录下运行Make MenuConfig选择Devces drivers-->USB seupport--> <M>USB Serial Converter support --> ..._ttyusb 需要哪些ko
文章浏览阅读259次。字符串格式化目前有两种方式:一、“%”方式;二、format方式;一、“%”方式1、%传值:%s:可以接收任何值;%d:接收数字;1 msg = 'my name is %s' %'zhangsan' #str类型2 msg1 = 'he is %s' %20 #he is 20 int类型3 msg2 = 'she likes %s' %['apple','orange','pai'] #..._pylance 只有提示 无法自动格式化
文章浏览阅读1.4k次,点赞5次,收藏5次。目录前言回顾操作系统原理时间片算法抢占式操作系统前言我们可能经常会用到 Thread.sleep() 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.sleep(0) 。既然是 sleep 0 毫秒,那么他跟去掉这句代码相_thread sleep
文章浏览阅读290次。完美WORD格式专业整理 知识分享计算机科学专业数值分析试卷(计科3班)一、选择题(每小题4分,共20分)1.已知求积公式,则( ).A . B. C. D.2. 通过点,的拉格朗日插值基函数满足 ( ).A . B.C . D.3. 求解方程,若可以表示成,则用简单迭代法求根,那么满足( ..._有3个不同节点的高斯求积公式的代数精度是( ).
文章浏览阅读5.2k次。采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器拷贝远程服务器的文件到本地:scp -r -P 端口号 用户名@IP地址:/usr/local/tomcat_airc/webapps/ /tmp/kyj/ 拷贝本地文件到远程服务器:scp -r /tmp/kyj/sys.war 用户名@IP地址:/usr/local/tomcat_..._scp linix