综合实战--文件上传系统【JDBC&IO&Socket】

本文纯属记录第一次实战遇到的坑和知识,如果后边有时间再做整理。

1,先写了个操作数据库的工具类SqlTool,照着JDBC资料打完之后,测试的时候出错了,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。

  百度了一下,需要导入jar包,右键项目--》构建路径--》添加外部归档(jar)。要导入的jar包就在%mysql%Connector.J 5.1mysql-connector-java-5.1.39-bin.jar

2,再次运行,连接成功,但是有一个警告WARN: Establishing SSL connection without serve

  强迫症解决办法:将连接该成以下方式,主要是加粗部分

    Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false","root", "letmein");

3,根据之前学习的TCP编程,写出服务器端和客户端的基本程序,两边通信没有问题。

4,运行,在检查用户名和密码时,发现返回值不正确。检查后是函数写丑了,对数据库返回的结果集用了next函数后忘记返回第一行的前面。

5,搞了许久,终于把基本功能都实现了,但是代码写得巨丑,最后分析得出,是因为把提示语句都交由服务端来传送给客户端,导致看起来特别复杂。所以最终决定看下慕课上老师的代码。

6,基本逻辑跟我的差不多,但是有两点需要学习,一是提示语句交由客户端来输出;二是可以把两边交换的信息用一个类包装起来,然后用对象流来传输,这点很重要,使代码看起来简单多了。

7,附上源码http://download.csdn.net/detail/a781675302/9702798,基本跟老师的差不多,把一些细小的错误做了修改。

原文地址:https://www.cnblogs.com/L-King/p/6122181.html