Moçada, eu nunca mechi com JSP e por isso, peço ajuda de vcs…
Só preciso desse exemplo pra começar a “engatinhar” em JSP.
Aqui você pode encontrar detalhadamente o que estou querendo…
Em resumo é o seguinte: Para usuários com conexão externa(fora da rede local), trabalhar com Applet trafegando dados do banco é muuito lento, então sugeriram que ao invés de o Applet fazer a conexão com o BD, eu poderia usar um JSP para conectar e fazer as requisições (tipo select), converter para String e assim enviar para o Applet.
Tem um exemplo abaixo que aparentemente é pra conectar no BD. Eu queria saber como eu posso fazer com que o exemplo abaixo faça um select no BD e enviar esses resultados para uma tabela do applet (cod. no fim):
[code] //JSP
<%
Connection conn = null;
try
{
Class.forName(“oracle.jdbc.driver.OracleDriver”);
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@endereco:1521:banco",
"usuario", "senha");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM Example.Emp");
//Print start of table and column headers
out.println("<TABLE CELLSPACING=\"0\" CELLPADDING=\"3\" BORDER=\"1\">");
out.println("<TR><TH>ID</TH><TH>NAME</TH></TR>");
//Loop through results of query.
while(rs.next())
{
out.println("<TR>");
out.println("<TD>" + rs.getString("EmpID") + "</TD>");
out.println("<TD>" + rs.getString("Name") + "</TD>");
out.println("</TR>");
}
out.println("</TABLE>");
}
catch(SQLException e)
{
out.println("SQLException: " + e.getMessage() + “<BR>”);
while((e = e.getNextException()) != null)
out.println(e.getMessage() + “<BR>”);
}
catch(ClassNotFoundException e)
{
out.println("ClassNotFoundException: " + e.getMessage() + “<BR>”);
}
finally
{
//Clean up resources, close the connection.
if(conn != null)
{
try
{
conn.close();
}
catch (Exception ignored) {}
}
}
%>[/code]
Abaixo, alguns dados para entender melhor o Applet. No caso abaixo, o Meu Applet é quem tá fazendo o select e mostrando os resultados:
[code]… private Vector<String> head = new Vector<String>();
private Vector<Vector> body = new Vector<Vector>();
private Vector<String> bv = null;
private Statement stmt = null;
private Connection con = null; // @jve:decl-index=0:
private ResultSet rs = null;
private ResultSetMetaData rsmd = null;
private JTable jTable = null;
boolean flag = true;
ResultSetMetaData resultMataData;
int intColumnCount;
…
public cfRel() {
super();
initialize();
}
private void initialize() {
try {
this.connect();
this.Table();
this.jTable.setAutoResizeMode(0);
…
private void connect() throws SQLException {
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection(“jdbc:oracle:thin:@//xx.xxx.xxx.xx:1521/BD”,
“user”,“pass”);
stmt=con.createStatement();
} catch(Exception e) {
JOptionPane.showMessageDialog(null, “Não foi possível
conectar.”,
“Erro”, JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
TableModel model = new DefaultTableModel(body, head) {
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int body, int head) {
return false;
}
};
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
private void Table()throws Exception {
try {
rs = stmt.executeQuery("select cad_nr, cad_nome, cad_fant, cad_fone,
cad_fax, celular, cad_end, cad_cpf, cad_rg, cad_cgc,
cad_inscr, inscr_prod, inscr_min, cid, bai,
email from r_cadast");
rsmd = rs.getMetaData();
int col = rsmd.getColumnCount();
while(rs.next()) {
bv = new Vector<String>();
int a;
for(a=1;a<=col;a++) {
if(flag) {
head.add(rsmd.getColumnName(a));
}
bv.add(rs.getString(a)==null?"":(String)rs.getString(a));
}
body.add(bv);
flag=false;
}
}
catch(Exception exec) {
JOptionPane.showMessageDialog(null, “Problemas na tabela.”,
“Erro”, JOptionPane.ERROR_MESSAGE);
exec.printStackTrace();
}
jTable = new JTable(body, head);
jTable.setModel(model);
jTable.setRowSorter(sorter);
jTable.setCellEditor(null);
jTable.setLocation(new Point(15, 118));
jTable.setBackground(new Color(204, 204, 204));
jTable.setAutoscrolls(true);
jTable.setSize(new Dimension(200, 200));
}[/code]