Servlet com dados form

4 respostas
M

Olá, tenho que fazer uma atividade na qual escrevo o neme e escolho algumas frutas e após enviá-las, tem que aparecer o nome e as frutas escolhidas. Mas ao enviá-las, a página que aparece é a de erro. Poderia me dizer onde está o erro? Aviso que sou iniciante, por isso tenho muitas dúvidas.

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UT; F-8">
<title>Meu Formulário</title>
</head>
<body>
<FORM ACTION=escolher METHOD=POST>
<I>Escreva seu nome</I>
<INPUT TYPE=text NAME=nome>
<p>
Quais são as suas frutas preferidas?<br>
<INPUT TYPE=checkbox name=fruta value=morango>Morango <br>
<INPUT TYPE=checkbox name=fruta value=banana>Banana <br>
<INPUT TYPE=checkbox name=fruta value=uva>Uva<br>
<INPUT TYPE=checkbox name=fruta value=abacaxi>Abacaxi<br>
<INPUT TYPE=submit VALUE=Enviar>
</FORM>
</body>
</html>


4 Respostas

M

Ao clicar no enviar aparece essa página:


M

E ao executar o servlet aparece essa página:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name = "FormularioServlet", urlPatterns = {"/FormularioServlet"})
public class FormularioServlet extends HttpServlet {

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

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

resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
String nome;
String frutas[];

nome = req.getParameter("nome");
frutas = req.getParameterValues("fruta");

// imprime estes dados no cliente
out.println("<HTML><HEAD><TITLE>Primeiro Servlet");
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>Servlet com dados do form</H1>");
out.println("<BR><b>Bom dia "+ nome + "!</p> <br>" );
if (frutas == null)
out.println("<BR>Você não gosta de frutas ! ");
else {
String resposta= "Voce gosta das seguintes frutas :<BR>" +
"<UL>";
for (int i =0; i < frutas.length ; i++)
resposta += "<LI>" + frutas[i] ;

resposta +="</UL>";
out.println(resposta);
}

out.println("<BR></BODY></HTML>");
out.close();
}
}


wbdsjunior

na propriedade action do FORM você precisa colocar o nome do servlet.

tente:

&lt;FORM ACTION=FormularioServlet METHOD=POST&gt;
M

Valeu wbdsjunior!!

Era esse mesmo o erro.

Att,Márcio.

Criado 4 de outubro de 2011
Ultima resposta 5 de out. de 2011
Respostas 4
Participantes 2