Olá a todos estou querendo inserir os dados colocando no SERVLET o INSERT que eu qro…
abaixo estar o codigo:
ESSE é O SERVLET
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package SysAc.web;
import java.io.IOException;
import java.net.*;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;
import SysAc.dao.*;
import gamasouza.*;
import java.util.Date;
import gamasouza.*;
/**
*
* @author Didi
*/
public class ServletSys extends javax.servlet.http.HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd=request.getParameter("cmd");
if(cmd==null){
cmd ="principal";
}
InterfaceSysAc dao;
Aluno aluno = new Aluno () ;
String codigo = request.getParameter("codigo");
String nome = request.getParameter("nome");
String rg = request.getParameter("rg");
String cpf = request.getParameter("cpf");
String nascimento = request.getParameter("nascimento");
if(cmd==null || !cmd.equalsIgnoreCase("principal")){
aluno.setCodigo(Integer.parseInt(codigo));
aluno.setPessoa(nome);
aluno.setRG(Integer.parseInt(rg));
aluno.setCPF(Integer.parseInt(cpf));
}
try
{
dao = new SysAcDAO();
RequestDispatcher rd = null;
/*Condição pra LISTAR as Informações*/
if (cmd.equalsIgnoreCase("listar")){
List pessoaList = dao.todosLivros();
request.setAttribute("pessoaList", pessoaList);
rd = request.getRequestDispatcher("/jCadAlunoPesq.jsp");
}
/*Condição para salvar as Informações*/
else if (cmd.equalsIgnoreCase("addliv")){
SysAcDAO StrSql = new SysAcDAO();
StrSql.setStrSQl("INSERT INTO aluno (codigo, nome, cpf, rg) VALUES ("+
"?, ?, ?, ?)");
dao.salvar(aluno);
rd = request.getRequestDispatcher("/sucesso.html");
}
rd.forward(request, response);
}catch(Exception e)
{
e.printStackTrace();
throw new ServletException(e);
}
}
}
ESSE é O MEU CLASSE DAO:
package SysAc.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import gamasouza.*;
import java.util.List;
import SysAc.util.ConnectSysAcFactory;
public class SysAcDAO implements InterfaceSysAc {
private Connection conn;
private String StrSql;
public SysAcDAO( ) throws SysAcDAOException{
try
{
this.conn = ConnectSysAcFactory.getConnection( );
}
catch( Exception e )
{
throw new SysAcDAOException( "Erro: " +
":\n" + e.getMessage( ) );
}
}
public void salvar(Pessoa pessoa) throws SysAcDAOException{
PreparedStatement ps = null;
Connection conn = null;
if (pessoa == null)
throw new
SysAcDAOException("O valor passado não pode ser nulo");
try {
Aluno aluno = new Aluno();
/*String SQL = "INSERT INTO aluno (codigo, Pessoa_codigo, cpf, "+
"rg) " +
"values (?, ?, ?, ?)"; */
String SQL = getStrSQl();
conn = this.conn;
ps = conn.prepareStatement(SQL);
ps.setInt(1, aluno.getCodigo());
ps.setInt(2, aluno.getCodigo());
ps.setInt(3,aluno.getCPF());
ps.setInt(4, aluno.getRG());
ps.executeUpdate( );
} catch (SQLException sqle) {
throw new
SysAcDAOException("Erro ao inserir dados "+ sqle);
} finally {
ConnectSysAcFactory.closeConnection(conn, ps);
}
}
public void excluir(Pessoa livro) throws SysAcDAOException {
PreparedStatement ps = null;
Connection conn = null;
if (livro == null)
throw new
SysAcDAOException("O valor passado não pode ser nulo");
try {
conn = this.conn;
ps = conn.prepareStatement("delete from livros where isbn=?");
ps.setInt(1, livro.getCodigo( ));
ps.executeUpdate( );
} catch (SQLException sqle) {
throw new
SysAcDAOException("Erro ao excluir dados:" + sqle);
} finally {
ConnectSysAcFactory.closeConnection(conn, ps);
}
}
public void atualizar(Pessoa pessoa) throws SysAcDAOException
{
PreparedStatement ps = null;
Connection conn = null;
if (pessoa == null)
throw new
SysAcDAOException("O valor passado não pode ser nulo");
try {
/*String SQL = "UPDATE livros SET titulo=?, " +
" edicao_num=?, " +
"ano_publicacao=?, descricao=? " +
"where isbn=?"; */
String SQL = getStrSQl();
conn = this.conn;
ps = conn.prepareStatement(SQL);
ps.setInt(1, pessoa.getCodigo());
ps.setString(2, pessoa.getPessoa());
ps.setDate(3,(Date) pessoa.getNasc());
ps.executeUpdate( );
} catch (SQLException sqle) {
throw new
SysAcDAOException("Erro ao atualizar dados: "+ sqle);
} finally {
ConnectSysAcFactory.closeConnection(conn, ps);
}
}
public List todosLivros( ) throws SysAcDAOException{
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
try {
conn = this.conn;
/*ps = conn.prepareStatement("select * from livros");*/
ps = conn.prepareStatement(getStrSQl());
rs = ps.executeQuery();
List<Pessoa> list = new ArrayList<Pessoa>();
while( rs.next() )
{
int codigo = rs.getInt( 1 );
String pessoa = rs.getString( 2 );
Date nasc = rs.getDate( 3 );
list.add( new Pessoa(codigo, pessoa, nasc ) );
}
return list;
} catch (SQLException sqle) {
throw new SysAcDAOException(sqle);
} finally {
ConnectSysAcFactory.closeConnection(conn, ps, rs);
}
}
public Pessoa procurarLivro(int codigo)
throws SysAcDAOException
{
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
try {
conn = this.conn;
ps = conn.prepareStatement("select * from livros where isbn=?");
ps.setInt(1, codigo);
rs = ps.executeQuery( );
if( !rs.next( ) )
{
throw new
SysAcDAOException( "Não foi encontrado nenhum " +
"registro com o ISBN: " + codigo );
}
// int codigo = rs.getInt( 1 );
int cod = rs.getInt( 1 );
String pessoa = rs.getString( 2 );
Date nasc = rs.getDate( 3 );
return new Pessoa(cod, pessoa, nasc) ;
} catch (SQLException sqle) {
throw new SysAcDAOException(sqle);
} finally {
ConnectSysAcFactory.closeConnection(conn, ps, rs);
}
}
public void setStrSQl(String strSql){
this.StrSql = strSql;
}
public String getStrSQl(){
return StrSql;
}
}
Só que ele nao deixa eu inserir os dados, diz que a VARIAVEL STRING que estar no DAO é nulo, sendo que passo o INSERT pra ele antes de inserir os dados…
Alguem pode ajudar?
