Entradas

Resolviendo examenes

Imagen
Este post no tiene nada que ver con NetBeans ni Java, ni tecnología parecida. Me llegó un mail bastante divertido y me gustaría compartirlo. El problema de los exámenes son los profesores que no entienden las habilidades de uno: no entiendo por qué me puso cero, si la hallé! pero si la estuve expandiendo!     Aquí tuve un accidente.. y me desesperé "Profe, le juro que el elefante ya estaba ahí cuando me dió el examen!" Esta estaba regalada la respuesta.

Aprendiendo sobre Alcances de variables de Sesión en JSF

Imagen
(Versión Wiki: http://wiki.netbeans.org/AprendiendoSobreAlcancesJSF ) Introducción Sabemos que es un dolor de cabeza usar las variables de sesión a través de los objetos HttpSession y HttpRequest. No sabemos si una variable está en nivel de sesión o en nivel de request, simplemente lo ponemos y lo usamos, aunque después nos pueden dar problemas a lo largo de la aplicación Pero al usar JSF esto se hará mucho más sencillo. JSF nos permite utilizar tres tipos de alcances: Aplicación: Una variable guardada en este alcance es visible durante toda la aplicación, hasta que se repliegue la aplicación o hasta que se detenga el servidor. Sesión: Una variable guardada a nivel de sesión, puede ser visible durante el tiempo de vida del usuario en la aplicación, hasta que se invalide la sesión. Request : Una variable en nivel request dura solo hasta la siguiente página, Una página 1, guarda la variable en nivel request y redirecciona la petición a la página 2. La página 2 la utiliza, y el objet

Convirtiendo Date a String / String a Date

Podemos convertir un objeto fecha a String de varias maneras. Cada manera es un tipo de formato establecido por el JVM instalado en nuestro computador. Consideremos este ejemplo: Date d1 = new Date(); DateFormat[] dfa = new DateFormat[6]; dfa[0] = DateFormat.getInstance(); dfa[1] = DateFormat.getDateInstance(); dfa[2] = DateFormat.getDateInstance(DateFormat.SHORT); dfa[3] = DateFormat.getDateInstance(DateFormat.MEDIUM); dfa[4] = DateFormat.getDateInstance(DateFormat.LONG); dfa[5] = DateFormat.getDateInstance(DateFormat.FULL); for (DateFormat df : dfa) { System.out.println(df.format(d1)); } En mi caso, el resultado es: 09/02/09 10:29 AM 09/02/2009 09/02/09 09/02/2009 9 de febrero de 2009 lunes 9 de febrero de 2009 Notemos el resultado del formato obtenido por DateFormat.getInstance() . Es toda la fecha en formato corto, además de la hora. Mientras que si obtenemos el formato con DateFormat.getDateInstance() la fecha se muestra en formato medio (Podemos consultar la configuració

getParameter en JSF

En JSF todos los valores de los formularios se pasan por ManagedBeans (con más detalle lo veremos en el curso que está a punto de salir) Pero ¿qué pasa si queremos procesar una petición con parámetros? En Java web y Struts podemos acceder a los parámetros a través del objeto implícito "request", pero JSF no hay ese objeto implícito ¿qué se hace? Bueno, para acceder al objeto request debemos hacer lo siguiente: HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); A partir de allí, podemos usar el objeto request . Ahora, los nombres de los controles tendrán un ligero cambio. Estará compuesto por el "id" del formulario y del "id" del mismo control. Por ejemplo, consideremos este .jsp <h:form id="form0"> <h:outputLabel value="Escriba número:"/> <h:inputText id="numeroText" value="#{form.numero}" /><br/> ... Entonces, para acceder

Diferencias entre JSF puro, Woodstock y ICEfaces en NetBeans

Soy sincero para mi el mejor framework para web que conocí y trabajé era Struts 1, y no me quería pasar a JSF porque lo veía igual que Struts. NetBeans sacó su Visual Web que es un editor visual pero con JSF. Los componentes adicionales son del framework Woodstock. Aún así, no me atraía, porque no tenía el mismo control que lo tenia en Struts. Pero con la moda y ventajas de AJAX, mi pobre Struts me estaba dando algunos problemas, por lo que tuve que poner DWR, Dojo, y demás bibliotecas que hacían más pesada mi aplicación. Hace poco NetBeans anunció el cambio de Woodstock a ICEfaces. Así que, me aventuré a usarlo. La verdad lo veo mucho más sencillo, más ligero, y más completo. Con JSF, las aplicaciones son tan clásicas como los request/response en servlets y jsp, solo que le da un toque especial. El desarrollo de la aplicación web parece ser de una de escritorio, ya que se pueden  acceder a los controles como si fueran variables. Una diferencia bastante notable comparada a Struts. En S

CRUD con JSF usando ICE Faces

Imagen
(Versión wiki: http://wiki.netbeans.org/CRUDconVisualiceFaces ) Este tutorial permite guiar los pasos para realizar una simple aplicación que mantiene una tabla de una base de datos. Permite realizar Insert, Update y Delete (CRUD= Create / Read / Update / Delete) Además se considerará la funcionalidad importante de ICE faces, que es el uso de Ajax. Para ello lo realizaremos con lo siguiente: Java Development Kit 5 ó 6 NetBeans 6.5 con el Plugin VisualJSF, ICEFaces Design-Time and Run-Time Libraries , y ICEfaces Project Integration Glassfish V2 La base de datos ejemplo TRAVEL de JavaDB Creando la aplicación Diseñando la aplicación Creamos un proyecto web presionando Mayúscula+Ctrl+N. Será una aplicación web que tendrá por nombre InsertUpdateDelete , utilizará Glassfish y activamos la opción que necesitamos usar el Visual Web ICEfaces El editor habrá abierto el archivo Page1.jsp en modo diseño. Como una advertencia aparece un texto indicando que no se las paletas de Visual Java

Configurar NetBeans con WebLogic

Imagen
(Tomado de http://www.nabble.com/Netbeans-6.5-can't-add-Weblogic-10.3-server-td20002675.html ) Considerando que se tiene instalado WebLogic 10.3 en c:\oracle\Middleware\wlserver_10.3, el usuario es weblogic y su contraseña weblogic: 1. Abrir el archivo %HOME_PATH%\.netbeans\6.5\config\J2EE\InstalledServers\.nbattrs Es un archivo en formato xml 2. Agregar la siguiente etiqueta: <fileobject name="__instance_4__"> <attr name="debuggerPort" stringvalue="8787"/> <attr name="displayName" stringvalue="BEA WebLogic Server"/> <attr name="domainRoot" stringvalue="C:/oracle/Middleware/wlserver_10.3/samples/domains/wl_server"/> <attr name="isLocal" stringvalue="true"/> <attr name="password" stringvalue="weblogic"/> <attr name="registeredWithoutUI" stringvalue="false"/> <attr name="serverRoot" stringvalue=

Base de datos relacionales en Java: HSQLDB y Apache Derby (Parte 1)

Imagen
Hola a todos comenzaré este año con un post que quizás para algunos sea aburrido. Base de datos relacionales 100% Java. Ojo, no estoy diciendo que sean bases de datos orientados a objetos. Eso es otro tema. Sino, que son bases de datos relacionales (esos de Entidad-relación, tuplas, relaciones, columnas, claves foráneas, etc.) cuyo motor está hecho en Java. Por tanto, si queremos modificar algo de su funcionamiento, pues encontraremos el código en Java. No en C, ni C++, ni C#, sino en Java. Sabemos que los drivers de tipo 4 de JDBC se conectan directamente a la base de datos usando protocolos de red en java puro. Entonces, podemos suponer que usando bases de datos en java con jdbc en java, la conexión es mucho más directa, y se accede a los datos sin intermediarios. Bueno, es solo una suposición personal. En este post comentaré de dos RBDMS en Java muy conocidos y usados: HSQLDB y Apache Derby . Haremos ejemplos usando NetBeans 6.5, aunque también funcionará en NetBeans 6.1. Comenzar