SEVERE: Servlet.service() for servlet AdicionaContato threw exception
java.lang.ExceptionInInitializerError
at br.com.AluguelDeCarros.Servlet.HibernateUtil.buildSessionFactory(HibernateUtil.java:20)
at br.com.AluguelDeCarros.Servlet.HibernateUtil.<clinit>(HibernateUtil.java:8)
at br.com.AluguelDeCarros.dao.ContatoDAO.Adiciona(ContatoDAO.java:20)
at br.com.AluguelDeCarros.Servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
<body>
<form action="adicionaContato">
<p>Cadastro</p>
Nome: <input type="text" name="nome" /> <br />
E-mail: <input type="text" name="email" /> <br />
Telefone: <input type="text" name="telefone" /> <br />
Endereço: <input type="text" name="endereco" /> <br />
Cartão de Crédito: <input type="text" name="cartao" /> <br /><br /><br /><br />
<p>Carro</p>
Modelo: <input type="text" name="modelo" /> <br />
Marca: <input type="text" name="marca" /> <br />
Placa: <input type="text" name="placa" /> <br />
Quilometragem: <input type="text" name="quilometragem" /> <br />
Data do Aluguel: <input type="text" name="dataInicio" /> <br />
Data de Entrega: <input type="text" name="dataFim" /> <br /><br><br>
<input type="submit" value="Gravar" />
</form>
</body>
package br.com.AluguelDeCarros.dao;
import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;
import br.com.AluguelDeCarros.Contato;
import br.com.AluguelDeCarros.Servlet.HibernateUtil;
public class ContatoDAO {
public void Adiciona(Contato contato) {
Session sessao = null;
Transaction transacao = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
sessao.save(contato);
transacao.commit();
} catch (HibernateException e) {
System.out.println("Não foi possivel salvar o contato. Erro: " + e);
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar operaçao de insersão. Mensagem: "
+ e);
}
}
}
}
O Servlet...
package br.com.AluguelDeCarros.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.AluguelDeCarros.Contato;
import br.com.AluguelDeCarros.dao.ContatoDAO;
public class AdicionaContatoServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
// pegando parametros do request e já montando o contato
Contato contato = new Contato();
contato.setNome(request.getParameter("nome"));
contato.setEmail(request.getParameter("email"));
contato.setTelefone(request.getParameter("telefone"));
contato.setEndereco(request.getParameter("endereco"));
contato.setCartao(request.getParameter("cartao"));
contato.setModelo(request.getParameter("modelo"));
contato.setMarca(request.getParameter("marca"));
contato.setPlaca(request.getParameter("placa"));
contato.setQuilometragem(request.getParameter("quilometragem"));
contato.setDataInicio(request.getParameter("dataInicio"));
contato.setDataFim(request.getParameter("dataFim"));
// Salvar Contatos
ContatoDAO dao = new ContatoDAO();
dao.Adiciona(contato);
// testando
System.out.println("<html><body>");
System.out.println("Contato: " + contato.getNome()
+ "adicionado com sucesso");
System.out.println("</body> </html>");
}
}
E por fim o web.xml
<servlet>
<servlet-name>AdicionaContato</servlet-name>
<servlet-class>
br.com.AluguelDeCarros.Servlet.AdicionaContatoServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AdicionaContato</servlet-name>
<url-pattern>/adicionaContato</url-pattern>
</servlet-mapping>