Ola, boa tarde.. preciso muito urgente desenvolver um simples crud com hibernate/JSP..
Mas estou com muita difciculdade em chamar os metodos da classe DAO pro formulario.. por enquanto so quero inserir dados no banco
Meu codigo:
CLIENTEDAOpackage persistencia.com;
import java.util.List;
import modelo.com.Cliente;
import org.hibernate.*;
import org.hibernate.cfg.AnnotationConfiguration;
public class ClienteDAO {
private static SessionFactory factory;
private static AnnotationConfiguration cfg;
private static Session getSession() {
return factory.openSession();
}
static {
cfg = new AnnotationConfiguration();
cfg.configure();
factory = cfg.buildSessionFactory();
}
public static void inserir(Cliente c) {
getSession().beginTransaction();
getSession().save(c);
getSession().getTransaction().commit();
getSession().close();
}
public static void deletar(Cliente c) {
getSession().beginTransaction();
getSession().delete(c);
getSession().getTransaction().commit();
getSession().close();
}
public static void atualizar(Cliente c) {
getSession().beginTransaction();
getSession().update(c);
getSession().getTransaction().commit();
getSession().close();
}
public static List listar(String estac) {
Query query = getSession().createQuery("from "+estac);
return query.list();
}
}
<%@page import="modelo.com.Cliente, persistencia.com.ClienteDAO" %>
<%
try{
String action = request.getParameter("action");
if(action.equalsIgnoreCase("inserir")){
Cliente c = new Cliente();
c.setCpf(request.getParameter("cpf"));
c.setNome(request.getParameter("nome"));
c.setPlaca(request.getParameter("placa"));
c.setModelo(request.getParameter("modelo"));
c.setCor(request.getParameter("cor"));
ClienteDAO cd = new ClienteDAO();
try{
cd.inserir(c);
request.setAttribute("msg", "Cadastrado com sucesso!");
request.getRequestDispatcher("index.jsp").forward(request, response);
}catch(Exception e){
out.print("Erro:"+e.getMessage());
}
}
}catch(NullPointerException nexp){
out.print("Você deveria estar vendo este aviso");
}
<%@page import="modelo.com.Cliente, persistencia.com.ClienteDAO" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Página principal</title>
<body>
<form action="controle.jsp?action=inserir" method="post">
<label for="cpf">Cpf:</label><br />
<input type="text" name="cpf" value="" /><br />
<label for="nome">Nome:</label><br />
<input type="text" name="nome" value="" /><br />
<label for="placa">Placa:</label><br />
<input type="text" name="placa" value="" /><br />
<label for="modelo">Modelo:</label><br />
<input type="text" name="modelo" value="" /><br />
<label for="cor">Cor:</label><br />
<input type="text" name="cor" value="" /><br />
<input type="submit" value="Cadastrar Cliente" />
</form><br />
<font color="#FF0000">
${msg}
</font>
<br />
<br />
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/est2</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">dan.maia</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="hibernate.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="modelo.com.Cliente" table="estac">
<id name="cpf" column="cpf" type="string">
<generator class="assigned"/>
</id>
<property name="nome" type="string"/>
<property name="placa" column="fone" type="string"/>
<property name="modelo" column="cel" type="string"/>
<property name="cor" type="string"/>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/est2</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">dan.maia</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="../../Cliente.hbm.xml"/>
<mapping resource="Cliente.hbm.xml"/>
</session-factory>
</hibernate-configuration>
O programa nao da erro Quando abro a pag principal aparec tudo blz.. mas qndo vai gravar no banco aparece o seguinte erro:
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class persistencia.com.ClienteDAO
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717