Problema com XML/servlet

3 respostas
bacoco

O erro é que as minhas telas de jsp não estão encontrando o meu servlet.
Acredito que o erro deve estar no meu xml.

XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>3-10</display-name>
<servlet>
    <display-name>LoginController</display-name>
    <servlet-name>LoginController</servlet-name>
    <servlet-class>controller.LoginController</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginController</servlet-name>
    <url-pattern>/manterLogin</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>/view/menu.jsp</welcome-file>
  </welcome-file-list>
</web-app>

E estou enviando meu form pro meu servlet, só que ele não está encontrando nada!
está dando esse erro:

type Status report

message /6-10/view/manterLogin

description The requested resource (/6-10/view/manterLogin) is not available.

HTML que faz o chamado

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Cadastro Cliente</title>
</head>
<body>
<h1>Cadastro Cliente Físico</h1>
<form name ="pf"  method = "post" action="manterLogin">
<input type="hidden" name="operacao" value="salvarInclusao">
<table border ="2"  cellpadding ="1" cellspacing= "1">
<tr height= "50%">
<td>
<Table border = "1">
<tr>
<td colspan ="3">
Nome:<input type="text" size="65" name ="nome" >
   </td>
   <td colspan ="2">
   	Endereço:<input type="text" name = "endereco" size ="35">
   
   	Numero:<input type ="text" name ="numero" size= "5">
   </td>
</tr>
<tr>
<td colspan ="2">
CPF: <input type ="text" size="20" name ="cpf" maxlength="20">
</td>
<td>
   	Telefone:<input type="text" size ="15" name= "tel" maxlength ="10" >
   	</td>
<td colspan = "2">
Email:<input type="text" name="email" size = "40"> 
</td>	
</tr>
<tr>
<td colspan ="2">
Numero de Habilitação:
<input type ="text" name ="numerohab" size ="25">
</td>
<td>
Validade:
<input type ="text" name ="validade" size ="16">
</td>
<td align ="center">
Tipo de carta de Habilitação:
<select name="carta">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
</td>	
</tr>

<tr>
<td>
Data de Nascimento: <input type="text" size="12" name ="data">
</td>
<td>
 	Sexo:
 	
<select name="sexo">
<option value="Sexo">---</option>
<option value="Masc">Masculino</option>
<option value="Fem">Feminino</option>
</select>
</td>	
<td colspan = "1" align ="center">
UF:  <select name="estadoPF">
<option value="SP">SP</option>
<option value="RJ">RJ</option>
<option value="SC">SC</option>
<option value="PR">PR</option>
<option value="MG">MG</option>
<option value="PE">PE</option>
<option value="MT">MT</option>
<option value="CE">CE</option>
<option value="RS">RS</option>
<option value="ES">ES</option>
<option value="AM">AM</option>
<option value="AC">AC</option>
</select>
</td>
</tr>	
</Table>
</td>
</tr>
</table>
<input type ="reset" name = "Reset"  value ="Apagar">
<input type ="button" name ="Voltar" value ="Voltar" Onclick = "window.location ='coluna2.html';">
<input type ="submit" name = "Submit" value ="Concluir" onclick="executar(this.form,'Concluir')">
</form>
</body>
</html>

Servlet

package controller;
import java.io.IOException;

import javax.servlet.ServletException;
//import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.PFisicaTO;
import model.PJuridicaTO;
import model.UsuarioTO;
import model.VeiculoTO;
import model.DAO.UsuarioDAO;

public class LoginController extends HttpServlet{

private static final long serialVersionUID = -4015599647677928668L;

public LoginController()
{
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
*      response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
login(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
*      response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
login(request, response);
}
private void login(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException 
{
String operacao = request.getParameter("operacao");
if ("logar".equals(operacao)) 
{
String login = request.getParameter("login");
String senha = request.getParameter("senha");	
   
UsuarioTO usu = null;
try {
   usu = new UsuarioDAO().select(login, senha);
} catch (Exception e) {
e.printStackTrace();
}
if(usu != null)
{
//menu principal.
request.getRequestDispatcher("/view/menu.jsp").forward(request,response);
}else
{
request.getRequestDispatcher("/view/menu.jsp").forward(request,response);
}
}
if("salvarInclusao".equals(operacao))
{
try{
PFisicaTO pf= new PFisicaTO();
pf.setNome(request.getParameter("nome"));
pf.setCpf(request.getParameter("cpf"));
pf.setEndereco(request.getParameter("endereco"));
pf.setNumhabilitacao(request.getParameter("numerohab"));
pf.setTelefone(request.getParameter("telefone"));
pf.setData(request.getParameter("data"));
pf.setUf(request.getParameter("estadoPF"));
pf.setTipocarta(request.getParameter("carta"));
pf.incluir(pf);
request.getRequestDispatcher("coluna2.html").forward(
request, response); 
}
catch (Exception e) {
e.printStackTrace();
}
}
if("salvarInclusaoPJ".equals(operacao))
{
try{
PJuridicaTO pj= new PJuridicaTO();
pj.setNome(request.getParameter("nome"));
pj.setCnpj(request.getParameter("cnpj"));
pj.setEndereco(request.getParameter("endereco"));
pj.setTelefone(request.getParameter("telefone"));
pj.setUf(request.getParameter("estadoPJ"));
pj.incluir(pj);
request.getRequestDispatcher("coluna2.html").forward(
request, response); 
}
catch (Exception e) {
e.printStackTrace();
}
if("cadastraVeiculo".equals(operacao))
{
try{
VeiculoTO v = new VeiculoTO();
v.setModelo(request.getParameter("modelo"));
v.setAno(request.getParameter("ano"));
v.setMarca(request.getParameter("marca"));
v.setPlaca(request.getParameter("placa"));
v.setKm0(request.getParameter("kmini"));
v.setPotencia(request.getParameter("potencia"));
}
catch(Exception e) {
e.printStackTrace();
}
}
}
}
}

3 Respostas

rmendes08

O mais importante você não incluiu, que é o Javascript que chama o Servlet de fato.

R

Como o rmendes08 disse acima é necessário o javascript para avaliar qual o erro decorrente da página não estar chamando o servlet acredito que o erro deve estar neste javascript, o código parece certo.

bacoco

não tenho nocoes de Javascript, pode ser feito de outra maneira? pelo menos meu professor fez desta forma, enviando os forms por action do form enviando pro url pattern do servlet. E distinguindo cada ação por um input hidden em cada form. Caso não haja outra forma o Javascript se encaixaria de que forma nesse código? eliminando o xml? com uma conexão direta com o servlet?

Criado 8 de outubro de 2012
Ultima resposta 10 de out. de 2012
Respostas 3
Participantes 3