学习心得(数据库操作与socket)专题_数据库实训学习心得
学习心得(数据库操作与socket)专题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库实训学习心得”。
学习心得
——数据库操作与socket 编程目的:
编写一个java程序,应用socket,用客户端发送信息,服务器端以用户icstest身份连接数据库ordb3,并根据客户端发送的信息,对数据库ordb3中的表tbl_brh_info进行增删改查的工作。如果操作为查询,则在客户端打印查询结果,并把查询记录写进文件。编程过程:
运用JDBC连接数据库,完成数据库相关操作
使用socket套接字搭建C/S环境
使用多线程知识达到多用户的功能 程序结构:
主要代码:
创建javabean,为实现多线程,继承了Serializable接口(Brh.java)
加载JDBC驱动,连接数据库(DBmanager.java)
数据库相关操作(Dao.java)
建立客户端(Client.java)
建立服务器端,并建立线程与客户端连接(Server.java)
服务器线程(ServerThread.java)
运行过程:
1.开启服务器端,准备接收客户端连接;
2.开启客户端,服务器端建立线程与客户端连接;
3.客户端显示提示信息(1.查询机构2.添加机构3.编辑机构4.删除机构0.退出
请选择业务(1-4):),根据提示信息,选择相关业务;
4.根据所选业务进行相关操作;
(查询删除编辑时,会验证是否有该数据;
添加编辑过程中,会对所添加内容进行验证,以满足格式要求; 查询出的信息会写入查询记录文件D:brhbrh_info.txt)
5.操作结束后,根据提示信息退出(输入“0”),退出时会关闭该客户端socket,相关的输入输出流及程序;
6.服务器端等待下次客户端连接,直到手动关闭。
部分截图:
服务器端
客户端
遇到问题:
1.对象无法传递;
原因:没有对对象进行序列化;
解决:Brh类继承Serializable接口。
2.第二天连接时客户端无法连接上;
原因:动态获取IP,导致IP地址改变; 解决:改写代码为当前IP。
3.在客户端提示信息后输入中文出错(直接输入中文,先输入字母或数字再输入中文不会报错);
原因:原因不明,而且并非程序报错,只是不能输入,仔细检查后,确定不是代码问题,也许是IDE原因。疑为输入法问题,因为切换到其他输入法后(智能ABC和微软拼音都试过,原为搜狗拼音),直接输入数字也会出错;
解决:尚未解决。
经验心得:
在本次练习中,通过程序的编写,调试,修改等过程,收获到不少东西,其中主要有:
1)巩固以前的知识。运用JDBC连接数据库,编写字符界面和验证所用的JAVA基本语句,以及输入输出流,序列化和反序列化等,都是一些常用和基础的知识,通过本次程序进一步熟练;
2)学习一些以前不熟悉或不会的知识。在本次的程序编写中,对于多线程及socket一块的知识,虽然以前也有接触学习过。但掌握不深,不够熟练。但通过查阅资料,完成了本次的应用,还对这类知识在本次程序中没用用到的部分,进行了深入的学习,以便在下次遇到该类问题时能应对;
3)在本次程序编写过程中,最大的收获得益于查阅资料学习的过程。在面对无法解决