|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
[Java] Problema con Servlet
Buongiorno.
![]() Ho un problemino con una servlet che dovrebbe generare una pagina rss. Per generarla devo accedere ad un database mySql e leggere dei dati. Il problema è: su Internet Explorer 6 non vuole saperne di andare. Se gli do http://localhost:8080/feed (comando a TomCat per chiamare la servlet), semplicemente non fa niente, ma mi dice nella Barra di Stato: Completato. Se do lo stesso URL a Firefox, invece, riesco a vedere il risultato (e cioè l'albero dei tag arricchito con i dati) Da cosa potrebbe dipendere? Se per rispondermi avete bisogno del codice della servlet lo posto dopo ![]() Grazie.
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Molto probabilmente è solo un fatto di visualizzazione del browser, vedi se tutti i tag sono ok. Manda il contenuto del file.
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
import java.io.*;
import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.*; public class feedRSS extends HttpServlet { private Connection conn; //parametri del database private String myPass = "XXX"; private String myUser = "XXX"; private String myHost = "XXX"; private String myPort = "XXX"; private String myName = "XXX"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String channelTitle = "BORGCalendar - Public Calendar"; String channelLink = ""; String channelDescription = "My Public Calendar ..."; PrintWriter out = response.getWriter(); out.println("<?xml version=\"1.0\"?>"); out.println("<rss version=\"2.0\">"); out.println("<channel>"); out.println("<title>" + channelTitle + "</title>"); out.println("<link>" + channelLink + "</link>"); out.println("<description>" + channelDescription + "</description>"); try { ResultSet rs = doQuery("SELECT * FROM appointments WHERE (appt_date = CURDATE()) OR (todo = 1);"); ResultSetMetaData rsm = rs.getMetaData(); int colNumber = rsm.getColumnCount(); while (rs.next()){ out.println("<item>"); String t = rs.getString("text"); String subj = ""; String det = ""; if(t == null) t = ""; int nli = t.indexOf('\n'); if(nli != -1) { subj = t.substring(0, nli); det = t.substring(nli + 1); } else subj = t; for (int i=1; i<= colNumber; i++){ switch (i){ case 1: out.println("<pubDate>" + rs.getDate("appt_date") + "</pubDate>"); break; case 5: out.println("<title>" + subj + "</title>"); out.println("<description>" + det + "</description>"); break; case 16: out.println("<category>" + rs.getString("category") + "</category>"); break; case 13: if (rs.getInt("todo") == 1){ out.println("<todo>si</todo>"); } else out.println("<todo>no</todo>"); } } out.println("</item>"); } } catch(Exception e) { e.getMessage(); } out.println("</channel>"); out.println("</rss>"); out.close(); } private ResultSet doQuery(String sqlString) throws Exception { Connection conn = connectDB(); Statement stmt = conn.createStatement(); stmt.execute(sqlString); ResultSet rs = stmt.getResultSet(); return rs; } private Connection connectDB() throws Exception { Class.forName("com.mysql.jdbc.Driver"); String myConn = "jdbc:mysql://" + myHost + ":" + myPort + "/" + myName + "?user=" + myUser + "&password=" + myPass + "&autoReconnect=true"; conn = DriverManager.getConnection(myConn); return conn; } }
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Intendevo il risultato non il codice della servlet...
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
ops...scusa
![]() rispetto alle specifiche ho aggiunto il tag <todo>, ma anche senza di quello il problema era uguale.. risultato: <?xml version="1.0"?> <rss version="2.0"> <channel> <title>BORGCalendar - Public Calendar</title> <link></link> <description>My Public Calendar ...</description> <item> <pubDate>2007-08-07</pubDate> <title>Questo campo si chiama Subject</title> <description>Questo sembra una Descrizione</description> <todo>si</todo> <category>null</category> </item> <item> <pubDate>2007-08-10</pubDate> <title>Questo è il secondo appuntametno</title> <description></description> <todo>si</todo> <category>Categoria 2</category> </item> <item> <pubDate>2007-09-11</pubDate> <title>soggetto dell'11 settembre</title> <description>descrizione dell'11 settembre</description> <todo>no</todo> <category>null</category> </item> <item> <pubDate>2007-09-12</pubDate> <title>testo del 12 sett</title> <description>descrizione del 12 sett</description> <todo>si</todo> <category>null</category> </item> </channel> </rss>
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
A me lo visualizza anche IE..potresti usare questo http://www.validome.org/rss-atom/validate
per validare il tuo rss. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
ie versione 6?
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Si
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
ho fatto una piccola modifica e ora almeno ie inizia a leggerlo... ma si ferma qua
Carattere non valido nel contenuto di testo. Errore durante l'elaborazione della risorsa "http://localhost:8080/feed". Rig... <title>Questo credo sia la "e accentata" che gli da problemi.. anche quel validatore mi da errore Line Column: 15 17 Error: Invalid byte 2 of 3-byte UTF-8-sequence. to Sourceline 17 Error Position: <title>Questo
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
ho tolto dal database quella e accentata e ora anche ie me l'ha letto...
ma come faccio se voglio utilizzarle? come posso impostargli un charset adatto?
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
fatto
![]() grazie mille ![]()
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Come hai risolto?
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jan 2007
Città: Trani
Messaggi: 1772
|
nel codice della classe, all'inizio, ho messo questo
response.setContentType("text/xml"); out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"); che prima mancava..
__________________
Compravendite:serpone, canta, edema, ErodeGrigo, Baccus, Carbv, Siemens2007, Dragon2002, peppequo, xdaf, Macerf900 + tante altre.... |
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Sep 2007
Messaggi: 39
|
Perfetto!
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:22.