Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoa,
Estou procurando a uns 2 ou 3 dias mas ainda não consegui achar uma solução.
Eu tenho uma página em JSP e nela eu tenho um link que chama uma servlet:
código do link da JSP:
<form action="ControleVeiculo" method="post">
<a href="http://localhost:8080/Carros/ControleVeiculo?acao=consultarTodos"><font size="3" color="white"><b>LISTAR VEÌCULOS</b></font></a>
Quando eu colocava somente ControleVeiculo?acao=consultarTodos, ele dava erro 404.
Código Servlet:
package Servlet;
import Geral.Veiculo;
import DAO.VeiculoDAO;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.RequestDispatcher;
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="ControleVeiculo", urlPatterns={"/ControleVeiculo"})
public class ControleVeiculo extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String acao = request.getParameter("acao");
if("salvar".equals(acao)) {
salvar(request, response);
} else if ("consultar".equals(acao)) {
consultar(request, response);
} else if ("remover".equals(acao)) {
remover(request, response);
} else if ("consultarTodos".equals(acao)) {
consultarTodos(request, response);
} else if ("alterar".equals(acao)) {
alterar(request, response);
}
else if ("efetuarAlterar".equals(acao)) {
efetuarAlterar(request, response);
}
/**/
} response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
VeiculoDAO vdao = new VeiculoDAO();
List<Veiculo> carros = vdao.consultarTodos();
out.println("<html>");
out.println(" <head>");
out.println(" <title>LF Veículos - Listagem de Veículos</title>");
out.println(" </head>");
out.println(" <body>");
out.println(" <form action='ControleVeiculo' method='post'");
out.println(" <table width=\"80%\" border=\"1\" bgcolor=\"green\" align=\"center\">");
out.println(" <tr>");
out.println(" <td align=\"center\"><font size=\"10\" color=\"white\">LF Veículos</font></td>");
out.println(" </tr>");
out.println(" <tr>");
out.println(" <td align=\"center\" bgcolor=\"black\"><font size=\"4\" color=\"white\"> Veículos Cadastrados </font></td>");
out.println(" </tr>");
out.println(" </table>");
out.println(" <table width='100%' border='1'");
out.println(" <tr>");
out.println(" <th>ID</th>");
out.println(" <th>Modelo</th>");
out.println(" <th>Placa</th>");
out.println(" <th>Kilometragem/KMs</th>");
out.println(" <th>Montadora</th>");
out.println(" <th>Ano</th>");
out.println(" <th colspan='3'>Opções</th>");
out.println(" </tr>");
for(Veiculo v : carros){
out.println(" <tr onMouseover=\"this.bgColor='#EEEEEE'\"onMouseout=\"this.bgColor='#FFFFFF'\">");
out.println(" <td align='center'>" + v.getId() + "</td>");
out.println(" <td align='center'>" + v.getModelo() + "</td>");
out.println(" <td align='center'>" + v.getPlaca() + "</td>");
out.println(" <td align='center'>" + v.getKms() + "</td>");
out.println(" <td align='center'>" + v.getMontadora() + "</td>");
out.println(" <td align='center'>" + v.getAno() + "</td>");
out.println(" <td align='center'>" + v.getPreco()+ "</td>");
out.println(" <td align=\"center\"><input type='submit' name='alterar' value='Alterar' onclick=\"this.form.action='ControleVeiculo?acao=alterar&id="+ v.getId() +"'\"></td>");
out.println(" <td align=\"center\"><input type='submit' name='remover' value='Remover' onclick=\"this.form.action='ControleVeiculo?acao=remover&id="+ v.getId() +"'\"></td>");
out.println(" </tr>");
}
out.println(" <table border='0'>");
out.println(" <tr>");
out.println(" <td align='right'>");
out.println(" <a href='Menu.jsp'>Menu Principal</a>");
out.println(" </td>");
out.println(" <td align='left'>");
out.println(" <a href='CadastroVeiculo.jsp'>Cadastro de Veículo</a>");
out.println(" </td>");
out.println(" </tr>");
out.println(" </table>");
out.println(" </form>");
out.println(" </body>");
out.println(" </html>");
}
catch(Exception ex){
ex.printStackTrace();
}
finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Alguém saberia me dizer porque está dando tela branca,
Eu tentei debugar colocando o primeiro breakpoint no método processRequest,
mas ele nem chega lá e já da tela branca.
Fico no aguardo,
Obrigado,
Lucas.
Tira o codigo de processRequest e coloca em doGet.
Discorpio grato por responder,
porém já fiz isso e dá um erro 404 lá do GlassFish,
L Vasconcellos, como assim coloca no doGET?
Eu tenho vários botões que chamam por no formulário pelo method post, terei de trocar por get?
Poderia ser um pouco mais claro, sou muito novo no Java.
Obrigado.
EDIT,
Caramba,
agora no do get funcionou o HREF, porém ainda não testei o resto,
Você saberia me falar o porque antes não estava funcionando Luis?
Bom dia Kinhas.
Quando você trabalha com Servlets, você não precisa digitar o enderêço da URL toda, isto porque a ServletContext já configura automaticamente este contexto, anexando ao nome da Servlet, bastando tão somente digitar o nome da Servlet junto com a ação, assim:
<a href="ControleVeiculo?acao=consultarTodos"><font size="3" color="white"><b>Listar Veiculos</b></font></a>
Um abraço