综合实战--文件上传系统【JDBC&IO&Socket】
本文纯属记录第一次实战遇到的坑和知识,如果后边有时间再做整理。
1,先写了个操作数据库的工具类SqlTool,照着JDBC资料打完之后,测试的时候出错了,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。
百度了一下,需要导入jar包,右键项目--》构建路径--》添加外部归档(jar)。要导入的jar包就在%mysql%\Connector.J 5.1\mysql-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,基本跟老师的差不多,把一些细小的错误做了修改。