Applet + JSP + BD

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("&lt;TABLE CELLSPACING=\"0\" CELLPADDING=\"3\" BORDER=\"1\"&gt;");
  out.println("&lt;TR&gt;&lt;TH&gt;ID&lt;/TH&gt;&lt;TH&gt;NAME&lt;/TH&gt;&lt;/TR&gt;");

  //Loop through results of query.
  while(rs.next())
  {
     out.println("&lt;TR&gt;");
     out.println("&lt;TD&gt;" + rs.getString("EmpID") + "&lt;/TD&gt;");
     out.println("&lt;TD&gt;" + rs.getString("Name") + "&lt;/TD&gt;");
     out.println("&lt;/TR&gt;");
  }

  out.println("&lt;/TABLE&gt;");

}
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&lt;TableModel&gt; sorter = new TableRowSorter&lt;TableModel&gt;(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]