opa....olá a todos do forum
eu sô meio novato em java quanto mais utilizando JSP...mas eu sô o tal do cara curioso.....husahusahusa....e tô tentando desenvolve um sisteminha aki....bom vamos ao meu problema
eu tenho 3 combobox no meu sistema....quando a pessoa selecionar algum valor na 1º combo (onchange), a 2º irá receber os valores resultantes de um select no banco....e a 3º combo por sua vez irá receber tbm os valores resultantes de outro select d acordo com a opção selecionada na 2º combo
tenho problema na seguinte linha
Statement s = connection.createStatement();
na verdade não é um erro, mas sim ele passa direto por este passo e já retorna minha variavel cadastroList, ou seja, VAZIA, q esta ae no codigo abaixo
eu até tentei de várias maneiras resolve isso, mas enfelizmente não tive sucesso...agora tô tentando faze assim....vamos ao codigo
JSP
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="dbBean" scope="application" class="Controle.DbBean"/>
<%@ page import="Controle.CadastroVO" %>
<html>
<body>
....
....
....
<label id="staticText1" style="left: 46px; top: 204px; position: absolute" name="staticText1">Escola:</label>
<!-- ComboBox da Escola -->
<form name="form1" style="height: 20px; left: 164px; top: 204px; position: absolute; width: 216px">
<select name="menu1" onchange="<%String escola = request.getParameter("menu1");%>">
<option value="-2" selected>Selecione a Escola</option>
<option value="-1">-------------------------</option>
<option value="1">Escola 1</option>
<option value="2">Escola 2</option>
<option value="3">Escola 3</option>
</select>
</form>
<label id="staticText2" style="left: 460px; top: 204px; position: absolute" name="staticText2">Nº da Turma:</label>
<!-- ComboBox Turma -->
<form name="form2" style="height: 20px; left: 594px; top: 204px; position: absolute; width: 216px">
<select name="menu2" onchange="<%String turma = request.getParameter("menu2");%>">
<option>Turma</option>
<option></option>
<%
ArrayList turmas = dbBean.getTurmas(escola);
Iterator iterator = turmas.iterator();
while (iterator.hasNext()) {
CadastroVO cadastro = (CadastroVO) iterator.next();
%>
<option><%=cadastro.getTurma()%></option>
<%}%>
</select>
</form>
<label id="staticText3" style="left: 46px; top: 285px; position: absolute" name="staticText3">Nome:</label>
<!--ComboBox Nome -->
<form name="form3" style="height: 20px; left: 164px; top: 285px; position: absolute; width: 526px">
<select name="menu3" onchange="<%String dados = request.getParameter("menu3");%>">
<option>Nome</option>
<%
ArrayList nomes = dbBean.getAlunos(turma);
Iterator iterator1 = nomes.iterator();
while (iterator1.hasNext()) {
CadastroVO cadastro1 = (CadastroVO) iterator1.next();
%>
<option><%=cadastro1.getNome()%></option>
<%}%>
</select>
</form>
.....
.....
.....
Bean onde irá fazer os Selects
package Controle;
import Controle.DbBean;
import java.sql.DriverManager;
import java.util.Hashtable;
import java.util.ArrayList;
import java.util.Enumeration;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import Controle.CadastroVO;
import Controle.PerguntaVO;
public class DbBean
{
public String dbUrl = "";
public String dbUserName = "";
public String dbPassword = "";
public void setDbUrl(String url)
{
dbUrl = url;
}
public void setDbUserName(String userName)
{
dbUserName = userName;
}
public void setDbPassword(String password)
{
dbPassword = password;
}
public ArrayList getTurmas(String escola) throws Exception
{
ArrayList cadastroList = new ArrayList();
try
{
Connection connection = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
//Linha q insiste em não executar... :p
Statement s = connection.createStatement();
String sql = "SELECT Distinct(turma) FROM infoalunos WHERE escola = " + escola + "ORDER BY turma";
ResultSet rs = s.executeQuery(sql);
while (rs.next())
{
CadastroVO cadastro = new CadastroVO();
cadastro.setTurma(rs.getString("turma"));
cadastroList.add(cadastro);
}
rs.close();
s.close();
connection.close();
}
catch (Exception e)
{
}
return cadastroList;
}
public ArrayList getAlunos(String turma) throws Exception
{
ArrayList cadastroList = new ArrayList();
try
{
Connection connection = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
//Linha q insiste em não executar... :p
Statement s = connection.createStatement();
String sql = "SELECT nome FROM infoalunos WHERE turma = " + turma + "ORDER BY nome";
ResultSet rs = s.executeQuery(sql);
while (rs.next())
{
CadastroVO cadastro = new CadastroVO();
cadastro.setNome(rs.getString("nome"));
cadastroList.add(cadastro);
}
rs.close();
s.close();
connection.close();
}
catch (Exception e)
{
}
return cadastroList;
}
Servlet
package Controle;
import Controle.DbBean;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class ServletController extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
ServletContext context = config.getServletContext();
DbBean dbBean = new DbBean();
dbBean.setDbUrl("jdbc:mysql://localhost:3306/meubanco");
dbBean.setDbUserName("usuario");
dbBean.setDbPassword("senha");
context.setAttribute("dbBean", dbBean);
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
System.out.println(e.toString());
}
super.init(config);
}
aceito qlqr tipo de sugestão, ou ainda c tiver algum geito mais facil de fazer isso.....obrigado pela atenção