J'ai besoin de lire les données de la base de données (MySQL) et de les transférer au client. Puis-je transférer l'objet de type TopickOfVote
au client ou uniquement via String? écrivain et lecteur:Client-serveur. Comment transférer au client, un cours personnalisé?
writer = new PrintWriter(new OutputStreamWriter(clientAPP.getWriter()));
reader = new BufferedReader(new InputStreamReader(clientAPP.getReader()));
Serveur:
private void LoadOfTopics() throws SQLException {
resultSet = statement.executeQuery("SELECT * FROM kursach.TopicOfVote");
StringBuffer id;
StringBuffer topic;
while(resultSet.next()){
TopicOfVote topicOfVote = new TopicOfVote();
topicOfVote.setId(Integer.parseInt(resultSet.getString("idVote")));
topicOfVote.setTopic(resultSet.getString("topic"));
ResultSet ans = statement.executeQuery("SELECT * FROM kursach.Answers_vote WHERE idVote=" + topicOfVote.getId());
ArrayList<Answer> answers = new ArrayList<>();
while (ans.next()){
Answer answer = new Answer();
answer.setId(Integer.parseInt(ans.getString("idAnswer")));
answer.setAnswer(ans.getString("answer"));
answer.setIdOfTopic(Integer.parseInt(ans.getString("idVote")));
answers.add(answer);
}
topicOfVote.setAnswers(answers);
writer.println(topicOfVote); // ???
writer.flush();
ans.close();
}
}
Client:
private void createPanelTopics(){
try {
writer.println(HandlerQueries.GET_VOTES + "?");
writer.flush();
reader.readLine();//?????
} catch (IOException e) {
e.printStackTrace();
}
}
De Étiez obtenez-vous '' writer' et reader'? Si vous devez les utiliser, vous devez utiliser la sérialisation de texte (vous pouvez utiliser JSON par exemple). Si vous avez un 'InputStream' et que vous pouvez faire' TopicOfVote' 'Serializable' alors vous pouvez utiliser' ObjectInputStream' et '' ObjectOutputStream''. – Oleg
Merci! Bizarrement. Mais, avant, cela ne fonctionnait pas avec 'ObjectInputStream' et' ObjectOutputStream' –
'Cela n'a pas fonctionné' n'est pas une description du problème. Si c'est ce que vous voulez demander, demandez-le correctement. – EJP