Bonjour,
Dans le cadre d'un cours, je dois créer petit serveur web et un browser capable de lire une page HTML situé sur le serveur en question.
J'ai tout d'abord utilisé la méthode setPage dans mon JEditorPane mais le browser ne l'interprète pas.
Voici la méthode dans mon browser qui lit la page :
Code :
- private void showPage(String location)
- {
- contents.setContentType("text/html" ) ;
- try{
- contents.setPage(location) ;
- }
- catch( MalformedURLException mue ){ mue.printStackTrace( ); }
- catch( IOException e ) { e.printStackTrace( ); }
- }
|
* la variable location contient l'url de mon site soit "http://192.168.108.10:8081"
Voici ce qui s'affiche ensuite dans mon JEditorPane :
Code :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Exercice 1 - 06 WebClient</title>
- </head>
- <table border="1" bgcolor="red">
- <tr>
- <td>salut</td>
- <td>ça</td>
- <td><a href="test.html">va</a></td>
- </tr>
- </table>
- <body>
- </body>
- </html>
|
J'ai ensuite modifié ma méthode comme indiqué si dessous afin que mon browser interprète le code HTML :
Code :
- private void showPage(String location)
- {
- contents.setContentType("text/html" ) ;
- try{
- URL url = new URL(location);
- InputStreamReader ipsr = new InputStreamReader(url.openStream());
- BufferedReader br = new BufferedReader(ipsr);
- String line = null;
- StringBuffer buffer = new StringBuffer();
- while((line = br.readLine()) != null) {
- buffer.append(line);
- }
- br.close();
- contents.setText(buffer.toString());
- }
- catch( MalformedURLException mue ){ mue.printStackTrace( ); }
- catch( IOException e ) { e.printStackTrace( ); }
- }
|
Et là, le JEditorPane ne me retourne rien du tout... J'ai beau essayer plusieurs modifications, rien ne fonctionne...
Est-ce que quelqu'un aurait une idée du problème ?
Merci beaucoup ;-)