| ||||
| Tema: Java Principiante Pregunta: Que es Java y para que sirve?? Respuesta: Java es un lenguage de tipo general, es decir, puedes programar cualquier cosa con el, desde un sistema operativo, hasta un pequeña aplicacion de consola. Es muy usado en el ambito WEB y de las redes, por sus capacidades nativas de comunicacion y seguridad. Java ademas puede ser ejecutado desde dispocitivos moviles como celulares y PDA's, tambien se puede encontrar en televisores, microhondas y practicamente en lo que se te ocurra.
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Arreglos Pregunta: Como puedo declarar un arreglo?? Respuesta: Los arreglos en Java se tratan como los objetos, es decir, para inicializar un arreglo debes emplear la misma metodologia que usas para iniciar una instancia de una clase Ejemplo: Código PHP:
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Java Basico Pregunta: Como debo hacer compraciones de igualdad entre Cadenas?? Respuesta: En Java los tipos String son objetos y no tipos primitivos, por ende no se pueden comparar con 2 signos iguales de esta forma ==, en vez de ello existe un metodo llamado equals() que es usado para esta funcion. Ejemplo: Código PHP:
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Java Configuracion Pregunta: ¿Como seteo el PATH y para que sirve? Respuesta: Setear el PATH en tu maquina sirve para que esta sepa donde debe buscar los programas que no encuentra o desconoce. Tener seteado en PATH de nustra maquina la ruta al \bin\ del JDK sirve para poder compilar y ejecutar nuestros programas Java desde la consola estando parados en cualquier directorio o disco local de nuestro PC, y no debemos llevar nuestros .java al \bin\ del JDK para compilalro y ejecutarlos. Para setear nuestro path basta con abriri una sonsola (ventana DOS) o como prefieran llamarle y escribir esto SET PATH = %PATH%;<RUTA_AL_BIN> Donde <RUTA_AL_BIN> debes reemplazarlo pro la ruta completa a nuestro \bin\ del JDK, por ejemplo, en mi caso tengo instalado la version 1.4.2_03 del J2SE y se encuntra en la carpeta C:\j2sdk1.4.2_03\ entonces para setear mi PATH debo escribir esto SET PATH = %PATH%;C:\j2sdk1.4.2_03\bin el %PATH% significa que estoy agrenado ademas todas las rutas del PATH actual, es como decir en Java por ejemplo String path = "algo"; path = path + "otro algo"; es decir, sirve para no perder lo que ya habia en el. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Configuracion Pregunta: Por que no me funcionan las aplicaciones Java en mi winXP? Respuesta: La razon es pq al momento de salir al mercado windows XP, Microsoft tenia algunos problemas con SUN, la empresa propietaria de la tecnologia Java, por lo cual nustro tio decidio no colocar la Maquina Virtual de Java (JVM) en su nueva distribucion de windows, por ende, cualquier programa en Java no podria funcionar por el hecho de no existir dicha JVM. Claro, luego los tribunales obligaron a M$ a volver a incluirla, pero lamentablemente la mayoria de las distribuciones que nos llegan son de la epoca en cuando esta no venia incluida. Para solventar dicho problema debemos bajarnos la JVM o tambien conocida como J2RE desde el sitio oficial de SUN http://java.sun.com, cabe destacar que es completamente gratuita.
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Base de datos MySQL Pregunta Como puedo conectarme a MySQL Respuesta Necesitas tener el driver JDBC que es el que se utiliza para hacer conecciones y query's a nuestra base de datos MySQL , puedes bajarlo desde aqui: http://www.mysql.com/products/connector/j/ Necesitas actualizar tu classpath, en el editor que estes usando o directamente desde la consola, una vez instalado correctamente, puedes usar este codigo para darte una idea.
Código:
import java.sql.*;
public class coneccionMySql
{
static String bd = "myDataBase";
static String login = "user";
static String password = "mymegapassword";
static String url = "jdbc:mysql://localhost/" + bd;
public static void main(String[] args)throws Exception
{
Connection conn = null;
try
{
//ESTABLECEMOS LA CONECCION
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url,login,password);
if (conn != null)
{
System.out.println("Conexión a base de datos " + url + " ... Ok");
//HACEMOS UNA CONSULTA
Statement stmt = conn.createStatement();
ResultSet res = stmt.executeQuery("SELECT * FROM carreras");
while(res.next())
{
String Id = res.getString("Id");
String Carrera = res.getString("Carrera");
String Facultad= res.getString("Facultad");
System.out.println(Id +" \t "+Carrera+" \t "+Facultad);
}
res.close();
stmt.close();
conn.close();
}
}
catch(SQLException ex)
{
System.out.println("\n\nHubo un error : "+ex);
}
catch(ClassNotFoundException ex)
{
System.out.println("\n\nHubo otro error!!, no se encontro el driver, revisa tu ClassPath :(\n");
System.out.println(ex);
}
}
}
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 08/02/2006 a las 20:29 |
| ||||
| Tema: Capturar desde el teclado en modo consola Pregunta: Como puedo capturar caracteres desde el teclado en Java?? Respuesta: Las instrucciones System.in.read(); nos permite leer entradas desde el teclado en codigo ASCII, mediante un ciclo capturamos los caracteres introducidos hasta que se presione la tecla ENTER, almacenandolos en un STRING, ya despues, depende lo que necesitemos, lo caovertimos a Integer, Double, etc... basicamente es lo que hace la siguiente clase :)
Código:
compila la clase, si lo notaste los metodos son de tipo "static", entonces, no es necesario creear objeto de esta clase, unicamente pon el archivo .class en la misma carpeta que tu aplicacion.import java.io.*;
import java.util.*;
public class MeterDatos
{
public static String readLine()
{
char nextChar;
String result = "";
boolean done = false;
while (!done)
{
nextChar = readChar();
if (nextChar == '\n')
done = true;
else if (nextChar == '\r')
{
//Do nothing.
//Next loop iteration will detect '\n'
}
else
result = result + nextChar;
}
return result;
}
public static String readLineWord()
{
String inputString = null,
result = null;
boolean done = false;
while(!done)
{
inputString = readLine();
StringTokenizer wordSource =
new StringTokenizer(inputString);
if (wordSource.hasMoreTokens())
{
result = wordSource.nextToken();
done = true;
}
else
{
System.out.println("Your input is not correct. Your input must");
System.out.println("contain at least one nonwhitespace character.");
System.out.println("Please, try again. Enter input:");
}
}
return result;
}
public static int readLineInt()
{
String inputString = null;
int number = -9999;//To keep the compiler happy.
//Designed to look like a garbage value.
boolean done = false;
while (! done)
{
try
{
inputString = readLine();
inputString = inputString.trim();
number = (Integer.valueOf(inputString).intValue());
done = true;
}
catch (NumberFormatException e)
{
System.out.println(
"Your input number is not correct.");
System.out.println("Your input number must be");
System.out.println("a whole number written as an");
System.out.println("ordinary numeral, such as 42");
System.out.println("Please, try again.");
System.out.println("Enter a whole number:");
}
}
return number;
}
public static long readLineLong()
{
String inputString = null;
long number = -9999;//To keep the compiler happy.
//Designed to look like a garbage value.
boolean done = false;
while (! done)
{
try
{
inputString = readLine();
inputString = inputString.trim();
number = (Long.valueOf(inputString).longValue());
done = true;
}
catch (NumberFormatException e)
{
System.out.println(
"Your input number is not correct.");
System.out.println("Your input number must be");
System.out.println("a whole number written as an");
System.out.println("ordinary numeral, such as 42");
System.out.println("Please, try again.");
System.out.println("Enter a whole number:");
}
}
return number;
}
public static double readLineDouble()
{
String inputString = null;
double number = -9999;//To keep the compiler happy.
//Designed to look like a garbage value.
boolean done = false;
while (! done)
{
try
{
inputString = readLine();
inputString = inputString.trim();
number = (Double.valueOf(inputString).doubleValue());
done = true;
}
catch (NumberFormatException e)
{
System.out.println(
"Your input number is not correct.");
System.out.println("Your input number must be");
System.out.println("an ordinary number either with");
System.out.println("or without a decimal point,");
System.out.println("such as 42 or 9.99");
System.out.println("Please, try again.");
System.out.println("Enter a whole number:");
}
}
return number;
}
public static float readLineFloat()
{
String inputString = null;
float number = -9999;//To keep the compiler happy.
//Designed to look like a garbage value.
boolean done = false;
while (! done)
{
try
{
inputString = readLine();
inputString = inputString.trim();
number = (Float.valueOf(inputString).floatValue());
done = true;
}
catch (NumberFormatException e)
{
System.out.println(
"Your input number is not correct.");
System.out.println("Your input number must be");
System.out.println("an ordinary number either with");
System.out.println("or without a decimal point,");
System.out.println("such as 42 or 9.99");
System.out.println("Please, try again.");
System.out.println("Enter a whole number:");
}
}
return number;
}
public static char readLineNonwhiteChar()
{
boolean done = false;
String inputString = null;
char nonWhite = ' ';//To keep the compiler happy.
while (! done)
{
inputString = readLine();
inputString = inputString.trim();
if (inputString.length() == 0)
{
System.out.println(
"Your input is not correct.");
System.out.println("Your input must contain at");
System.out.println(
"least one nonwhitespace character.");
System.out.println("Please, try again.");
System.out.println("Enter input:");
}
else
{
nonWhite = (inputString.charAt(0));
done = true;
}
}
return nonWhite;
}
public static boolean readLineBoolean()
{
boolean done = false;
String inputString = null;
boolean result = false;//To keep the compiler happy.
while (! done)
{
inputString = readLine();
inputString = inputString.trim();
if (inputString.equalsIgnoreCase("true")
|| inputString.equalsIgnoreCase("t"))
{
result = true;
done = true;
}
else if (inputString.equalsIgnoreCase("false")
|| inputString.equalsIgnoreCase("f"))
{
result = false;
done = true;
}
else
{
System.out.println(
"Your input number is not correct.");
System.out.println("Your input number must be");
System.out.println("one of the following:");
System.out.println("the word true,");
System.out.println("the word false,");
System.out.println("the letter T,");
System.out.println("or the letter F.");
System.out.println("You may use either uppercase");
System.out.println("or lowercase letters.");
System.out.println("Please, try again.");
System.out.println("Enter input:");
}
}
return result;
}
public static char readChar()
{
int charAsInt = -1; //To keep the compiler happy
try
{
charAsInt = System.in.read();
}
catch(IOException e)
{
System.out.println(e.getMessage());
System.out.println("Fatal error. Ending Program.");
System.exit(0);
}
return (char)charAsInt;
}
public static char readNonwhiteChar()
{
char next;
next = readChar();
while (Character.isWhitespace(next))
next = readChar();
return next;
}
}
para usarla solamente seria asi: String mytext = MeterDatos.readLine(); double myVar = MeterDatos.readLineDouble(); etc....
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 18/03/2005 a las 14:08 |
| ||||
| Tema: Exception's Pregunta: Como manejo las Exepciones y que son?? Respuesta: Las Exceptions son lanzadas por algunos metodos, y se lanzan cuando sucede algun error con el metodo, por ejemplo cuando una Base de Datos no se conecta correctamente o cuando no encuentra una tabla en la base de datos, etc.... los metodos lanzan exepciones que nos avisan que a ocurrido mal, cuando ocurre esto, tenemos 2 alternativas, Relanzarlas o Capturarlas, si las queremos relanzar pues no sabriamos que sucedio, en cambio si las capturamos podemos mostrar el error o mandar un mensaje en especifico. Para relanzar las exeception unicamente le agregamos throws Exception al metodo. Código PHP: Código PHP: -------- Agosto 15, 2006 ----------- Cabe mencionar que tambien podemos capturar diferentes errores, y desplegar diferentes mensajes o realizar otras cosas, dependiendo del error generado, en los ejemplos anteriores unicamente he puesto Exception, pero tembien existen clases que extienden de esta y que son mas especificas, como por ejemplo ClassNotFoundException, IOException,BadLocationException, etc... y todas estas heredan de la superclase Exception, ahora bien para capturar una por una lo hacemos asi: Código PHP: -------- Febrero 8, 2006 ----------- Es importante mencionar que el bloque finally Siempre se ejecuta, independientemente de que se ocacione un error o no, esto es muy util cuando trabajamos con base de datos, pues nos aseguramos de cerrar la conexion a la DB y no dejarla abierta.
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 15/08/2006 a las 15:14 Razón: Anotaciones extras |
| ||||
| Tema: Archivos Pregunta: Como puedo escribir y leer un archivo?? Respuesta: Para poder escribir o leer un archivo, usamos la clase FileWriter para escribir y FileReader para leer el contenido, despues creamos unos buffers para poder extraer el contenido o bien para escribir el contenido, tal y como se muestra en el codigo siguiente. Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Socket's Pregunta: Como hagouna conexion UDP ?? Respuesta: Una conexion UDP es para establecer una comunicacion, no es necesario establecer una conexion entre las dos maquinas para enviar el mensage, la maquina puede enviar el mensage y no se serciora de que halla llegado, solo lo envia a una IP especificada y si esa IP estaba escuchando el puerto, entonces llegara correctamente el mensage, sino el paquete se perdera, el siguiente ejemplo es un Chat en modo consola: Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Socket's Pregunta: como hago una conexion TCP ?? Respuesta: Una conexion TCP necesita establecer primeramente la conexion entre el cliente y el servidor, donde el servidor estara corriendo y escuchando a un determinado puerto al que el cliente se conectara, cuando la conexion se establece correctamente entonces el cliente manda un mensage y el servidor le responde deacuerdo a lo que halla recibido, Este es un ejemplo muy simple de una coneccion TCP: El Servidor: Código PHP: Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 09/06/2005 a las 10:51 |
| ||||
| Tema: Seguridad Pregunta: Algun algoritmo para encriptar passwords?? Respuesta: Existen varios algoritmos para encriptar passwords o algun otro texto, el siguiente codigo es el Blowfish, con este podemos encriptar y desencriptar passwords, es muy rapido y seguro unicamente especificamos una KEY, para encriptar, y para desencriptar usamos la misma KEY con la que encriptamos. Código PHP: String txtEncriptado = Blowfish.encriptar("mipassword","estaeslallave");
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 28/06/2005 a las 23:15 |
| ||||
| Tema: Seguridad Pregunta: Algun otro algoritmo para encriptar?? Respuesta: Un algoritmo mas es el MD5 este algoritmo unicamente encripta, osea que una vez encriptado no puedes desencriptarlo, este algoritmo es muy usado para encriptar passwords de usuarios por ser muy seguro, a continuacion la clase para encriptar con MD5 Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Wrappers Pregunta: que son los wrappers y para que sirven?? Respuesta: Mediante los Wrapper's se puede manipular los tipo de datos nativos de java como Objetos, usando metodos definidos para cada Wrapper. Nativo Wrapper int -> Integer char -> Character byte -> Byte float -> Float double -> Double short -> Short long -> Long la forma de declararlos o mejor dicho instanciarlos es exactamente igual como cualquier otro objeto, ejemplo: Integer num = new Integer("12456"); Double dNum = new Double("1234.3456"); instanciando estos objetos ahora podemos usar los metodos que estos contienen como por ejemplo para comparar dos enteros seria asi Código PHP: http://java.sun.com/j2se/1.5.0/docs/...age-frame.html cabe mencionar que los String's son wrappers u objetos :)
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Pregunta: Como puedo saber la fecha del sistema?? Respuesta: usamos la clase Date para optener la fecha actual del sistema, luego con la clase SimpleDateFormat le especificamos en que formato queremos la fecha, y despues simplemente la imprimimos. Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Net Pregunta: Como puedo hacer una peticion a un servidor HTTP?? Respuesta: la clase URL nos permitira hacer esto, primero la instanciamos pasandole un String con la direccion donde queremos recibir el contenido ej: http://www.yahoo.com despues abrimos un Stream, creamos un StreamReder para instanciar a un BufferReader que sera el que recibira la respuesta del servidor. Código PHP: Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 08/06/2005 a las 19:11 Razón: Anotaciones Extras |
| ||||
| Tema: Fechas Pregunta: Como obtener la fecha del sistema?? Respuesta: Con la clase Date obtenemos la fecha actual del sistema Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| |||
| Tema: Fechas Pregunta: Como obtener la fecha del sistema?? Respuesta: Con la clase Calendar obtenemos la fecha actual del sistema Código PHP:
__________________ Dios creo un equipo perfecto a los demas los lleno de extranjeros |
| ||||
| Tema: DataBase's Pregunta: Como conectarse usando ODBC ?? Respuesta: Primero necesitas crear un DSN, las conexiones ODBC son mas lentas que las JDBC, pero si quieres conectarte con ODBC, primero creamos un DSN, vamos a Start -> Control Panel -> Administrative Tools -> Data Sources (ODBC) y en la pestaña user DSN presionas el boton ADD... y seleccionas el tipo de base de datos a usar, en este caso ACCESS, luego seleccionas el URL donde esta hubicada tu DB, presionas OK, OK, OK hasta que tremines de cerrar todas las ventanitas que se habrieron :) luego este es codigo necesario para hacer la conexion: Código PHP:
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 08/06/2005 a las 19:14 |
| ||||
| Tema: Package's Pregunta: Que son los Paquetes?? Respuesta: Cuando desarrollamos algun proyecto generalmente es necesario crear paquetes para tener una buena organizacion del proyeto y sea facil de mantener y entender, los paquetes nos sirven para agrupar clases que generalmente usamos en nuestros sistemas. JAVA cuenta con muchos paquetes como por ejemplo java.util.* donde encontramos muchas utilerias, java.lang.* donde estan los wrappers y algunas cosas mas.... puedes ver todos los paquetes disponibles en el API de JAVA en esta direccion http://java.sun.com/j2se/1.3/docs/api/ Fisicamente los paquetes son carpetas donde se encuentran nuestras clases asi si creamos un paquete llamado primerpaquete la crpeta que contenga las clases tambien se llamara asi, si usas eclipse, entonces eclipse las crea por ti. ahora ya que creamos nuestros paquetes creamos nuestras clases donde en la primera linia de esta clase debe tener esta intruccion: package nombredelpaquete; luego ya programamos todo lo que querramos, y guardamos esta clase dentro de la carpeta que en este caso se llamara nombredelpaquete. OK, ahora ya que tenemos nuestras clases en sus respectivas carpetas necesitamos decirle al compilador donde estan nuestros paquetes, para ello necesitamos modificar los classpath. Para hacerlo depende del editor que uses o bien desde la consola unicamnete asi: javac -classpath .;c:\uso\afq\classes;c:\proyeto1\paquetes\ y estara listo, luego en nuestras clases llamamos nuestros paquetes asi: import nombredelpaquete.*; El uso de paquetes es muy frecuente en aplicaciones de J2EE donde usamos sevlets, clases, JSP's en estos casos nuestros paquetes tienen que estar aqui: WEB-INF/clases/ ahi es donde estaran todos nuestros paquetes :)
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 10/06/2005 a las 16:18 |
| ||||
| Tema: Estructura de datos Pregunta: Que es una Pila(Stack) y como hacerla en JAVA?? Respuesta: Ok, una pila es una estructura de datos la cual consta de dos métodos uno denominado PUSH y otro llamado POP. El primer método (push) es con el que insertaremos nodos a la pila, una pila se construye como una torre, los primeros "bloques" (nodos) que agregamos serán los últimos en ser quitados, ósea que vamos ir quitando el que este en la cima, o el ultimo en ser agregado!! por Ejemplo 8 -> 3 -> 7 -> 2 -> 9 -> 4 -> null ^ Raiz (root) en ese ejemplo el primer elemento en ser agregado fue el 8 y el ultimo fue el 4, si quisiéramos agregar otro elemento a la pila seguiría después del 4. Pero si queremos sacar un elemento, el único que podemos sacar para este caso es el 4 y nuestra pila quedaría así: 8 -> 3 -> 7 -> 2 -> 9 -> null ^ Raiz (root) Ok, ahora bien teniendo claramente el concepto de PILA, pasemos a JAVA, vamos a crear una clase llamada NODO el cual va a contener el un entero y un "puntero" al siguiente nodo o elemento de la pila nuestro ejemplo anterior contiene 5 nodos. la clase quedaría algo así: Código PHP: Código PHP: Código PHP: Tambien podemos aplicar el concepto de PILA usando arreglos, pero estariamos limitados a un numer N, en cambio esta aplicacion que acabamos de hacer no tenemos limite alguno :) Pues bien esto a sido todo por ahora!! Espero que me halla explicado bien!! Hasta la proxima!!
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 15/06/2005 a las 08:50 Razón: Comentarios Extras |
| ||||
| Tema : Estructura de datos Pregunta que es una cola?? Respuesta : Una Cola es una estructura de datos de tipo FIFO (First In First Out) ósea que el primero que llega es el primero que sale. Tiene un método para agregar a la cola PUSH y otro para sacar de la cola POP. El concepto de cola es muy sencillo y seguramente tu ya lo sabes, pro ejemplo cuando hacemos una cola para comprar boletos en el estadio, te formas y esperas tu turno, es igual con esta estructura. 2 -> 8 -> 1 -> 5 -> 3 -> 9 ->Null ^ Root En el ejemplo anterior el primer numero en llegar fue el 2, y el ultimo el 9, si quisiéramos introducir otro elemento a la cola tendría que ir detrás del 9, ahora bien tomando en cuenta el concepto de cola si queremos sacar un elemento, forzosamente es el 2 y la cola quedaría así: 8 -> 1 -> 5 -> 3 -> 9 ->Null ^ Root Ok, una vez comprendido el concepto, pasemos con JAVA !! lo que vamos a ahcer es crear 3 archivos en la misma carpeta (para no hacer paquetes), Nodo.java, Cola.java e Implementa.java.Nodo.java esta clase es donde almacenaremos los umeros y el puntero o referencia al siguiente NODO: Código PHP: Código PHP: Código PHP: ![]() have funn
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Servlets/JSP - Sessiones Pregunta: ¿Por que el identificador de session funciona en algunos navegadores y en otros no? ¿Como evito que la session se maneje con cookies si el usuario no las acepta? Respuesta: El motor de servlets intenta utilizar cookies para seguir la traza de ID de session. En la respuesta HTTP escrita por un servlet que creó una session se encuentra una cabecera Set-Cookie con el ID de session en una cookie llama JSESSIONID Set-Cokkie: JSESSIONID=rkbg6z27j1;Path=/jspr Si el cliente acepta la cookie, luego la devuelve en las peticiones posteriores: Cookie: JSESSIONID=rkbg6z27j1 Si esto ocurre, la petición del cliente puede ser asociada a la session sin más consideraciones por parte del servlet. Pero si el cliente no acepta las cookies, se pierde la session. Para evitar esto, la API del servlet tiene un mecanismo de retirada (fallback). Si fallan las cookies, utiliza la reescritura de URL. Esto es un poco más complicado para el programador por que significa que todas las direcciones URL escritas por el servlet deben llevar añadido el ID de session. Pero como esto es innecesario y costoso si el cliente acepta las cookies, la reescritura de URL debe realizarse sólo si se sabe a ciencia cierta que el método de las cookies falla. Afortunadamente, la API del servlet tiene métodos que encapsulan toda esta lógica. La clase HttpServletResponse tiene los métodos encodeURL() y encodeRedirectURL(), que añaden el ID de session a una dirección URL sólo si es necesario: String miURL = response.encodeURL("/servlet/nextServlet"); out.println("Haz clic <a href='" + miURL + "'> AQUI</a> para continuar"); Debe utilizarse encodeRedirectURL() con todas las direcciones URL pasadas al método response.sendRedirect() y encodeURL() con todas las demás. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
| Tema: Estructura de datos Pregunta: Que son y como se comen las Lista dinámicas simples?? ![]() Respuesta: Ok, pongo este FAQ para beneficio de todos!! Una lista simple es una estructura de datos donde los elementos de esta están enlazados en forma secuencial, a diferencia de las pilas y las colas, puedes acceder a cualquier elemento de la lista. Para agregar nuevos elementos ala lista hay diferentes maneras, por ejemplo puedes agregar un elemento al final o al principio de la lista, o también siguiendo un orden ascendente o descendente de los elementos, en fin, eso depende de lo que necesites hacer con las listas, el criterio de acceso también es de acuerdo a las necesidades. Lo que haremos en esta ocasión será hacer una lista con la opción de agregar nodos al final, podremos sacar los nodos dándole el numero de nodo que querremos sacar, un método para imprimir la lista, un método que nos dirá cuantos nodos tenemos, un método que eliminara un nodo de la lista. OK, aquí los métodos: add(Nodo nodo) -> Agrega nodos al final de la lista get(int index) -> Obtener el nodo de acuerdo al indice requerido size() -> nos dira el numero de nodos que hay en la lista print() -> imprimira la lista remove(int index) -> Eliminara un nodo de la lista Ok, nuestra lista será algo asi: 7 -> 2-> 5 ->1 -> null ^ Root Si queremos agregar el número 10, la lista quedaría así: 7 -> 2-> 5 ->1 -> 10 -> null ^ Root Ok, pasemos a JAVA, vamos a lista con información de clientes. Aquí el Nodo.java Código PHP: OK, ahora hagamos la lista.java Código PHP: ahora, vamos a hacer una aplicacion que utilice nuestra lista, Implementa.java Código PHP: have funnnnnnnnn
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 24/03/2006 a las 12:12 |
| ||||
| Como sumar y restar fechas Tema Fechas en JAVA PreguntaComo sumarle o restarle dias a una fecha RespuestaEs facil de realizar con el GregorianCalendar de JAVA y su evento .add('fecha','numero de dias a sumarle a la fecha') Ejemplo Código PHP: Espero les haya servido......... |
| ||||
| Tema: NET Pregunta: como mandar correos con JAVA? ![]() Respuesta: Para el envio de correos electronicos, primeramente necesitamos un servidor de correo ya sea SMTP, POP, IMAP, MIME, etc... para esta FAQ vamos a usar un SMTP, QMail que corre en un Gentoo, si quieres usar este mismo, pues aqui un tutorial de instalacion http://gentoo-wiki.com/HOWTO_Setup_Q...r_Mail_Servers sobre gentoo por supuesto!!. OK, una vez instalado tu SMTP puedes usar las librerias para el envio de correos desarrolladas por la SUN, el JavaMail y la de JavaBeans, los cuales los puedes conseguir aqui: http://java.sun.com/products/javamail/ http://java.sun.com/products/javabeans/glasgow/jaf.html ok, luego de esto, metemos a nuestro classpath estas dos librerias, luego puedes usar el siguiente codigo para darte un ejemplo: Código PHP: Código PHP: have funnnnnnnnnnnn
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 24/02/2007 a las 19:41 |
| ||||
| Tema: Java 2D Pregunta: Como puedo generar Thumbnails en java?? ![]() Respuesta: Bueno, primero te explico que un Thumbnail es una pequeña imagen generada de una de mayor tamaño, son para visualizar muchas imagenes en tamaño pequeño. Con JAVA esto es posible porsupuesto , acontinuacion voy a poner una clase que es la encargada de hacer el trabajo, despues pondre la implementacion de dicha clase.he puesto comentarios a las partes de codigo mas importante ![]() Código PHP: ahora pongo la forma de uso. Código PHP: ![]() have funnnnnnnnnn
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" |
| ||||
| Tema: Java Principiante Pregunta: Cual es el formato o estructura de una clase? Respuesta: mmmmmm mejor vemos el codigo ![]() Código PHP: ![]() have funnnnnnn!!
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 19/02/2006 a las 19:23 |
| ||||
| Tema: Java Principiante Pregunta: Como instalar JAVA? Respuesta: Esto es lo primero que debemos hacer cuando queremos comenzar en el mundo de JAVA. Primero necesitamos descargar el J2SE (Java 2 Standard Edition) http://java.sun.com/j2se/1.4.2/download.html, aceptamos la licencia y seleccionamos la plataforma en la que desarrollaremos, Linux, Solaris, Windows, depende de tu sistema operativo. Supongamos que la bajaremos para Windows, seleccionamos entonces windows y esperamos a que se termine de descargar. Mientras esperamos, te voy a contar un poco de la historia y de como trabaja JAVA. Java surge en 1990 por su fundador James Gosling, en un principio Java fue desarrollado para dispositivos moviles, microondas, y otros dispositivos semejantes. En 1995 el internet comenzaba a crecer a grandes escalas, asi que Bill Joy decidio desarrollar Java para que pudiera funcionar en la red. Ala fecha Java es una tecnologia muy poderosa, aqui algunas caracteristicas de este lenguaje: - Multiplataforma - Orientado a Objetos - Codigo Reutilizable - Etc, etc... Bueno, algo importante que debes de saber, es que para lograr que Java sea un lenguaje multiplataforma, es gracias a la JVM (Java Virtual Machine), esta es la encargada de interpretar los byte-codes que se generan al compilar nuestros codigos fuentes. Excelente, ya termino la descarga, Ok procederemos a instalarla, aceptas la licencia, lo demas es siguiente, siguiente, esperas a que se termine de instalar y luego te pide reiniciar tu Ordenador. Ahora vamos a dar de alta la variable de entorno JAVA_HOME y a agregar en el PATH del sistema operativo el directorio donde esta el compilador, esto para que podamos compilar desde la consola. OK, si estas en windows xp, ve a Start ->My Pc-> Properties -> Advanced -> Enviroment Variables -> New, ahora escribe JAVA_HOME como name y en value pones la URL donde esta instalado el J2SDK, presionas OK. ahora localizamos la variable PATH y le damos Edit y al final del value, agregamos ;%JAVA_HOME%\bin al final de todos los que existen. Pues bien, ahora estamos listos para comenzar a aprender este lenguaje. saludos!!
__________________ Themes y Templates para ExtJS Instructor de JavaScript y ExtJS "Las ideas no sirven de nada si no se implementan" Última edición por stock; 28/05/2006 a las 21:28 |
| Etiquetas: |
Este tema le ha gustado a 30 personas (incluyéndote)
Este tema no le ha gustado a 6 personas