To fazendo um trabalho para a faculdade mas travei em uma parte que não consigo resolver…
To tentando pegar os dados de uma pagina HTML comum com form mas quando mando salvar ele da um erro que não sei o que é…
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)
O body do HTML…
[code]<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>[/code]
Camada DAO
[code]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);
}
}
}
}[/code]
O Servlet…
[code]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>");
}
}[/code]
E por fim o web.xml
[code]<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>[/code]