我正在研究J2EE应用程序。
我正在尝试将我的对象的集合发送到我的Applet'AppletSaisie'。
实际上,我正在使用一个基本的SQL请求:ServletRequete.java:
try
{
//Exécution de la requête
BD=ds.getConnection();
Statement s = BD.createStatement();
ResultSet r = s.executeQuery("select * from hockey");
//Transformation du ResultSet en sResultSet
java.sql.ResultSetMetaData columnNames = r.getMetaData();
SResultSet.SerializedResultSet sResultSet = new SResultSet.SerializedResultSet();
for (int i = 1; i <= columnNames.getColumnCount(); i++) {
sResultSet.addColumn(columnNames.getColumnName(i), i);
}
while (r.next()) {
for (int column = 1; column <= columnNames.getColumnCount(); column++) {
sResultSet.addColumnData(column, r.getObject(column));
}
}
r.close();
s.close();
BD.close();
s = null;
r = null;
return sResultSet;
}
catch (java.sql.SQLException ex) {
System.out.println("Erreur d'exécution de la requête SQL \n"+ex);
return null;
}
我的小程序:AppletSaisie.java:
try
{
// Connexion à la servlet
URL url=new URL("http://localhost:8080/ProjetHockeyWeb/ServletRequete");
URLConnection connexion=url.openConnection();
connexion.setDoOutput(true);
// Récupération du flux de sortie
/* ObjectOutputStream fluxsortie = new
ObjectOutputStream(connexion.getOutputStream());
// Envoi du nom à rechercher
fluxsortie.writeObject(nom);
*/
// Récupération du flux d’entrée
ObjectInputStream fluxentree = new
ObjectInputStream(connexion.getInputStream());
// Récupération du résultat de la requête
SerializedResultSet donnees=(SerializedResultSet) fluxentree.readObject();
// affichage du résultat
donnees.first();
Vector contenu=new Vector();
contenu.clear();
listeResultat.setListData(contenu);
for (int i=0; i<donnees.recordCount();i++)
{
res=donnees.getString("nom")+" "+donnees.getString("prenom");
contenu.addElement(res);
donnees.next();
}
listeResultat.setListData(contenu);
}
catch (Exception sql)
{
System.out.println("erreur "+sql);
}
这实际上有效,但现在我正在使用EJB。我想用这个给我一个我的对象的集合:
GardienManagerRemote gardienManagerRemote = EjbLocator.getLocator().getGardienManager();
Collection<Gardien> = gardienManagerRemote.listerGardien());
如何使用ObjectInputStream
将我的集合传递给我的applet