Buongiorno a tutti,
vi scrivo per chiedervi un aiuto su un programma che sto cercando di sviluppare.
Molto brevemente: ho creato una pagina html con due frame: uno nel quale è contenuta una pagina jsp sempre fatta da me, e l'altro contenente l'indirizzo di un sito internet esterno. Dal frame contenente questo sito io mi loggo, dopodiché, con un tasto posto nell'altro frame, vorrei recuperare una pagina php dal sito esterno (ovviamente accedibile solo dopo il log) e manipolarla, fare cioè parsing per ottenere alcune informazioni presenti nel suo codice e poi eventualmente stamparle a schermo. Pensavo di mettere il codice per recuperare la pagina php all'interno di una servlet la quale verrà richiamata da un tasto posto in un frame (come spiegato sopra). Il problema sta proprio nel fatto che non riesco a recuperare la risorsa. L'unica parte di codice che ho toccato nella servlet è la seguente (il link della pagina l'ho cambiato con uno inventato, ma comunque non ho fini sospetti):
codice:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
// TODO output your page here. You may use following sample code.
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Prova</title>");
out.println("</head>");
out.println("<body>");
URL siteUrl = new URL("http://www.pippo.com/EcranPrincipal.php?l=3");
HttpURLConnection conn = (HttpURLConnection) siteUrl.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = "";
out.println("<h1> sono qui </h1>");
out.println("<h2> ");
while((line=in.readLine())!=null) {
out.print(line);
}
out.println(" </h2>");
out.println("</body>");
out.println("</html>");
in.close();
} finally {
out.close();
}
}
Provando ad eseguire il tutto, l'applicazione arriva alla servlet, la quale però non mi stampa nulla a video. Andando a vedere il codice HTML mi sono accorto che non ci sono tutte le tag che dovrebbero esserci. Infatti l'ultima tag che appare nel codice HTML è [body], quindi il codice non arriva nemmeno a: out.println("<h1> sono qui </h1>");
Mentre la servlet è richiamata con un banale:
presente nel body del form creato da me
Dimenticavo che, pur conoscendo un po' il java, non mi sono mai avvicinato alla programmazione web
Grazie a tutti
Hicarus