Foro Oficial de Java

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Que tal bros, como va la causa...escribo para saludar y de paso importunar un poco, teneis algunba documentacion de javaFX mobile en español...esque me ha tocado dar un modulito de esta tecnologia y como esta ta biche nada que encuentro documentacion y toca en español porque si les doy pdf's en ingles a mis pupilos...pues ya se imaginaran gracias de antemano...
 

yezzi

Lanero Regular
8 Feb 2009
1
como puedo pasarlo a modo grafico???

hola a todos

bueno estoy implementando un programa en java que me lea un archivo
y me diga cuantas variables, clases, funciones y demas tiene en total y que me los guarde en una tabla de mySQL.
pero lo he hecho en modo consola y no se como pasarlo a modo grafico me podrian atyudar porfavor

este es el codigo

package javaapplication3;
import java.io.*;
import java.sql.*;

public class Main {

public static void analizar(){

int contMetodos=0;
int contvariables=0;
int contfor=0;
int contif=0;
int contclases=0;
int contlineas=0;
int contswitch=0;
int contsalidas=0;
int contbibliotecas=0;
int contconstantes=0;
int contentradas=0;

File archivo=new File("c:/analizador.java");

try{
BufferedReader in=new BufferedReader(new FileReader(archivo));
String data="";
data=in.readLine();


while(data!=null){

contlineas++;

System.out.println(data);
if(data.indexOf("import")!=-1){
contbibliotecas++;
}

if(data.indexOf("public")!=-1){
contMetodos++;
}

if(data.indexOf("private")!=-1){
contMetodos++;
}

if(data.indexOf("int")!=-1){
contvariables++;
}

if(data.indexOf("float")!=-1){
contvariables++;
}

if(data.indexOf("double")!=-1){
contvariables++;
}

if(data.indexOf("String")!=-1){
contvariables++;
}

if(data.indexOf("boolean")!=-1){
contvariables++;
}

if(data.indexOf("for")!=-1){
contfor++;
}

if(data.indexOf("if")!=-1){
contif++;
}

if(data.indexOf("class")!=-1){
contclases++;
}


if(data.indexOf("switch")!=-1){
contswitch++;
}

if(data.indexOf("System.out.println")!=-1){
contsalidas++;
}

if(data.indexOf("System.in")!=-1){
contentradas++;
}

if(data.indexOf(".in")!=-1){
contentradas++;
}
if(data.indexOf("Scanner")!=-1){
contentradas++;
}

if(data.indexOf(".get")!=-1){
contentradas++;
}
data=in.readLine();
}
contMetodos--;

Connection con = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/programita", "root","12345");
stmt = con.createStatement();
String sentenciaSQL = "INSERT INTO datos(nombre,para,si,variables,constantes,bibliotecas,clases,selectivas,salidas,entradas,metodos,lineas) VALUES('"+ archivo +"','"+contfor +"','"+contif +"','"+contvariables +"','"+contconstantes +"','"+contbibliotecas +"','"+contclases +"','"+contswitch +"','"+contsalidas +"','"+contentradas +"','"+contMetodos +"','"+contlineas +"')";
stmt.execute(sentenciaSQL);
stmt.close();
con.close();
}catch (Exception error) {
System.out.println(error);
}

System.out.println(" ANALISI DEL ARCHIVO "+archivo);
System.out.println("**************************************************");
System.out.println(" Nombre del Archivo: "+archivo);
System.out.println(" Cantidad de Lineas: "+contlineas);
System.out.println(" Cantidad de Bibliotecas: "+contbibliotecas);
System.out.println(" Cantidad de Variables: "+contvariables);
System.out.println(" Cantidad de Constantes: "+contconstantes);
System.out.println(" Cantidad de Clases: "+contclases);
System.out.println(" Cantidad Metodos: "+contMetodos);
System.out.println(" Cantidad de Condiciones IF: "+contif);
System.out.println(" Cantidad de Switchs: "+contswitch);
System.out.println(" Cantidad de Entradas: "+contentradas);
System.out.println(" Cantidad de Salidas: "+contsalidas);
System.out.println("**************************************************");
System.out.println("GUARDADO SATISFACTORIAMENTE ");


}
catch(IOException e){
System.out.println("No existen entradas");
}



}



public static void main(String[] args) {


analizar();



}

}




gracias x su ayuda
 

valexiscg

Lanero Regular
30 May 2007
2
Ayuda Aplicacion Netbeans

Hola, esoy desarrollando una aplicacion de escritorio en Java Netbeans 6.5 en un monitor de 22 pulgadas a una resolución de 1650X1050 pero al generar el ejecutable ( .jar) y correrlo en una pantalla de 1024X768 me salen los formularios muy grandes y fuera de pantalla. Porfavor alguien sabe como puedo hacer para que la aplicación tome la resolucion de la pantalla donde se ejecute o como puedo cambiar la resolucion de la Aplicación a 1024 X768?? Gracias.
 

DanAlbithus

Lanero Regular
20 Jun 2009
5
disculpen que sea el tema repetitivo...

recien estoy programando en java y tengo un problema..

estoy manejando archivos, y necesito guardar una cadena de datos en estos

la cosa es asi: necesito guardar los datos del sueldo de un empleado asi como su nombre, puesto, sueldo, etc..., (tengo que hacer una operacion en una clase para hallar el sueldo) juntandolo todo en una cadena y esta cadena lo guardo al archivo, SE COMO GUARDAR A ARCHIVO, pero no se transformar los atributos de empleados para guardar a la cadena

estaba pensando crear un objeto

private NombreDelaClase NombredelObjeto = new NombreDelaClase();

en el frame (ya que el usuario pondra los datos en este) para jalar desde la clase operaciones hasta el frame y ahi guardarlos en la cadena.. pero por alguna razon no me reconoce "NombreDelaClase()"


ademas tengo q leer la cadena pero solo de un trabajador por medio de su codigo de identificacion..


estaba pensando que para leer utilizar el metodo IndexOF (osea guardar todos los datos del trabajador desde el codigo hasta una coma) para que lea desde el codigo hasta la coma asi como el Split para leer todos los datos.. estoy en lo correcto?

ojala me puedan ayudar.. es un poco urgente.. e tenido muchos trabajos y solo me falta este :S
 

DanAlbithus

Lanero Regular
20 Jun 2009
5
bueno lo del objeto ya lo resolvi.. la clase que queria atraer a la mascara o frame no tenia ningun metodo que devolvia valores..

ya pude guardar los datos del trabajador que quiero en el archivo y ya puedo leerlos todos.. mi problema es que necesito leer solo el trabajador que kiero (por medio de su codigo)

primero se tiene que utilizar el IndexOf para sacar la ubicacion de la palabra (ejem: ubicacion de "i" en maria = 4)
despues con esa posicion utilizar las subcadenas las cuales necesitan la ubicacion para saber desde donde hasta donde van a leer...
ok e podido..
este es mi codigo del frame :

public void jButton3_actionPerformed(ActionEvent e) {
int code = Integer.parseInt(jTextField3.getText()); // convierte el valor del jtexfield a entero
IndexOF index = new IndexOF(); ---> crea un objeto de la clase IndexOF
JOptionPane.showMessageDialog(this,index.IndexOF(code, allData)); //devuelve un mensaje con el metodo Index }

y este es el del metodo IndexOF:

public class IndexOF {

public String IndexOF(int code, String information) { //tiene como parametros un entero y una cadena
int go = information.indexOf("code", code + 1 ); //utiliza el index para hallar la ubicacion de code en la cadena guardandola en la variable go
String result = (information.substring(go)); //utiliza la variable de la cadena como parametros del metodo subestring para hallar la ubicacion de la letra
return result;
}
}

mi problema esta en que yo kiero que el usuario ponga en el textfield el code que el kiera... ahora al ponerlo en el
int go = information.indexOf("code", code + 1 ); no va a arrastrar un valor entero de code sino va a buscar en la cadena la palabra code...

como puedo hacer para jalar desde el jtextfield del frame o mascara el entero code y poner la variable en el metodo.. :S

ojala me haya explicado bien y ojala me puedan ayudar porque es un poco urgente
 

offlink

Lanero Regular
23 Oct 2005
46
Hola yezzi

Ya tienes el programa principal, ahora teoricamente solo te falta imprimirlo en labels en una Ventana, el uso de ventanas se debe hacer en una Arquitectura por capas, pero es un programa sencillo asi que no importaria, te recomiendo usar el IDE Netbeans, creas un Jframe puedes editar la ventana graficamente,es decir arrastras los botones, labels, cuadros. Para tu caso crea varios Jlabels que son las etiquetas, le colocas nombres a cada JLabel por ejemplo donde se mostrara la cantidad de lineas le pones "labelContLineas". Ahora luego de dejar tu ventana lista, seleccionas "Source" veras el codigo fuente, aqui pon tu metodo analizar(); tu decides cuando se va ejectura tu programa, si al abrir el programa o al hacer click en algun boton, si es el primer caso debes llamar a analizar dentro del contructor, sino creas un boton y desde la vista grafica le haces doble clikc para que cree un metodo con esa accion. Ahora por ejemplo en vez de imprimir con println, utiliza los labels que creaste. Para las lineas del archivo seria:
/*antes*/ System.out.println(" Cantidad de Lineas: "+contlineas);
/*despues*/ labelContLineas.setText(""+contlineas); //Asi pasamos un Int a String



valexiscg:

Hola en Netbeans es bastante dificil para ajustar que se redimensione con los objetos pero se puede, eso lo puedes veificar con solo cambiar el tamaño de la ventana con el mouse, puedes poner algunos objetos pegados al borde derecho e inferior de la ventana, asi dependen de este, y otros componentes a su vez dependeran de estos objetos, para verificar que no quede mas grande de 1024 ponle propiedades a la ventana y en Prefered Size verifica que no este mas grande. Si no te funciona y tu prioridad es redimencionar, la unica es crear la ventana manualmente a partir de codigo con Layouts , no graficamente con esto controlas totalmente el tamaño de los objetos, te recomiendo GridbagLayout


DanAlbithus:


Muy curioso que este trabajando aun con ficheros, viendo el nivel que usa esa "Tabla" no crees que es mejor migrar a una Base de datos?, el manejo de ficheros de texto no es recomendable, para este tipo de casos

Pero si quieres seguir con ficheros, te recomiendo al menos serializar un Objeto donde guardes toda la info, serializar es convertir un objeto de JAVA en una cadena de Bytes asi puedes guardarlo en un fichero y despues recuperarlo facilmente y utilizarlo como un objeto normal.

Si tampoco te gusta esta forma la unica que se me ocurre esque cada registro sea una linea asi al poner el Code solo es ir a esa linea con un For pero no me parece recomendable
 

offlink

Lanero Regular
23 Oct 2005
46
Hola, ahora hago una preguntica.

Esto adentrandome en el mundo Java EE, con mi grupo tenemos que hacer un aplicacion de ingreso de datos a una base de datos, nada del otro mundo, pero el inconveniente es la Conectividad, solo va ser una base de datos, pero debe tener lo siguiente

- Se requiere una aplicacion Cliente Instalada en algunos Equipos (No web) para ingreso de datos, esta app cliente funcionara tanto en la Misma de Red local del Servidor como desde otra Ciudad
- Ademas va tener una ineterfaz Web donde solo podra ser de consulta.

Ahora la pregunta es que modelo de arquitectura seguir:

El web no tendria problema, pero considero que una applicacion Cliente (no web) no debe conectarse directamente a una base de datos remota,en el caso de la app que funcionara en otra ciudad, asi que supongo que se debe hacer algo asi como un servidor de Aplicaciones, como un servicio.

Pero este servidor que es? o como se puede hacer, es un Servlet, es un Web Service o como tambien se penso un servidor por Socket que escuche un puerto?

Los sockets se siguen utilizando?, estamos hablando de Java EE

Gracias al que me pueda ayudar dandome una idea
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
que tal bros como va todo...por hay ando en la carreta del curso de programacion de moviles y tengo un lio con los numreos de coma flotante...es un lio conceptual..segun dice el estandar midp/cldc no soporta ni float ni double...porque los celus no tienen unidad de como flotanta...eso se me hace algo extraño porque mi perolita (un c115) maneja flotantews con hasta 7 cifras de presiscion, se me hace entonces muy raro que los celus que corren java, de mucha mas capacidad no posean ese modulo...en fin necesito un poco de ayda teorica para ver como les expplico esto a la clase..en fin agradesco cualqueir ayuda...paz y suerte.
 

NSlaver

Jack of all trades
16 Abr 2002
3,540
que tal bros como va todo...por hay ando en la carreta del curso de programacion de moviles y tengo un lio con los numreos de coma flotante...es un lio conceptual..segun dice el estandar midp/cldc no soporta ni float ni double...porque los celus no tienen unidad de como flotanta...eso se me hace algo extraño porque mi perolita (un c115) maneja flotantews con hasta 7 cifras de presiscion, se me hace entonces muy raro que los celus que corren java, de mucha mas capacidad no posean ese modulo...en fin necesito un poco de ayda teorica para ver como les expplico esto a la clase..en fin agradesco cualqueir ayuda...paz y suerte.

Es cuestión de versiones del midp mire por ese lado; Y mire alternativas a los uso de ese tipo de datos.
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Es cuestión de versiones del midp mire por ese lado; Y mire alternativas a los uso de ese tipo de datos.

Agradesco tu respuesta, pero lo que susede es que estos tios estan comensando y no quiero llenarles la cabeza con perfiles y configuracione especificas de equpos, pero tampoco pedo evadir el tema...que tal que me pregunten... ¿y que pasa si hago por ejemplo 1/3....? eso me dejaria muy mal si omito el tema...que es muy escabroso proque para decirles la verdad seria algo como.. se supone qe la kvm no soorta ni float ni double...ni ningun numero con decimales...pero para usos practios tienen que buscar perfiles especificos de midp que si los soportan.....si les digo eso los jodo....beno en fin seguire investigando....y oajala que el fx mobbile soluciones este problema....de nuevo gracias bro.
 

RBKIS

Lanero Regular
6 Jul 2009
1
Hola

Tengo un problema en un jframe tengo otros dos internos en uno tengo mi jlist donde mando a imprimir la columna nombres de mi base de datos y si me los muestra, tambien tengo un boton que me manda a llamar mi otro jfrme q es el de altas, entonces en el d altas cuando lo lleno se guarda bien pero mi jlist no m muestra el dato agregado, no se como actualizar mi jlist :(
 

cpaez1208

Lanero Reconocido
Lanero VIP
29 Nov 2008
1,852
solucion

Hola, esoy desarrollando una aplicacion de escritorio en Java Netbeans 6.5 en un monitor de 22 pulgadas a una resolución de 1650X1050 pero al generar el ejecutable ( .jar) y correrlo en una pantalla de 1024X768 me salen los formularios muy grandes y fuera de pantalla. Porfavor alguien sabe como puedo hacer para que la aplicación tome la resolucion de la pantalla donde se ejecute o como puedo cambiar la resolucion de la Aplicación a 1024 X768?? Gracias.

mira es sencillo no si es una clase que hereda de un JFrame primero no lo definas como un setBounds(x,x,x,x); sino con setExtendedState(MAXIMIZED_BOTH); con esa sentencia el se acopla a el tamaño de la pantalla, si te salen descuadrados es por el layout que definiste yo lo haria null y le haria set bounds a cada componente del frame
 

cpaez1208

Lanero Reconocido
Lanero VIP
29 Nov 2008
1,852
propuesta

Hola, ahora hago una preguntica.

Esto adentrandome en el mundo Java EE, con mi grupo tenemos que hacer un aplicacion de ingreso de datos a una base de datos, nada del otro mundo, pero el inconveniente es la Conectividad, solo va ser una base de datos, pero debe tener lo siguiente

- Se requiere una aplicacion Cliente Instalada en algunos Equipos (No web) para ingreso de datos, esta app cliente funcionara tanto en la Misma de Red local del Servidor como desde otra Ciudad
- Ademas va tener una ineterfaz Web donde solo podra ser de consulta.

Ahora la pregunta es que modelo de arquitectura seguir:

El web no tendria problema, pero considero que una applicacion Cliente (no web) no debe conectarse directamente a una base de datos remota,en el caso de la app que funcionara en otra ciudad, asi que supongo que se debe hacer algo asi como un servidor de Aplicaciones, como un servicio.

Pero este servidor que es? o como se puede hacer, es un Servlet, es un Web Service o como tambien se penso un servidor por Socket que escuche un puerto?

Los sockets se siguen utilizando?, estamos hablando de Java EE

Gracias al que me pueda ayudar dandome una idea


pues habria una solucion basica y una avanzada

la basica es crear el datasource manual y haciendo un POJO mejor dicho la clase de mi data source seria algo asi

public​
class MiDataSource {

private static Connection conn;

public MiDataSource(){
}

public static Connection getConexionPostgres(){
if (conn == null){
try {
Class.forName(
"org.postgresql.Driver");
Properties props =
new Properties();
props.setProperty(
"user", "postgres");
props.setProperty(
"password", "80665152");
conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/CorvusRFID",props);
}
catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}

}

habria que importar el driver de postgress en este caso si es mysql derby o el motor que sea hay que hacer lo mismo con el driver

y el pojo es una clase que haria de entity o una especie de bean muy basico, mejor dicho variables que mapeen los datos de la tabla x con un costructor sin parametros, un constructor con parametros y metodos set y get y el dao, (DataAccesObject) de cada tabla que es donde van los query's de cada tabla crear modificar y esas jodas

public​
class DaoAdmin {

private String nombreUsuario, password;
private PreparedStatement prestmt = null;
public static ResultSet rs = null;

public ResultSet getAdmin (String nombreUsuario, String password){
this.nombreUsuario = nombreUsuario;
this.password = password;
try {
String sql =
"select * from admin where user_admin = '" + nombreUsuario +
"' and pass_admin = '" + password + "'";


prestmt = MiDataSource.getConexionPostgres().prepareStatement(sql);
rs = prestmt.executeQuery();
while(rs.next()){
System.
out.println("Autenticado!!\nid: "+rs.getInt(1)+"" +
"\nuser: "+rs.getString(2)+"\npassword: *****");
return rs;
}
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

o sino seria con ejb 3 configurando la conexxion en el servidor de aplicaciones que vallas a usar esto se encarga de todo lounico que tienes que hacer es definor los facade de la app y generar un jar y ese lo agregas a el proyecto jee en donde lo llamas normalmente y pare de contar un consejo no hagas jsp primitivos aprovecha la potencia y facilidad de jsf suerte

 

cpaez1208

Lanero Reconocido
Lanero VIP
29 Nov 2008
1,852
Hola

Tengo un problema en un jframe tengo otros dos internos en uno tengo mi jlist donde mando a imprimir la columna nombres de mi base de datos y si me los muestra, tambien tengo un boton que me manda a llamar mi otro jfrme q es el de altas, entonces en el d altas cuando lo lleno se guarda bien pero mi jlist no m muestra el dato agregado, no se como actualizar mi jlist :(


depronto quedaria mas facil si desde el DAO retornaras un ResultSet y en la clase que lo imprime le das

ResultSet x = new DAOx().elmetodo que retorna(parametros);

JLabel.setText(x.getString o Int o elquesea(poscicion));

quizas te sea mas facil asi
 

sairus black

Lanero Reconocido
19 Ene 2008
1,848
Que tal bros...alguien conoce un sitio web donde pueda crear una banco de midlet's y repositorios de imagenes, sonidos y demas...o un lugar que ya tenga eso...lo digo por las restricciones del OTA y ahora que entro a ver conexiones en mi curso necesito proveerles a los pupilos un host con el qe puedan "jugar" sin mayores lios de acceso....agradesco cuealquier dato.
 

DC-EDY

Lanero Reconocido
7 Nov 2004
1,899
problemita

ke tal amigos de laneros, estoy desarrollando una aplicacion web en java y tengo un problemita

Resulta ke tengo un clase ke maneja las conexiones a la BD llamada Dbconnection y esta tiene 2 funciones llamadas getConnection, una sin parametros y la otra con parametros user y passwd, la primera la utilizo para conectarme con un usuario general a una tabla y verificar ke exista el usuario ke esta ingresando, luego de ke kompruebo ke exista dicho usuario, cierro la conexion y llamo a la funcion getConnection(user pass) y me conecto.

ahora bien, lo anterior lo tengo en una clase llamada autenticar, pero resulta ke en muchas partes del programa (otras clases) necesitare hacer varias consultar a la BD, komo hago para guardar esta ultima conexion en una simple funcion para ke kada vez ke la necesite usar no sea sino llamarla y ke me retorne la conexion (Connection)


intente hacer una funcion en la clase autenticar asi:

PHP:
public Connection devolver 
{
return conn
}

pero me la devuelve null llamandola de otra clase, en kambio si la llamo desde la misma clase autenticar ahi si me devuelve la conexion

espero haberme explikado bien, kualkier ayuda gracias
 

Tr0nad0r

Lanero Reconocido
8 Mar 2004
7,790
Cuando lo llamas desde otra clase te aseguras de haber instanciado el objeto de la clase Auntenticar antes?

Autenticar auth = new Autenticar();
Connection conn = auth.devolver();
 

DC-EDY

Lanero Reconocido
7 Nov 2004
1,899
Cuando lo llamas desde otra clase te aseguras de haber instanciado el objeto de la clase Auntenticar antes?

Autenticar auth = new Autenticar();
Connection conn = auth.devolver();

las funciones de getconnection y devolver las tengo es en DBConnection, tons lo hago asi:


DbConnection cn = new DbConnection();
Connection conn = cn.devolver();
 

DC-EDY

Lanero Reconocido
7 Nov 2004
1,899
DBconnection :
PHP:
package autenticacion;


import java.sql.*;


public class DbConnection {
   String bd ;
   String login  ;
   String password;
   String url ;
  

   public Connection conn ;

   /** Constructor de DbConnection */
   public DbConnection() {

   }
   /** retornamos la conexión*/
   public Connection getConnection(){
         try{

            
            bd = "utd";
            login = "helpdesk";
            password = "123";
            url = "jdbc:postgresql://localhost/"+bd;
         //obtenemos el driver
         Class.forName("org.postgresql.Driver");
         //obtenemos la conexión
         conn = DriverManager.getConnection(url,login,password);
         if (conn!=null){
            System.out.println("Conexión a base de datos "+bd+" OK");
         }
      }catch(SQLException e){
         System.out.println("1 "+e);
      }catch(ClassNotFoundException e){
         System.out.println("2 "+e);
      }
      System.out.println("retornando coon");

      return conn;
   }


      public Connection getConnection(String pgu, String clave){

      
      login = pgu;
      password = clave;
      url = "jdbc:postgresql://localhost/"+bd;
            try{
         //obtenemos el driver
         Class.forName("org.postgresql.Driver");
         //obtenemos la conexión
         conn = DriverManager.getConnection(url,login,password);
         if (conn!=null){
            System.out.println("Conexión a base de datos con usuario especifico "+bd+" OK");
         }
      }catch(SQLException e){
         System.out.println(e);
      }catch(ClassNotFoundException e){
         System.out.println(e);
      }

      return conn;
   }

      public Connection devolver ()
      {
          
      return conn; //verifikar si si esta devolviendo la conexion especifica

      }

   public void desconectar(){
              
      System.out.println("desconectando");
      conn = null;
   }




}

este es el dopost de autenticar

PHP:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);

   //Connection conn = null;


        try
        {

            String usuario = request.getParameter("usuario");
            String clave = request.getParameter("clave");
            String usuarioclave = usuario+clave;
            String ip = request.getRemoteAddr(); //esta es la IP por si la necesitamos luego
            

            
    
            DbConnection cn = new DbConnection();
            Connection conn = cn.getConnection();
            Statement s = conn.createStatement();
           
            
            s.executeQuery("SELECT idempleado, clave, crg_idcargo, pgu FROM empleados");

            
            ResultSet rs = s.getResultSet();
            boolean existe = false;
            while (rs.next()) {
                
                
                String usuariobd = rs.getString("idempleado");
                String clavebd = rs.getString("clave");
                String pgu = rs.getString("pgu"); // lo obtenemos para cambiar de conexion
                String usuarioclavebd = usuariobd+clavebd;

        
                int  cargo = Integer.parseInt(rs.getString("crg_idcargo"));

                if (usuarioclavebd.equals(usuarioclave)  )
                {

                    existe = true;
                    s.executeQuery("select formulario from roles where idrole ="+cargo );
                    ResultSet rs2 = s.getResultSet();
                    if (rs2.next()) {
                    String dir = rs2.getString(1);
                    cn.desconectar();
                    System.out.println("cerrando la conexion ");
                    //aki cerramos la conexion
                    conn = cn.getConnection(pgu, clave); //enviamos pgu y clave de la BD del usuario
                    
                    response.sendRedirect(dir);

                    }
                  
                } // if user y pass

            }// while
            
            

            if (existe == false)
            {
                response.sendRedirect("errores/usuarionoexiste.jsp");
            }

        } //try
         catch (Exception e) {System.out.println(e);}



    }// dopost


esta seria la ke necesito ke me kede kon la conn ya particular de kada usuario

PHP:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);

        String idsolicitante = request.getParameter("idsolicitante");

        try{

            DbConnection cn = new DbConnection();

           // System.out.println(cn.devolver()); aki esta dovolviendo null OJO
            Connection conn = cn.devolver(); 
            
            Statement s = conn.createStatement();

            s.executeQuery("SELECT idsolicitante FROM solicitantes;");
            
            ResultSet rs = s.getResultSet();
            boolean existe = false; //comprobador de ke exista o no


             while (rs.next()) {


             String idsolicitantebd = rs.getString("idsolicitante");

             

             if (idsolicitantebd.equals(idsolicitante))

                {
                existe = true;
                response.sendRedirect("operadores/rep_solicitantes.jsp");

                }


             } //while

               if (existe == false)
                {

                request.getSession().setAttribute("id", idsolicitante);
                response.sendRedirect("operadores/ing_solicitante.jsp");
                }



            } //try
            catch (Exception e) {System.out.println(e);}


    }