|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Malber
Páginas: [1]
1
« en: Martes 5 de Abril de 2005, 08:46 »
Yo lo que siempre hice fue...
rs.last(); //me voy al último int tamano = rs.getRow(); //pillo el tamaño rs.beforeFirst(); // lo dejo donde estaba para tratarlo
array = new .....[tamano];
while (rs.next){ .. .. }
Saludos.
2
« en: Martes 5 de Abril de 2005, 08:39 »
Se me ocurre una gilipollez pero quien sabe, a veces son cosas aún más simples... ¿la página de error estará en el mismo directorio tal como indica el vínculo no?
3
« en: Martes 5 de Abril de 2005, 08:36 »
Igual es tarde.. pero es así.. (char) [código ascii de la letra]
Ya luego las concatenas o haces lo que quieras con ellas
4
« en: Martes 5 de Abril de 2005, 08:31 »
Yo veo que tienes dos RequestDispatcher y que uno lo has obtenido a partir del context y otro a partir del request... seguramente uno de ellos te está devolviendo un objeto nulo y cuando intentas llamar al método forward, pues te da ese error. De todas maneras puedes probar algo así para que te quede claro:
(justo debajo de cada RequestDispatcher rd = .... .getRequestDispatcher())
if (rd == null){ System.out.println (" Me devolvio nulo a partir del.. request / context "); }
y luego mirasla consola o el log de salida y ves en cual de los RequestDispatcher te está devolviendo nulo. Justo encima de la stackTrace debe salir.
Espero que te sirva.
5
« en: Sábado 26 de Marzo de 2005, 12:07 »
Hola amigos. LLevo seis meses trabajando desde un terminal en AS400 programando Cobol contra base de datos DB2, pero no tengo mucha idea sobre la máquina en sí.
Veo muchas buenas ofertas de empleo que ponen algo como AS400/CICS/DB2. He buscado por todas partes para saber lo que es CICS de forma clara pero no consigo aclararme, ¿Es un sistema operativo de 400 o eso es sólo el OS/400? ¿Es algo que se le añade o que ya de por sí lo trae y yo ya lo esté usando?¿Es otra máquina? En fin, a ver si me podeis ayudar porque mi ignorancia es grande.
Gracias.
6
« en: Martes 26 de Octubre de 2004, 00:15 »
Buenas noches.
Hasta la fecha sólo he programado en Servlets/JSP y tengo varias dudas ahora que me enfrento a PHP, espero que me podáis guiar sobre dónde puedo encontrar información sobre lo que os voy a contar porque no encuentro gran cosa.
Respecto a la base de datos. ¿Cómo se puede aplicar el patrón singleton? [Para hacer un pool de conexiones] - ¿Se puede crear un fichero PHP que funcione a modo de función? Es decir, que reciba una petición y devuelva una conexión. ¿y crear variables globales?
Básicamente quiero saber si existe el concepto de "fichero - función" análogo a las funciones de una clase en java y cómo usarlos.
Gracias.
7
« en: Sábado 25 de Septiembre de 2004, 17:19 »
Madre que bonito. No pienso leer eso porque no me quiero volver loco.
Lo de las comillas yo lo he probado simple y te ahorras mogollón de barras y funciona igualmente, mi duda es... ¿No estarás metiendo código javascript que deba ir entre <HEAD> y </HEAD> sin explicitarlo no? Es que como lo pongas directamente en el servlet y no le hayas puesto un <HEAD> por ahí, te está metiendo todo lo que escribes en el <BODY>...
.... String htmlpage="<HTML>"; htmlpage+= "<HEAD>"; htmlpage+= javaScript ; // codigo javascript entre <head> y </head> htmlpage+= "</HEAD>"; htmlpage+="<BODY>"; htmlpage+= javaScript2; // código javascript entre <body> y </body> ...... ...... htmlpage+="</BODY>"; htmlpage+="</HTML>";
out.println(htmlpage);
Suerte.
8
« en: Sábado 25 de Septiembre de 2004, 17:08 »
En la sesion sólo se deben meter en principio variables que vayan a ser necesitadas durante toda las sesión del usuario, como puede ser el nombre de usuario y cosas así, esas varaibles serán compartidas por todos los servlets. Si lo que quieres es sólo que un servlet pase una variable sólo a otro y en ese caso concreto, eso sería contaminar la sesión. Existen dos formas comunes de resolver eso (aunque hay alguna más)
Lo típico es como parámetro en el método GET con... response.sendRedirect ( "MiServlet2?variable1=valor1&variable2=valor2" ); Eso sería estático, obviamente puedes introducir variables previamente recuperadas por request como por ejemplo: response.sendRedirect ( "MiServlet2?variable1="+valor1+"&variable2="+valor2 ); o como a tí se te ocurra.
Para casos muy concretos se usa lo siguiente HttpRequestDispatcher rd = request.getDispatcher( "MiServlet2" ); rd.forward(request,response);
creo que era así, si no pues busca documentación sobre HttpRequestDispatcher
Eso reenvía automáticamente todas las variables recibidas por el servlet. Tiene sus ventajas e inconvenientes a los que no voy a entrar.
9
« en: Sábado 25 de Septiembre de 2004, 16:55 »
Madre que lio  ahora voy xungo de tiempo, a ver si tengo algún rato y le echo un vistazo a ver si te puedo ayudar en algo. Lo que te puedo decir es que si necesitas unos números concretos aleatorios no consecutivos, por ejemplo 4, 7, 23, 24, 8... te creas por ejemplo un array con esos números y haces un random()*[numero de elementos del array] y pillas el contenido en el array de ese número aleatorio en vez del número aleatorio directamente. Es una idea. No se si eso era una de las cosas que necesitabas. En lo de volver a ejecutar el servlet no me ha quedado muy claro. Si quieres varios aleatorios a la vez, ya te di una idea de como hacer una clase que te los va generando sin repeticiones y te devuelve en un array los siguientes X números aleatorios. Si tienes la relación X -> Pregunta -> Respuesta, con hacer un for(i=0;i<AleatoriosRecuperados.. ) { Pregunta x= preguntas.Obtener( aleatorios ) ; //aleatorios es el array con los metadatos //y preguntas un conjunto con clave el metadato procesarPregunta(x); ... tendrás todas las preguntas a la primera no?
No se, me he liao bastante, no se siquiera si eso es lo que preguntas. Suerte.
10
« en: Sábado 25 de Septiembre de 2004, 16:38 »
jeje. Ok. gracias. Lo tengo como servicio, lo probaré como aplicación.
11
« en: Domingo 12 de Septiembre de 2004, 19:48 »
el int[] n lo ponemos fuera de los if_else porque si no.. xungo  int []n; if (primeraVez()){ new Aleatorios(5,10); n=Aleatorios.obtenerNumeros(); } else{ n=Aleatorios.obtenerNumeros(); } Algunos fallillos más habrán así
12
« en: Domingo 12 de Septiembre de 2004, 19:45 »
Voy a intentar responderte a los dos puntos. Pienso que podemos crear una clase para conseguir los cinco números aleatorios, definimos los atributos estáticos y así controlaremos que no se repitan public class Aleatorios{ private static int numeros[]; private static boolean numerosYaSelec[]; private static int seleccionados; private static int totalNumeros; public Aleatorios(int numNumeros,int totalNumeros){ //en tu caso 5,10 this.numeros=new int[numNumeros]; this.numerosYaSelec=new boolean[totalNumeros]; for (int i=0;i<totalNumeros;i++) numerosYaSelec =false; this.seleccionados=0; this.totalNumeros=totalNumeros; }
public static int[] obtenerNumeros(){ int i=0; //la siguiente linea evita un bucle infinito caso de llamar varias veces a este método y ya no es posible encontrar tantos aleatorios distintos if (totalNumeros - seleccionados >= numeros.length ){ while (i<numeros.length){ int aleat = (int) (Math.random()*totalNumeros); while ( numerosYaSelec[aleat]=true ){ aleat = (int) (Math.random()*totalNumeros); } numeros= aleat+1; // le sumamos 1 para que empiece en 1 (hasta totalNumeros) numerosYaSelec[aleat]=true; seleccionados++; i++; } } return numeros; // devuelve n números entre el 1 y el totalNumeros }
}
Para usar esto en el JSP hacemos lo siguiente
si es la primera vez que solicita las preguntas:
if (primeraVez()){ // Algo tendrás para diferenciar la primera de la segunda vez Aleatorios al = new Aleatorios (5,10); int n[]=Aleatorios.obtenerNumeros(); }
y ya le pones las preguntas
y si es la segunda vez que solicita las preguntas (Se equivocó la primera vez) ya no tienes que crear el objeto, el método es estático y los atributos estáticos estarán inicializados de la primera vez. Además devolverá otros números distintos. else{ int n[]=Aleatorios.getNumeros(); }
EL código no está probado ni nada, posiblemente contenga algunos errores de sintaxis. Si tienes algún problema, ya sabes donde encontrarme Espero que te sirva.
13
« en: Domingo 12 de Septiembre de 2004, 19:11 »
Lo primero que debes hacer es bajarte un JDBC-DRIVER para tu base de datos que se suelen suministrar gratis en la página web del desarrollador. Si es MySQL pues en la web de mysql, pero si es otra como ORACLE, pues en la página de ORACLE.. así hasta Access que lo tendrá en Microsoft.
Una vez tengas el jdbc-driver (un fichero .jar) lo incluyes en la carpeta /lib de tu aplicación.
Te pongo un trozo de código muy simple que te puede ayudar para leer de la base de datos y poner en forma de radiobuttons la información. Necesitarás leerte el fichero de texto que traiga el JDBC-Driver para completar el código.
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" %>
<html> <head> <title>Titulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <% //Crear una conexion con tu base de datos String driver= ".... "; //viene en la documentación del jdbcDriver String url= "..... "; //búscalo también en la doc de tu jdbcdriver try{ class.forName(driver); Connection con=DriverManager.getConnection(url); Statement st=null; ResultSet rs=null; String query="SELECT opcion,valor FROM tabla"; rs=statement.executeQuery(query); while (rs.next()){ %> <input type="radio" value="<%=rs.getString("valor")%>"> <%=rs.getString("opcion")%> </input> <br>
<% } //cierre del while rs.close(); st.close(); con.close(); } catch (Exception e){e.printStackTrace()} %> </body>
</html>
14
« en: Domingo 12 de Septiembre de 2004, 12:24 »
Hola, ¿donde demonios se abre la consola en este tomcat? En el 4.1 te salía la ventanita de MSDOS que te iba mostrando los mensajes que se hacían con System.out.println() ¿Dónde veo eso con el nuevo? El monitor no parece tener ninguna opción para activar la consola. Gracias.
15
« en: Domingo 12 de Septiembre de 2004, 12:18 »
Si tienes IP estática, puedes hacer un apaño, te pillas un redireccionamiento gratuito a tu página principal (p.ej.: TU_IP:8080/index.html ) en una página de esas cosas como .es.vg o .tk y le puedes poner el nombre que quieras. Así cualquiera al que le des esa dirección podrá ver tu web mientras tengas Tomcat ejecutándose (igual que la pueden ver si les das tu ip)
16
« en: Viernes 10 de Septiembre de 2004, 17:10 »
Gracias amigos.
El libro en verdad buenísimo.
17
« en: Lunes 6 de Septiembre de 2004, 01:42 »
Buenas, estoy desarrollando una aplicación en la que me sería muy útil obtener datos de ficheros XML. Digamos por ejemplo que tengo un XML tan simple como el siguiente
<Personas> <nombre>Antonio</nombre> <nombre>Juan</nombre> <nombre>......</nombre> ..... </Persona>
Y desde una clase Java quiero obtener todos esos nombres para procesarlos. Me gustaría saber con qué librería se puede hacer esto. Gracias.
Páginas: [1]
|
|
|