salve ragazzi, ho delle pagine jsp su un server (che comunicano con un database) e dei frame java su un client. Vorrei sapere come è possibile inviare(e ricevere) dati dal frame alla pagina jsp.
Grazie
salve ragazzi, ho delle pagine jsp su un server (che comunicano con un database) e dei frame java su un client. Vorrei sapere come è possibile inviare(e ricevere) dati dal frame alla pagina jsp.
Grazie
Intendi dire che hai un'applicazione con GUI che gira sul client da cui vorresti inviare dati al JSP container (sia esso tomcat o che) ?
Se è così, tramite i protocolli get/post, in funzione di quello che devi mandare - ossia dovrai avere una pagina JSP che sia in grado di processare dati come se provenissero da un form inviatogli appunto tramite get/post.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Si è proprio questo che dovrei fare inviare dati memorizzati sul client (in delle text field) ad una pagina jsp, che interrogga a sua volta il database e ottenere la risposta dalla jsp.Potresti darmi più informazioni su questo protocollo ?
Grazie Andrea
Puoi usufruire delle classi URL e URLConnection. Qualcosa del genere dovrebbe fare al caso tuo. Il codice suppongo sia abbastanza chiaro da capire:
In questo caso è stata eseguita una richesta di tipo POST, ed il codice è valido nelle ipotesi in cui la pagina jsp sia accessibile senza necessità di username e password. In caso contrario basta aggiungere un Authenticator. Se ti serve questa seconda eventualità, fammi sapere.Codice PHP:try {
//Costruisco la stringa contenente i parametri da passare dalla pagina
String data = URLEncoder.encode("parametro1", "UTF-8") + "=" + URLEncoder.encode("valore1", "UTF-8");
data += "&" + URLEncoder.encode("parametro2", "UTF-8") + "=" + URLEncoder.encode("valore", "UTF-8");
//invio la richiesta
URL url = new URL("http://hostname:porta/pagina.jsp");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
//Leggo la risposta
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
//faccio ciò che devo fare sulla riga letta
}
wr.close();
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
Al mio segnale... scatenate l'inferno!
Se ho capito bene questo codice mi permette di mandare i paramatri coni rispettivi valori alla jsp e leggere la risposta della jsp. Per la comunicazione dalla jsp al client il funzionamento è lo stesso?
Grazie di tutto davvero utile il codice di prima
Ma la comunicazione tra la pagina jsp e il client è la risposta, ovvero la pagina stessa che viene generata (e restituita). Dal client poi dovrai analizzare la pagina ed estrapolare le informazioni che ti servono.
Al mio segnale... scatenate l'inferno!
Ho messo in pratica il tuo esempio,con qualche modifica per adattarlo al mio caso.E' stato davvero utile. Per quanto riguarda l'Authenticator come bisognerebbe adoperarlo?
Grazie ancora
Per l'autenticazione basta richiamare la seguente riga prima dell'esecuzione del codice postato in precedenza:
e definire una classe MyAuthenticator più o meno in questo modo:Codice PHP:Authenticator.setDefault(new MyAuthenticator());
Codice PHP:public class MyAuthenticator extends Authenticator {
//Metodo richiamato automaticamente quando un viene richeisto un URL protetto
protected PasswordAuthentication getPasswordAuthentication() {
String username = "myusername";
String password = "mypassword";
return new PasswordAuthentication(username, password.toCharArray());
}
}
Al mio segnale... scatenate l'inferno!