Problema Utilizando Servlets doPost();

4 respostas
F

Galera estou com um projetinho pra desenvolver um pequino twitter mais estou com um problema estou tentando fazer com q as mensagens do usuario apareça na pagina principal tentei usar uma iteração dentro do doPost() para exibir mais n estou tendo sucesso, nessa parte do projeto n posso usar JSP alguem pode me dar uma luz de como fazer segue abaixo o metodo doPost() depois q o usuario faz o logon:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String login = request.getParameter(“login”);

String senha = request.getParameter(“pass”);
try {
		Usuario usuario =  XMLUtils.efetuarLogin(login, senha);
		Set<Mensagem> listaMsn = usuario.getMensagens();
		if(usuario != null){
			PrintWriter out = response.getWriter();
			out.println("<html>");
			out.println("<title>TWITTER UNIPÊ -- Pagina Principal</title>");
			out.println("<body>");
			out.println("<h1>TWITTER UNIPÊ</h1>");
			out.println("<hr/>");
			out.println(usuario.getNome());
			out.println("<br/>");
			out.println("<br/>");
			out.println("<textarea>");
			out.println("Em que esta pensando agora ..."); 
			out.println("</textarea>");
			out.println("<hr/>");
			Iterator it = listaMsn.iterator();
			while(it.hasNext()){
				Mensagem msn =(Mensagem) it.next();
				out.println("<hr/>");
				out.println(msn.getConteudo());
				out.println("Hora: "+msn.getHora()+" Data: "+msn.getData());
				out.println("<hr/>");
			}
			out.println("</body>");
			out.println("</html>");
		}
		else{
			response.sendRedirect("login.html");
		}
	} catch (ParserConfigurationException e) {
		e.printStackTrace();
	} catch (SAXException e) {
		e.printStackTrace();
	} catch (URISyntaxException e) {
		e.printStackTrace();
	}
}

4 Respostas

Leo22

No form de login esta usando method=“post” ?
verifique tbm o diretorio onde sua pagina de formulario se encontra,
se estiver WebContent/pages/form.jsp

no action do form te que ficar assim:

...

Acho que so :slight_smile:

Valeu

F

N eh o seguinte o servlet ta rodando normalmente a parte do doPost() da pagina html q ele gera q ta fora da iteração ele exibe normalmente so q a parte dentro da iteração não aparece
essa q eh a duvida como fazer pra utilizar uma iteração dentro de uma html sem unsar JSP, pq eu n posso usar nessa parte do projeto.

Agradeço.

Leo22

Fiz um aqui pra teste e deu certo…

Set<String> listaMsn = new HashSet<String>();
	@Override
	public void init() throws ServletException {
		listaMsn.add("Teste 1");
		listaMsn.add("Teste 2");
		listaMsn.add("Teste 3");
		listaMsn.add("Teste 4");
		
	}
	
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("<title>TWITTER UNIPÊ -- Pagina Principal</title>");
		out.println("<body>");
		out.println("<h1>TWITTER UNIPÊ</h1>");
		out.println("<hr/>");
		out.println("teste");
		out.println("<br/>");
		out.println("<br/>");
		out.println("<textarea>");
		out.println("Em que esta pensando agora ...");
		out.println("</textarea>");
		out.println("<hr/>");
		Iterator<String> it = listaMsn.iterator();
		while(it.hasNext()){
		out.println("<hr/>");
		out.println(it.next());
		out.println("<hr/>");
		}
		out.println("</body>");
		out.println("</html>"); 
		
	}

jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEste</title>
</head>
<body>
	<form action="../Hello" method="post">
		<input type="submit"/>
	</form>
</body>
</html>

debuga e ver se it.hasNext() é null…

F

É realmente qnd debuguei estava null mesmo.

Obrigado ai galera!

Criado 14 de outubro de 2010
Ultima resposta 15 de out. de 2010
Respostas 4
Participantes 2