Hola!
gracias otra vez.  Bien...
¿Tiene algo que ver que este probando el ejemplo sobre Mozilla Firefox instalado en Ubuntu? O que la bd sea Firebird?  
Otra opción es adecuar este código a Ajax, es el MVC del que había comentado al inicio:  
JSP:   
 Código PHP:
    <%-- 
--%>
 
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="Operaciones.*,Controlador.*,beans.*,java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
 
    <head>
 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Combos dependientes con bd</title>
 
        <script type="text/javascript">
            function control()
            {
            document.forms[0].action='Controlador?operacion=depende';
            document.forms[0].submit();
            }
        </script>
 
    </head>
    <body>
        <h1>PruebaCombos</h1>
        <form name="formCombos" method="POST" action="javascript">
            <table>
                <tr>
                    <td>
                        Nombre de pais
                    </td>
 
                    <td>
                        <select name="Id_Pais" onchange="control()">
                           
                            <%
                            Operaciones op=new Operaciones();
                            ArrayList<Pais> p=op.getPaises();
                            for(int i=0;i<p.size();i++)
                            {
                            %>
                            
                            <option value="<%=p.get(i).getCod_Pais()%>"><%=p.get(i).getNom_Pais()%></option>
                            <%
                            }
                            %>
                        </select>
                    </td>
 
                    <td>
                        <select name="Id_Departamento" onchange="control2()">
                            
                            <%
                            ArrayList<Departamento> dp=op.getDptos(request.getParameter("Id_Pais"));
                            for(int j=0;j<dp.size();j++)
                            {
                            %>
            
                            <option value="<%=dp.get(j).getCod_Departamento()%>"><%=dp.get(j).getNom_departamento()%></option>
                            <%
                            }
                            %>
                        </select>
                    </td>
                </tr>
 
                <tr>
                    <td>
                        <input type="button" name="Buscar" value="Buscar" id="Buscar"    onclick="control()"/>
                    </td>
                </tr>
 
            </table>
        </form>
    </body>
</html> 
   
   
El controlador(Servlet):  
 Código PHP:
     //Combo dependiente para sacar los departamentos
  public class Controlador extends HttpServlet   {
   
    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        System.out.println(true);
        String op = request.getParameter("operacion");
        System.out.println(op);
     ServletContext ctx = this.getServletContext();
     System.out.println(ctx);
 
     Operaciones data = new Operaciones();
     RequestDispatcher rd;
     RequestDispatcher rd2;
     System.out.println(request.getLocale());
 
   if(op.equals("depende"))
     {
         String cod_pais= request.getParameter("Cod_Pais");
 
         request.setAttribute("Departamento",data.getDptos(cod_pais));
         rd=request.getRequestDispatcher("/PruebaCombos.jsp");
         rd.forward(request, response);
     }
 
}
 
//Metodos del Servlet
@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 
    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    } 
    
  
Y la clase Operaciones.java  
 Código PHP:
     
//Devolver lista de paises
     public ArrayList<Pais> getPaises()
     {
         ArrayList<Pais> p=new ArrayList<Pais>();
 
         try{
             Connection cn=this.getConection();
             String query="Select * from Pais";
             Statement st=cn.createStatement();
             ResultSet rs=st.executeQuery(query);
 
             while(rs.next())
             {
                 Pais pa=new Pais();
                 pa.setCod_Pais(rs.getInt("Id_Pais"));
                 pa.setNom_Pais(rs.getString("Nom_Pais"));
                 p.add(pa);
             }
         }catch(SQLException e){
             e.printStackTrace();
         }
         return p;
     }
 
     //Devolver lista de departamentos de acuerdo al pais al que corresponde.
    public ArrayList<Departamento> getDptos(String cod_pais)
    {
        ArrayList<Departamento> dep=new ArrayList<Departamento>();
        try
        {
            Connection cn=this.getConection();
            String query="Select * from Departamento where Id_Pais='"+cod_pais+"'";
            Statement st=cn.createStatement();
            ResultSet rs=st.executeQuery(query);
 
            while(rs.next())
            {
                Departamento d=new Departamento();
                d.setCod_Departamento(rs.getInt("Id_Departamento"));
                d.setNom_departamento(rs.getString("Nom_Departamento"));
                d.setCod_Pais(rs.getInt("Id_Pais"));
                dep.add(d);
            }
        }catch(SQLException e){
            e.printStackTrace();
        }
        return dep;
    } 
    
  
Esa es la unica otra opción que se me ocurre de verdad aprecio mucho su ayuda