Как лучше сделать отправку объекта от клиента к серверу?
Смотря как сделан сервер. Можно, например, использовать старые добрые сокеты и ObjectOutputStream\ObjectInputStream. Или, если сервер понимает HTTP (скажем, использован какой-нибудь Spring WebMVC\WebFlux), то использовать Apache HTTP Components или что-то похожее.
Но вопрос другом
В чем?
Как вообще сохранять переписку
Лучше всего, конечно, использовать БД - проще делать выборки, чем из файлов.
А в целом, раз уж
Простой чат уже делал
так сделайте все то же самое, только на Java, сложность тут не в использовании платформы, а именно в продумывании архитектуры.