Newsgroup: it.comp.java
Titolo: Servlets....DoPost

Salve,
Ho il seguente problema:
Ho sviluppato un cliente che invia ad servlet un oggetto nel seguente modo:
private void Send(){
long time = System.currentTimeMillis();
GeneraDisElemento();
Errori.append("Sono in SEND\n");
try{
URL connessioneURL = new URL(webserver);
Errori.append("URL: " + webserver + "\n");
URLConnection servletConnection = connessioneURL.openConnection();
//Utilizzo input-output del servlet
servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
servletConnection.setUseCaches(false);
servletConnection.setDefaultUseCaches(false);
//Specifico il tipo di dato che verr? passato al servlet
servletConnection.setRequestProperty("Content-Type",
"application/octet-stream");
//Serializza la connessione
java.io.ObjectOutputStream outputToServlet = new
java.io.ObjectOutputStream(servletConnection.getOutputStream());
//java.io.ObjectInputStream inputToServlet = new
java.io.ObjectInputStream(servletConnection.getInputStream());
//Serializza l'oggetto e lo invia
outputToServlet.writeObject(diselemento);
outputToServlet.flush();
outputToServlet.close();
}catch(java.lang.Exception e){Errori.append("Errore: " + e + "\n");}
Tempo.setText("Tempo in millisec: " +(System.currentTimeMillis()-time));
}
.....Questo client chiama un servlet presente sul server e dovrebbe
teoricamente richimare la funzione doPost ... ma non fa assolutamente
niente....!!!Ecco il source del Servlet:
public class ServletServleto extends HttpServlet {
//Variabili globali
PrintStream dest=null;
FileOutputStream log=null;
File f=null;
/** Initializes the servlet.
* Puo' essere utilizzato per eseguire la connessione alla banca dati (viene
chimato
* una sola volta alla creazione dell'applet
*/
public void init(ServletConfig config) throws ServletException {
super.init(config);
//Apertura del file per il debug
try{
f = new File("/website/servlets/ServletServleto.log");
log = new FileOutputStream(f);
dest = new PrintStream(log);
}catch(java.lang.Exception e){}
//Chiamata alla funzione di connessione alla banca dati
dest.println("Eccomi dsadasdadadsdadadasdsadasdsadasdasddasdasdasdasd");
}
/** Distrugge il servlet e chiude le connessioni alla banca dati
*/
public void destroy() {
try{
dest.close();
log.close();
}catch(java.lang.Exception e){}
}
/** Handles the HTTP <code>GET</code> method.
* @param request servlet richesta
* @param response servlet risposta
* Questo metodo viene chiamato automaticamente quando un'applet si
* connette al servlet ed esegue una richesta
*/
protected void doPost(HttpServletRequest richesta, HttpServletResponse
risposta)
throws ServletException, java.io.IOException {
dest.println("Mi hai Chiamato");
}
protected void doGet(HttpServletRequest richesta, HttpServletResponse
risposta)
throws ServletException, java.io.IOException {
dest.println("SEI IN DOGET");
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
}
......se qualcuno di voi a qualche idea mi farebbe un grosso favore....
Grazio ....MARCO!
--
--
Ing. Marco Mueller
mmue...@3denter.com
3DEnter SA - Lugano
(Sun SDC Partner)
Tel. 
+4191 9724932


Sorry, non ho il tempo di leggere con attenzione il codice e quindi non riesco a darti una
risposta precisa. Comunque, se ti interessa, ho una soluzione che potrebbe interessarti:
dai un'occhiata alla pagina sul mio sito 
http://members.xoom.it/bbruno/gmi.html
Se ti interessa, fammi sapere che ti passo volentieri il pacchetto.
Ciao,
    Bruno.
|
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://members.xoom.it/bbruno
|