Boa tarde Srs. esse é meu mapeamento efetuado no arquivo “WEB.XML”, mas ocorre que quando rodo o Tomcat 6 o mesmo carrega normalmente a “<url-pattern> /ola </url-pattern>”, mas ao acessar a “<url-pattern> /adiciona </url-pattern>”, o mesmo informa erro “HTTP STATUS 500”, como voces podem ver abaixo não tem nada de errado na minha configuração no arquivo “Web.xml” pelo menos eu acho que não tem nada de errado…rss.
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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>Agenda</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<servlet-name>OlaOsama</servlet-name>
<servlet-class>br.com.jsp.servlets.Teste.OlaOsama</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OlaOsama</servlet-name>
[b]<url-pattern>/ola</url-pattern>[/b]
</servlet-mapping>
<servlet>
<description></description>
<servlet-name>adicionaContato</servlet-name>
<servlet-class>br.com.jsp.servlets.Teste.AdicionaContatoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>adicionaContato</servlet-name>
[b]<url-pattern>/adiciona</url-pattern>[/b]
</servlet-mapping>
</web-app>
Neste trecho abaixo, segue o formulário que receberá as requisições do usuário para cadastro:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<body>
<!-- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> !-->
<form action = "adicionaContato">
Nome: <input type = "text" name = "nome" /><br/>
E-mail: <input type = "text" name = "email" /><br/>
Endereco: <input type = "text" name = "endereco" /><br/>
Data Nascimento: <input type = "text" name = "dataNascimento" /><br/>
<input type = "submit" value = "Gravar" />
</form>
</body>
</html>
Neste trecho, segue a SERVLET que criei que fará a inclusão desses dados no banco de dados Oracle:
package br.com.jsp.servlets.Teste;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.caelum.dao.metodos.insere.altera.Deleta.Contato;
import br.com.caelum.dao.metodos.insere.altera.Deleta.ContatoDao;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
public class AdicionaContatoServlet extends HttpServlet {
protected void service (HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
PrintWriter out = response.getWriter();
//Pegando os parametros da request
String nome = request.getParameter("nome");
String email = request.getParameter("email");
String endereco = request.getParameter("endereco");
String dataEmTexto = request.getParameter("dataNascimento");
Calendar dataNascimento = null;
//Fazendo a conversão de data
try{
//String dataEmTexto = null;
Date date = new SimpleDateFormat ("dd/mm/yyyy").parse(dataEmTexto);
dataNascimento = Calendar.getInstance();
dataNascimento.setTime(date);
}catch (ParseException e){
out.println ("Erro de conversão de data");
return;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Cria o objeto de contato
Contato contato = new Contato();
contato.setNome(nome);
contato.setEmail(email);
contato.setEndereco(endereco);
contato.setDataNascimento(dataNascimento);
//Adiciona o contato na base.
try {
ContatoDao dao = new ContatoDao();
dao.adiciona(contato);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Imprime o nome do contato que foi adicionado
out.println ("<html>");
out.println ("<body>");
out.println ("Contato" + contato.getNome() + "Adicionado com sucesso");
out.println ("</body>");
out.println ("</html>");
}
}
Ao informar a o endereço: “http://localhost:8080/Agenda/adiciona”, exibe o erro “HTTP STATUS 500”
Eu já revirei esse código inteiro, o arquivo web.xml também, mas não estou entendendo por que ele mapeia e exibe um e o outro não aparece, imagino que eu tenha esquecido algum detalhe, pois pelo que parece ele não “INVOCA” o método para adicionar o contato quando clico em “GRAVAR” no formulário e informa esse erro.
Se alguém puder dar uma força. Valeu pessoal.