关于夏季学期Java结课大作业的初步思考(内部资料,请勿转发传阅)

一. 写在前面

这是关于夏季学期Java结课大作业的初步思考,所阐述的都是自己初步的拙劣见解。希望见阅者不要转发(不要转述思想)的真实目的是为了不误导他人。希望读者在阅读时保持独立思考,有自己的想法。如果遇到疑问,可以直接联系笔者或者评论。

二. 题目及理解

在这里插入图片描述
也许需要思考这些问题:

  1. 如何通过socket实现client/server通信?

要注意此处C/S是一种多对一关系,server端有必要使用线程。

  1. 哪些阶段需要使用socket通信?
  • 客户端登录的时候(如果您有登录界面的话)
  • 呈现客户端主界面时
  • 文件上传的时候
  • 文件下载的时候
  • 文件删除的时候
  • 文件重命名的时候
  1. socket通信需要传输哪些形式?

主要是传输文件内容(fileStream)和传输字符串(主要是文件信息,如名称、长度)

  • 文件上传、下载的时候需要传输文件内容与文件信息(字符串)
  • 客户端登录、呈现客户端主界面、文件删除、重命名的时候都需要传输文件信息(字符串)
  1. 有关数据库的使用?

使用什么数据库?Access、MySQL、PostgreSQL(笔者使用)等等都可以。
 
使用数据库干什么?也许可以分成两个数据库,一个管理用户信息(如果您的系统有登录界面的话),另一个管理文件信息。

  1. 用户端主界面用什么结构实现?

主界面是为了给用户呈现文件信息,方便客户管理文件。笔者使用Hashtable+JTree,您完全可以也有必要用其他方法。

  1. 有关GUI界面?

GUI界面的设计或许是整个程序设计的第一步,这是完全个性化的,笔者使用了Swing实现。

  1. 以什么顺序完成此项目?

先写客户端GUI界面,再写socket通信(客户端C对应服务器S),其中服务器S要实现多线程以及与数据库的连接。服务器可以不止一个。

注意项目的最终截止提交日期是9月7日,请合理规划时间!

 

三. 程序设计时的参考文献

有必要参考课本,也有必要查百度。笔者参考了如下文献,具体参考的文献完全取决于自己遇到的实际困难,因人而异。如您遇到与笔者类似的问题,请取阅。

菜鸟教程JAVA部分:https://www.runoob.com/java/java-tutorial.html

菜鸟教程JSP部分:https://www.runoob.com/jsp/jsp-tutorial.html
 

1. 有关socket的client和server

资料基本是C/S一对一模式,C/S多对一则需要在server文件中使用线程,可以参见课本

Socket传输各种文件实现 (文件名称、大小判断)

https://jingyan.baidu.com/article/e73e26c081f05d24acb6a745.html
 

Java Enumeration接口

https://www.runoob.com/java/java-enumeration-interface.html
 

使用Socket实现账号密码验证

https://blog.csdn.net/weixin_42488035/article/details/106844136
 

2. 有关数据库(此处使用PostgreSQL)

怎么安装PostgreSQL?可以查百度,也可以看我的csdn。但不一定要用PostgreSQL,可以是其他数据库,如Access或MySQL

JAVA连接PostgreSQL数据库

https://blog.csdn.net/huangbaokang/article/details/88891553?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight
 

Intellij IDEA 添加jar包的三种方式

https://blog.csdn.net/zwj1030711290/article/details/56678353/
 

3. 利用数据结构JTree实现客户端文件管理界面

我使用了Hashtable+JTree,实现手段不唯一,是个性化的

java Tree 怎么获得父节点的值?

https://zhidao.baidu.com/question/521121303.html
 

4. 如何实现本地文件重命名?

Java File中renameTo的介绍和使用说明

https://blog.csdn.net/u010648555/article/details/78356040
 

5. 如何实现错误追踪以及可能遇到的问题

个性化的问题,每个人遇到的不同,参考价值不是非常大

异常类的toString()、getMessage()和printStackTrace()方法

https://blog.csdn.net/qq_15087157/article/details/78051400?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight

Error:Module ‘d‘ production: java.lang.ClassCastException错误的解决方法

https://blog.csdn.net/manformer/article/details/107120251

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ada’s bulldog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值