Boa tarde Jeffrie,
Vamos para um exemplo:
Aqui eu tenho um projeto de compromissos, ou seja, tenha uma tabela onde o sistema irá armazenar os meus compromissos, no estilo de uma agenda.
Veja a ConnectionFactory (Classe que me fornecerá uma conexão com o banco)
package br.com.tiago.compromissos.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public Connection getConnection(){
String driver="jdbc:mysql://localhost/agenda";
try {
return DriverManager.getConnection(driver, "root", "senha");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
Agora veja a classe CompromissosDAO (Classe especialista em manipular dados no banco - como inserir, listar, deletar, retornar)
Nessa classe de exemplo temos apenas os métodos para adicionar e listar
package br.com.tiago.compromissos.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 java.util.Calendar;
import java.util.List;
import br.com.tiago.compromissos.jdbc.ConnectionFactory;
import br.com.tiago.compromissos.modelo.Compromisso;
public class CompromissosDAO {
Connection con;
public void adicionaCompromisso(Compromisso c){
con=new ConnectionFactory().getConnection();
String sql="INSERT INTO compromissos(data,local,descricao,consideracoesFinais,finalizado)" +
"VALUES(?,?,?,?,?)";
try {
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setDate(1, new Date(c.getData().getTimeInMillis()));
stmt.setString(2, c.getLocal());
stmt.setString(3, c.getDescricao());
stmt.setString(4, c.getConsideracoesFinais());
stmt.setBoolean(5,c.isFinalizado());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public List<Compromisso> getListaCompromissos(){
con=new ConnectionFactory().getConnection();
List<Compromisso> lista=new ArrayList<Compromisso>();
String sql="SELECT * FROM compromissos";
try {
PreparedStatement pstm = con.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while(rs.next()){
//Trabalhando a data
Date dataSql=rs.getDate("data");
Calendar data=Calendar.getInstance();
data.setTimeInMillis(dataSql.getTime());
Compromisso c=new Compromisso ();
c.setId(rs.getInt("id"));
c.setData(data);
c.setLocal(rs.getString("local"));
c.setDescricao(rs.getString("descricao"));
c.setConsideracoesFinais(rs.getString("consideracoesFinais"));
c.setFinalizado(rs.getBoolean("finalizado"));
lista.add(c);
}
rs.close();
pstm.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return lista;
}
}
Perceba que os dados que estão sendo acrescentados, não vieram para a classe como Strings, e sim como um objeto de um tipo claro, um objeto do tipo Compromisso.
Isso facilita muito o trabalho, pois o teu JSP deverá chamar uma Servlet que pegará os dados do teu formulário através da requisição, criará um objeto do tipo Compromisso e preencherá seus atributos, para aí sim enviar o objeto Compromisso para o CompromissoDAO (injeção de dependências).
Basicamente a sua servlet deverá fazer:
Compromisso c=new Compromisso();
c.setNome=req.getParamenter("nome");
Com o objeto Compromisso pronto, passamos para o CompromissoDAO
CompromissoDao dao=new CompromissoDao();
dao.adicionaCompromisso(c);
Espero que tenha te ajudado, se precisar de mais alguma ajuda, só postar.
Posta seu código, assim fica mais fácil te guiar.