Category: JSP


Arrancar Servidor Remoto en Netbeans

Aveces es necesario que nuestro ambiente de desarrollo no siempre se realiza en su totalidad localmente, ya sea por lineamentos del proyecto o sencillamente por que la maquina local no soportaria todo el trabajo que conlleva: desarrollo..despliegue..desarrollo…despliegue (tioempos eternos para que realice esto)… .. .. es decir que seria muy pesado para estar haciendo esto y tendriamos demasiado tiempo muerto..u otra razon es por ejemplo..lo que me sucedio… que una maquina muy potente por razones que no encontre con mi amigo Google, al arrancar el glassfish del Netbeans..paraba toda la maquina..nula!..y me sucedia con todas las versiones de Netbenas (6.7,6.8,6.9,7.0).

Por esta razon decidi instalar un ubuntu server (eno¿ otra maquina) para instalar en ella glassfish v3 y llamarlo desde mi Netbeans para el despliegue “local” de lo que se esta desarrollando. Para ello segui la instalacion normal de Ubuntu y la instalacion normal del glassfish (si desean revisarla esta aca).. despues de ello debi añadir en Ubuntu:

asadmin enable-secure-admin

Esta linea habilita la seguridad (https) al acceder al administrador de glassfish…este acceso debe estar habilitado para que netbeans pueda ingresar..de lo contrario tendran el error al configurarlo: “failed for __locations on Glassfish Server.  Have you run the enable-secure-admin command? ”

Despues se puede seguir el asistente para agregar un servidor en Netbeans:

1. Ecoger directorio de instalacion: pueden escoger el local..o la instalacion en mi caso de Ubuntu configurado por samba.

2. en el segundo paso escogemos el raddiobutton que dice:Register Remote Domain .. alli se debe poner la dirección IP o nombre del host o dominio… y el puerto de configuración de administrador.

3. Finalizar y listo!

Luego en la pestaña de services observamos como el servidor añadidio.. y si damos clic derecho no se puede hacer: start, restart, stop..esto es a que estamos apuntando a un servdior externo, y por ello en properties no podemos ver tampoco el domain. Es por esta razon que nos debemos asegurar que el servidor se encuentre arriba! (si hasta ahora se habilito el comando de seguridad … deben reinciar el servidor Glassfih externo para que tenga efecto).

Y Listo!! ya pueden hacer sus desarrollos y desplegar. De todas formas deben terner en cuenta que de esta forma..cada cambio que hagan y deseen revisar (asi solo un cambio en una pagína JSP)..deben redesplegar toda la aplicación…  

Posibles problemas:

– El Glassfish sube muy bien!..pero al desplegar una aplicación desde nuestro netbeans apuntandole al servidor remoto de glassfish.. tal vez les sale un mensaje como el siguiente: org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac.  A full JDK (not just JRE) is required ..las razones pueden ser: 1- como dice el mensjae donde esta el glassfish posee instalado el jre y no el jdk  ó 2- el glassfish no encuentra exactamemente donde esta el jdk …las soluciones, para el primer caso es hacer la instalación del jdk, para el segundo caso, deben configurar el archivo: asenv.conf (en el caso de linux) ó asenv.bat (en el caso de windows)..al final del archivo le deben añadir:

AS_JAVA  =”directorio d einstalación de Java (jdk)”   .. reinician Glassfish y listo.

Anuncios

Este es un webinar propio de ICEfaces gratuito, este es el mensaje de ICEfaces:

“Taller de migración a ICEfaces 2 Si está comenzando a desarrollar una aplicación basada en ICEfaces 1.8 o ya dispone de una completa pero le gustaría migrar a ICEfaces 2, ¡este taller de una hora es para usted! Durante el transcurso del taller estudiaremos las últimas características y mejoras en ICEfaces 2 y en JSF 2, además de mostrar en detalle los pasos necesarios para migrar su aplicación. Finalizaremos con una demostración en vivo de cómo portar una aplicación existente de ICEfaces 1.8 a ICEfaces 2.0.

Al final del webinar responderemos a las dudas que hayan podido surgir durante su desarrollo.

Title: Taller de migración a ICEfaces 2

Date: Wednesday, March 30, 2011 Time: 4:00 PM – 5:00 PM CEST

Space is limited.

Reserve your Webinar Seat Now!

Link de Registro

En ocaciones en el desarrollo de presentación de una aplicación necesitamos hacer validaciones en la presentación, como por ejemplo dadas unas condicones XY renderize un boton ó muestre un link, etc. para este tipo de cosas debemos usar valores booleanos ‘true’ or ‘false’ con el tag render..por ejemplo <h:commandButton value=”valor” action=”#{myBean.accion}” rendered=”false” /> ..con esta linea construimos un boton con label “valor” que no se va mostrar debido a que rendered esta en false (es decir no mostrar).

Algunas veces no es suficiente una variable booleana para decidir este tipo de cosa,es necesario hacer comparaciones logicas que den como resultado un booleano. Por ejemplo un link que muestre un reporte se muestre siempre y cuando el rol del usuario es admon ó gerente, y se oculta en cualquier otro caso. EL ( Expression Language ) nos permite una serie de literales, operadores y palabras reservadas para este tipo de acciones:

Literales

  • Boolean: true and false 
  • Integer: como en Java 
  • Floating point:como en Java  
  • String: con simple o dobles comillas; "es escape como \", ‘ es escape como\‘,y\es escape como\\
  • Null: null 

Operadores

  • Arithmeticos: +, - (binary), *, /, div, %, mod, - (unary) 
  • Logicos: and, &&, or, ||, not, ! 
  • Relationales: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le. Comparisones pueden ser echas sobre otrosvalores o tambien booleans, string, integer, or floating point literals. 
  • Empty: Puede ser usado para determinar si es un valor null o empty. 
  • Conditional: A ? B : C. Evalua B or C, dependiendo sobre el resultado de evaluacion de  A

Los siguientes operadores de “mayor” o “menor”, derecha a isquierda como los siguientes:

  • [] . 
  • ()  (changes precedence of operators) 
  • - (unary) not ! empty 
  • * / div % mod 
  • + - (binary) 
  • < > <= >= lt (lower than) gt (greater than) le (lower than or equal) ge  (greater than or equal) 
  • == != eq (equal) ne (not equal)  
  • && and 
  • || or 
  • ? :

Por ejemplo si deseamos mostrar un boton de una lista de archivos que vamos a procesar siempre y cuando el identificador del formato sea diferente de 99991 y 99992 y que el estado de este archivo sea verdadero:

<h:commandButton immediate="true" value="Procesar" rendered="#{formato.estado and ( (formato.idFormato ne '99991') and (formato.idFormato ne '99992'))}" action="#{accionesBBean.cargarFormato}" />

En el rendered esta validando: si formato.estado es ‘true’ o ‘false’  Y (por el and) ,un parentesis que agrupa las siguientes validaciones:  si el formato.id No es igual a 99991 Y formato.idFormato No es igual 99991….este tipo de validaciones es recomendable hacerlas en lo que refiere a la logica del negocio..es un ejemplo como poder sacar provecho de lo que ofrece EL.

Recomiendo los siguientes links, para revisar más ejemplos de validación con EL:

http://developers.sun.com/docs/jscreator/help/jsp-jsfel/jsf_expression_language_intro.html

 http://www.java-samples.com/showtutorial.php?tutorialid=550 http://gentle.compilertools.net/book/relations.html  –>Este es como para comprender más el uso y funcionamiento de ge,gt,lt,le

 http://desarrollandoideas.com.ar/2008/08/14/jsf-expression-language-el/  http://mediawiki.uca.es/index.php/JSF …jsf general

 http://courses.coreservlets.com/Course-Materials/pdf/jsf/04-Expression-Language.pdf ..detalle de Expression Language