Firefox não mostra saida doGet e IE mostra a saida perfeita

Oi pessoal estava editando um servlet de saída mas no firefox sai em codigo e não inderizar na browser, em compesação o IE 7.0 mostra a tabela com os nomes normalmente. Vocês já deparou com esta cituação ou melhor e Bug do Firefox 2.0.0.11???

<html> 		<head></head> 			<table border='1' >              <tr><th>Nome</th><th>Codigo</th></tr><tr><td>Eu teste</td></tr><tr><td>Teste</td></tr><tr><td>Tu Teste</td></tr><tr><td>Teste</td></tr><tr><td>Você Teste</td></tr></table></body>  </html>

Estranho, o firefox não é tão fresco para isso. Testei esse html e funcionou aqui, mesmo faltando abrir a tag body. Teste isso e comprove.

Até!

muda o content type para text/html:

response.setContentType("text/html");

não entedir onde devo usar ???

response.setContentType("text/html");  

o codigo e esse:

@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		Fachada sistema = Fachada.getInstancia();
		Collection<Cliente> lista = null;
		try {
			lista = sistema.listarCliente();
			Iterator<Cliente> i = lista.iterator();
			PrintWriter saida = resp.getWriter();
			
			saida.write("<html> " +
					"		<head></head> " +
					"			<table border='1' >" +
					"              <tr><th>Nome</th><th>Codigo</th></tr>");
			
			while(i.hasNext()) {
				Cliente temp = i.next();
				saida.write("<tr><td>" + temp.getNome() + "</td></tr>");
			}		
			saida.write("</table></body>" +
			"  </html>" );
		} catch (ConectarException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

aqui…

[code]

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

     resp.setContentType("text/html");  

     Fachada sistema = Fachada.getInstancia();  
     Collection&lt;Cliente&gt; lista = null;  
     try {  
         lista = sistema.listarCliente();  
         Iterator&lt;Cliente&gt; i = lista.iterator();  
         PrintWriter saida = resp.getWriter();  
           
         saida.write("&lt;html&gt; " +  
                 "       &lt;head&gt;&lt;/head&gt; " +  
                 "           &lt;table border='1' &gt;" +  
                 "              &lt;tr&gt;&lt;th&gt;Nome&lt;/th&gt;&lt;th&gt;Codigo&lt;/th&gt;&lt;/tr&gt;");  
           
         while(i.hasNext()) {  
             Cliente temp = i.next();  
             saida.write("&lt;tr&gt;&lt;td&gt;" + temp.getNome() + "&lt;/td&gt;&lt;/tr&gt;");  
         }         
         saida.write("&lt;/table&gt;&lt;/body&gt;" +  
         "  &lt;/html&gt;" );  
     } catch (ConectarException e) {  
         // TODO Auto-generated catch block  
         e.printStackTrace();  
     }  [/code]

Coloque um flush no final também após de saida.write("</table></body>" + " </html>" );

saida.write("&lt;/table&gt;&lt;/body&gt;" +    
            "  &lt;/html&gt;" );

saida.flush();

[quote=leonardom]Coloque um flush no final também após de saida.write("</table></body>" + " </html>" );

saida.write("&lt;/table&gt;&lt;/body&gt;" +    
            "  &lt;/html&gt;" );

saida.flush();

[/quote]

Use saida.close() ao invés do flush(). O close já vá fazer o flush automaticamente.

Até mais!

Boa Tarde…

       Agradeço muito a ajuda de vocês. Mas não entender porque usar :
    
              [u] [b]saida.flush();[/b][/u]

               [u][b]saida.close();[/u][/b][size=18] 

      Isto tem haver com segurança com servilet ou é só pra fechar a saida em html????

      Mas deu certo a dica que  vocês passaram....

Não seria mais fácil passar essa lista no request e montar o html no seu devido lugar o JSP?

Pedrosa, como é que faz isto não sei relacionar um resultado de servlet com JSP???

se você poder posta como faz isto agradeço, pois a unica forma de mostra um resultado que sei é este…

Simples passe sua lista no request e monte no JSP:

public void service(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
    RequestDispatcher rd;
    request.setAttribute("suaLista",sistema.listarCliente());
    rd = getServletContext().getRequestDispatcher("/SuaJSP.jsp");
    rd.forward(request, response);

}

No JSP você pode usar o JSTL com a tag foreach para montar essa lista:

<c:forEach var="lista" items="${suaLista}">
    ${lista.codigo}">
    ${lista.nome}
</c:forEach>

Fica mais limpo, e se não quiser fazer esse foreach olha a displaytag ela monta os resultados de forma mais profissional:

http://displaytag.homeip.net/displaytag-examples-1.1/example-pse.jsp

Onde poderia ter um JSP assim:

<display:table requestURI="SuaServlet?acao=paginar" name="${suaLista}" uid="suaLista" class="simple" pagesize="10" export="false">
    <display:column property="codigo" title="Codigo"/>
    <display:column property="nome" title="Nome"/>
</display:table>  

Pedrosa… Foi muito boa sua explicação e logico que desta forma e melhor programa o codigo fico muito mas limpo. apesar que no segundo exemplo fiquei em duvida so bre a parte do codigo:

[quote]requestURI=“SuaServlet?acao=paginar”[code]

tem que ser assim ou paginar e jsp??? que vai receber.

mesmo assim agradeço pela forma…