前言
做一个小程序是JAVA的最后一个实验, 由于我也就会数据库调用这点技术,所以之后还要学Socket和GUI,GUI打算用Swing(反正Mac看上去都一样),Socket网上有很多人的代码……所以感觉应该妹什么难度。
总之先随意地建了一个工程:
打算在API里写各种中间接口,然后Sever写用户端,Client写客户端,只有用户端有GUI,再写个UI给客户端,目前还没看怎么实现客户端,总之最后可能会把客户端部署到服务器上,如果可能再给密码整个哈希,先把基本功能完成!
工具集
Day 1
调试JAVA的远程数据库, 完成了一些数据库要用的函数,写了一个登陆的界面。
登陆界面!
数据库的函数!
感谢我这么多年一直致力于用各种语言打开远程数据库】
数据库应该主要就包括登陆界面的功能了,好友功能暂时没想,连接聊天室或者好友应该是通过IP连,二次优化可以做实时生成唯一验证码功能,或者添加好友,显示好友是否在线……【不过现在先这样了。
打算明天先写客户端,实现客户端的基本功能,把接口都写好。
BUG 1 :
远程连接数据库失败!
发现没有加入mysql的jar包,在菜鸟教程上下载了,在工程下加入一个lib文件夹,把jar包放进去,之后建立新的路径:
进入后选择第一个 Add JARs ,找到lib里的jar包,右下角点个apply就成了。
BUG 2:
报错信息:
Tue Dec 10 18:39:13 CST 2019 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
这个是说要把SSL关了,在url后面加一个 useSSL=false
BUG 3:
创建表单时失败!
注意创建和查找时使用的方法是不一样的~
- 对于创建、删除之类的不返回结果的,需要用:
其中state是int型,返回改变的行数。
- 对于查找需要返回结果,需要用:
其中rs是ResultSet型,需要用
while(re.next())
来循环获得。
结果:
测试1:数据库的内容
测试2:插入数据
测试3:其他函数
返回值:
今日工作圆满结束qwq!
Day 2
昨晚完成了客户端UI的所有框架及基本功能:
登陆界面
各种弹窗:
聊天窗口(我糊了超久):
可以实现自言自语的伪通信了:
今天目标是实现客户端和服务器的交互,以及把client和ui绑在一起,根据client的信息,ui也会做出相应的变化。考虑了一下需要把数据库和服务器绑定而不是客户端。
客户端写好了:
服务器一直监听,每有一个客户端都给它开一个线程跑接收。服务应该就包括登陆登出、接收到它的消息并广播给其他人(包括他)、获取当前在线人数及姓名。
0 条评论