cjbl
Maio 24, 2013, 5:19am
#1
Bom dia a todos,
Estou estudando servlets e fiz este código-exemplo com o intuito de testar a teoria, porém, no meu caso, depois que o método doPost é executado, o método processRequest não é invocado automaticamente como eu esperava.
Será que alguém, por favor, poderia me dizer onde está o erro?
Agradeço desde já!
index.html
[code]
[/code]
meuServlet.java
package meuPacote;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class meuServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest req,
HttpServletResponse resp)throws ServletException, IOException
{
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
try
{
out.println("<br>");
out.println("No navegador!");
}
finally
{
out.close();
}
}
@Override
protected void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException
{
String parametro = req.getParameter("caixa");
PrintWriter out = resp.getWriter();
out.println("Ola! "+parametro);
}
}
Onde você chama o processaRequest?
Não existe nenhuma chamada à ele.
cjbl
Maio 24, 2013, 9:16am
#3
@drsmachado ,
Agradeço pela resposta!
Esse método não é chamado automaticamente após o método doPost ser executado!? Ou então, como eu chamaria ele, o processaRequest?
Não.
Quem te disse isso?
Você precisa invocá-lo explicitamente em algum lugar.
Se quer executar o mesmo após o doPost, coloque, ao final deste método, a linha que invoca o processaRequest.
cjbl
Maio 24, 2013, 9:27am
#5
@drsmachado ,
Entendi agora, amigo!
Agradeço-lhe imenso pela ajuda!
Um forte abraço!
cjbl
Maio 24, 2013, 9:31am
#6
E assim, o código final é:
index.html
[code]
[/code]
meuServlet.java
[code]package meuPacote;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class meuServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest req,
HttpServletResponse resp)throws ServletException, IOException
{
resp.setContentType(“text/html;charset=UTF-8”);
PrintWriter out = resp.getWriter();
try
{
out.println(" ");
out.println(“No navegador!”);
}
finally
{
out.close();
}
}
@Override
protected void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException
{
String parametro = req.getParameter(“caixa”);
PrintWriter out = resp.getWriter();
out.println("Ola! "+parametro);
processRequest (req,resp); //–> Retificação!
}
}
[/code]