<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>luauf.com &#187; IDEs</title>
	<atom:link href="http://luauf.com/category/programacion/ides/feed/" rel="self" type="application/rss+xml" />
	<link>http://luauf.com</link>
	<description>Sistemas Operativos, Bases de Datos, Programación y Redes</description>
	<lastBuildDate>Mon, 14 May 2012 01:15:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Descompilar bytecodes de Java desde Eclipse</title>
		<link>http://luauf.com/2009/05/14/descompilar-bytecodes-de-java-desde-eclipse/</link>
		<comments>http://luauf.com/2009/05/14/descompilar-bytecodes-de-java-desde-eclipse/#comments</comments>
		<pubDate>Thu, 14 May 2009 09:00:31 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Bytecode]]></category>
		<category><![CDATA[Clases]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Codigo fuente]]></category>
		<category><![CDATA[compilar]]></category>
		<category><![CDATA[descompilador]]></category>
		<category><![CDATA[Descompilar]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[fuentes]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=944</guid>
		<description><![CDATA[JD-Core es una librería libre que reconstruye el código fuente de Java de uno o más bytecodes .class. Hace mucho tiempo habiamos hablado de DJ Java Decompiler, otra opción para los mismos fines....]]></description>
			<content:encoded><![CDATA[<p>JD-Core es una librería libre que reconstruye el código fuente de Java de uno o más bytecodes .class.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/05/java-decompiler.png"><img class="alignnone size-full wp-image-945" title="java-decompiler" src="http://luauf.com/wp-content/uploads/2009/05/java-decompiler.png" alt="java-decompiler" width="298" height="231" /></a></p>
<p>Hace mucho tiempo habiamos hablado de <a href="http://luauf.com/2008/04/09/descompilador-java/">DJ Java Decompiler</a>, otra opción para los mismos fines. Sin embargo JD-Core posee nuevas características, como anotaciones, generics o tipos &#8220;enum&#8221;, etc. además de ser más moderno.</p>
<p>Como si fuera poco JD-Core viene en dos sabores:</p>
<ul>
<li>Una aplicación Stand-Alone con GUI propia, <a href="http://java.decompiler.free.fr/?q=jdgui#downloads">JD-GUI</a>, disponible para Windows, Linux y Mac.</li>
<li>O como plugin para Eclipse, <a href="http://java.decompiler.free.fr/?q=jdeclipse#install">JD-Eclipse</a></li>
</ul>
<p><span id="more-944"></span>Si optamos por la segunda opción, debemos instalar el plugin de la forma clásica:</p>
<ul>
<li>Menú <strong>Help</strong>, opciones <strong>Software Updates</strong> \ <strong>Find and install&#8230;</strong></li>
<li><strong>Search for new features to install..</strong></li>
<li>Agregamos un nuevo sitio remoto, JD-Eclipse con la URL http://java.decompiler.free.fr/jd-eclipse/update y finalizamos</li>
<li>Luego seleccionamos el plugin JD-Eclipse, aceptamos términos y condiciones, esperamos la descarga y reiniciamos el IDE</li>
</ul>
<p>Luego, desde una ventana de navegación (navigator) estamos en condiciones de abrir cualquier bytecode .class y verlo como si fuera un fuente normal .java.</p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/05/14/descompilar-bytecodes-de-java-desde-eclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Integrar Subversion a Eclipse</title>
		<link>http://luauf.com/2009/02/24/integrar-subversion-a-eclipse/</link>
		<comments>http://luauf.com/2009/02/24/integrar-subversion-a-eclipse/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 06:00:26 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Repositorio]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=837</guid>
		<description><![CDATA[Casi un año atrás veíamos como integrar Subversion a NetBeans, en esta ocasión vía MundoGeek utilizaremos el plugin Subclipse para integrar Subversion a Eclipse. La intalación de Subclipse la haremos a través del...]]></description>
			<content:encoded><![CDATA[<p>Casi un año atrás veíamos como integrar <a href="http://luauf.com/2008/04/01/subversion-integrado-a-netbeans/">Subversion a NetBeans</a>, en esta ocasión vía <a href="http://mundogeek.net/">MundoGeek </a>utilizaremos el plugin <a href="http://subclipse.tigris.org/">Subclipse</a> para integrar <strong>Subversion</strong> a <strong>Eclipse</strong>.</p>
<p style="text-align: left;"><span id="more-837"></span>La intalación de Subclipse la haremos a través del propio <strong>sistema de actualizaciones de Eclipse</strong>, para esto seleccionamos la opción &#8220;<strong>Find and Install</strong>&#8221; del menú <strong>Help \ Software Updates</strong>. En el cuadro de diálogo que se despliega deberemos hacer clic sobre &#8220;<strong>Search for new features to install&#8230;</strong>&#8221; y presionar sobre Next. En la siguiente fase será necesario agregar un nuevo sitio para actualizaciones (&#8220;<strong>New Remote Site</strong>&#8220;). Se abrirá un nuevo pequeño diálogo donde agregaremos en la URL &#8220;http://subclipse.tigris.org/update_1.4.x&#8221;.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/new_remote_site.png"><img class="alignnone size-medium wp-image-838" title="new_remote_site" src="http://luauf.com/wp-content/uploads/2009/02/new_remote_site-270x300.png" alt="new_remote_site" width="270" height="300" /></a></p>
<p style="text-align: left;">Volviendo al diálogo anterior, marcamos nuestra fuente recién agregada y cliqueamos en &#8220;<strong>Finish</strong>&#8220;.</p>
<p style="text-align: left;">La siguiente ventana que se despliega nos permite seleccionar los plugin del sitio agregado, seleccionamos <strong>Subclipse</strong> y presionamos &#8220;<strong>Next</strong>&#8220;, donde luego de<strong> leer y aceptar los términos de la licencia</strong> del plugin, comenzará su descarga e instalación (también podriamos haber seleccionado algunos otros componentes interesantes como el &#8220;<a href="http://subclipse.tigris.org/graph.html">Revision Graph</a>&#8220;)</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/features_to_install.png"><img class="alignnone size-medium wp-image-839" title="features_to_install" src="http://luauf.com/wp-content/uploads/2009/02/features_to_install-300x259.png" alt="features_to_install" width="300" height="259" /></a></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/license.png"><img class="alignnone size-medium wp-image-840" title="license" src="http://luauf.com/wp-content/uploads/2009/02/license-300x259.png" alt="license" width="300" height="259" /></a></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/downloading.png"><img class="alignnone size-medium wp-image-841" title="downloading" src="http://luauf.com/wp-content/uploads/2009/02/downloading-300x109.png" alt="downloading" width="300" height="109" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">Instalado Subclipse podemos abrir su <strong>perspectiva SVN Repository Exploring</strong> desde <strong>Window \ Open perspective \ Other \ SVN Repository Exploring</strong>. O bien, podemos compartir un proyecto en un repositorio Subversion haciendo clic derecho sobre un objeto del explorador de proyectos y seleccionando la opción <strong>Share</strong> del menu <strong>Team</strong>.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/share.png"><img class="alignnone size-medium wp-image-842" title="share" src="http://luauf.com/wp-content/uploads/2009/02/share-300x208.png" alt="share" width="300" height="208" /></a></p>
<p>El resto, no varía mucho de la operación, por ejemplo, del clásico <strong>CVS</strong> (reconozco no tener conocimiento acerca de otros repositorios como Bazaar o Git)</p>
<p>Vía: <a href="http://mundogeek.net/archivos/2009/02/22/subclipse-plugin-de-subversion-para-eclipse/">MundoGeek </a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/02/24/integrar-subversion-a-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar la documentación de Java en Ubuntu</title>
		<link>http://luauf.com/2009/02/22/instalar-la-documentacion-de-java-en-ubuntu/</link>
		<comments>http://luauf.com/2009/02/22/instalar-la-documentacion-de-java-en-ubuntu/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 17:04:22 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Documentación]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[instalacion]]></category>
		<category><![CDATA[javadoc]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=826</guid>
		<description><![CDATA[A días de su lanzamiento recuerdo haber instalado NetBeans 6.5  en mi Ubuntu. Hoy, complementando dicha instalación instalé la documentación de Java, que enriqueció mucho mi trabajo en el IDE. Veamos detalladamente, en...]]></description>
			<content:encoded><![CDATA[<p>A días de su lanzamiento recuerdo haber instalado NetBeans 6.5  en mi Ubuntu. Hoy, complementando dicha instalación instalé la documentación de Java, que enriqueció mucho mi trabajo en el IDE.</p>
<p>Veamos detalladamente, en principio, de que se trata instalar la documentación de Java y donde vamos a notar su presencia en NetBeans.</p>
<p><span id="more-826"></span>Si no tienes instalada la documentación del JDK de Java verás, al momento que se abre el cuadro de sugerencias con los métodos u objetos de una clase que por encima del cuadro se visualiza otro cuadro con un breve &#8220;help&#8221; del mismo. Lo que digo se observa en la captura de pantalla de a continuación, pero si prestan atención en el cuadro superior además de la firma de la clase dice en color rojo dice &#8220;<strong>javadoc not found</strong>&#8220;.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/javadoc-not-found.png"></a><a href="http://luauf.com/wp-content/uploads/2009/02/javadoc-not-found.png" target="_blank"><img class="alignnone size-medium wp-image-832" title="javadoc-not-found" src="http://luauf.com/wp-content/uploads/2009/02/javadoc-not-found-300x161.png" alt="javadoc-not-found" width="300" height="161" /></a></p>
<p>Para instalar la documentación de Java deberemos hacer un apt-get, que buscará un ZIP que descargaremos antes de la página oficial de Java, y que se encargará de extraer y ubicar los archivos del comprimido en el lugar necesario para que el IDE pueda hacer uso de los mismos.</p>
<p>Por lo tanto, primer paso, descargamos de la <a href="http://java.sun.com/javase/downloads/index.jsp">página de descargas oficial de Java</a> la documentación (te adjunto un par de screenshots para que no te pierdas):</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-827" title="descarga" src="http://luauf.com/wp-content/uploads/2009/02/descarga-300x239.png" alt="descarga" width="300" height="239" /></p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-828" title="descarga2" src="http://luauf.com/wp-content/uploads/2009/02/descarga2-300x140.png" alt="descarga2" width="300" height="140" /></p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-829" title="descarga3" src="http://luauf.com/wp-content/uploads/2009/02/descarga3-300x147.png" alt="descarga3" width="300" height="147" /></p>
<p>Terminada la descarga, abriremos una consola y renombraremos el archivo ZIP obtenido, lo moveremos al directorio /tmp y haremos el apt-get. Finalmente podemos eliminar (por consejo del mismo apt-get) el archivo ZIP. Continuando el mismo criterio que en la descarga, adjunto el standard output de mi consola:</p>
<div class="syntax_hilite">
<div id="code-2">
<div class="code">$ mv jdk-6u10-docs.<span style="">zip</span> jdk-<span style="color:#800000;">6</span>-doc.<span style="">zip</span></p>
<p>$ mv jdk-<span style="color:#800000;">6</span>-doc.<span style="">zip</span> /tmp/</p>
<p>$ sudo apt-get install sun-java6-doc<br />
<span style="color:#006600; font-weight:bold;">&#91;</span>sudo<span style="color:#006600; font-weight:bold;">&#93;</span> password for mi_usuario:<br />
Leyendo lista de paquetes&#8230; <span style="">Hecho</span><br />
Creando árbol de dependencias<br />
Leyendo la información de estado&#8230; <span style="">Hecho</span><br />
Se instalarán los siguientes paquetes NUEVOS:<br />
sun-java6-doc<br />
<span style="color:#800000;">0</span> actualizados, <span style="color:#800000;">1</span> se instalarán, <span style="color:#800000;">0</span> para eliminar y <span style="color:#800000;">0</span> no actualizados.<br />
<span style="">Necesito</span> descargar <span style="color:#800000;">33</span>,9kB de archivos.<br />
<span style="">Se</span> utilizarán 168kB de espacio de disco adicional después de desempaquetar.<br />
<span style="">Des</span>:<span style="color:#800000;">1</span> http:<span style="color:#FF9933; font-style:italic;">//ar.archive.ubuntu.com hardy-updates/multiverse sun-java6-doc 6-07-3ubuntu2 [33,9kB]</span><br />
Descargados <span style="color:#800000;">33</span>,9kB en 1s <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">19</span>,5kB/s<span style="color:#006600; font-weight:bold;">&#41;</span><br />
Seleccionando el paquete sun-java6-doc previamente no seleccionado.<br />
<span style="color:#006600; font-weight:bold;">&#40;</span>Leyendo la base de datos &#8230;<br />
<span style="color:#800000;">179171</span> ficheros y directorios instalados actualmente.<span style="color:#006600; font-weight:bold;">&#41;</span><br />
Desempaquetando sun-java6-doc <span style="color:#006600; font-weight:bold;">&#40;</span>de &#8230;/sun-java6-doc_6-<span style="color:#800000;">07</span>-3ubuntu2_all.<span style="">deb</span><span style="color:#006600; font-weight:bold;">&#41;</span> &#8230;<br />
<span style="">Configurando</span> sun-java6-doc <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">6</span>-<span style="color:#800000;">07</span>-3ubuntu2<span style="color:#006600; font-weight:bold;">&#41;</span> &#8230;<br />
/tmp/jdk-<span style="color:#800000;">6</span>-doc.<span style="">zip</span> has been unpacked and installed.<br />
<span style="">You</span> can now delete it, if you wish.</p>
<p>$ rm /tmp/jdk-<span style="color:#800000;">6</span>-doc.<span style="">zip</span></div>
</div>
</div>
<p></p>
<p>Sin más, ahora podemos abrir el IDE y verificar que la documentación de Java ya se encuentra instalada y en utilización del IDE. Adjunto otra captura de pantalla para que puedas comparar con la primer imagen de esta publicación cuando teniamos que &#8220;<strong>javadoc not found</strong>&#8220;.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2009/02/javadoc-installed.png" target="_blank"><img class="alignnone size-medium wp-image-830" title="javadoc-installed" src="http://luauf.com/wp-content/uploads/2009/02/javadoc-installed-300x165.png" alt="javadoc-installed" width="300" height="165" /></a></p>
<p>Vía: <a href="http://eos87.blogspot.com/2009/01/instalar-java-docs-en-intrepid-ibex.html">eOs&#8217;s BLOG</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2009/02/22/instalar-la-documentacion-de-java-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalar NetBeans IDE 6.5 en Linux</title>
		<link>http://luauf.com/2008/12/31/instalar-netbeans-ide-65-en-linux/</link>
		<comments>http://luauf.com/2008/12/31/instalar-netbeans-ide-65-en-linux/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 03:00:51 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=750</guid>
		<description><![CDATA[Es reciente aún la novedad del lanzamiento de NetBeans 6.5 por lo tanto quizás estás pensando instalarlo en tu Linux. De ser así, te propongo que lo instalemos juntos (yo lo haré sobre...]]></description>
			<content:encoded><![CDATA[<p>Es reciente aún la novedad del lanzamiento de NetBeans 6.5 por lo tanto quizás estás pensando instalarlo en tu Linux. De ser así, te propongo que lo instalemos juntos (yo lo haré sobre mi <a href="http://luauf.com/tag/ubuntu/">Ubuntu Linux</a>)</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-751" title="netbeans65" src="http://luauf.com/wp-content/uploads/2008/12/netbeans65.gif" alt="netbeans65" width="316" height="28" /></p>
<p><span id="more-750"></span><br />
En primera instancia descargamos NetBeans en el sabor que más nos guste (<a href="http://www.netbeans.org/downloads/index.html" target="_blank">NetBeans IDE Download</a>). Yo elegí la versión más &#8220;pelada&#8221;, solo para programar en Java. Aun no está disponible para Linux la versión que incorpora JavaFX, pues el JVM aun no tiene soporte para esta tenología en este sistema operativo.  Si se encuentra disponible para Windows o Mac.</p>
<ul>
<li>Luego debemos darle permisos de ejecución al archivo descargado</li>
</ul>
<p><codeline>$ chmod +x netbeans-6.5-ml-javase-linux.sh<br />
</codeline></p>
<ul>
<li>Luego ejecutamos el instalador:</li>
</ul>
<p><codeline>$ ./netbeans-6.5-ml-javase-linux.sh<br />
Configuring the installer&#8230;<br />
Searching for JVM on the system&#8230;<br />
Extracting installation data&#8230;<br />
Running the installer wizard&#8230;<br />
</codeline></p>
<ul>
<li>Es probable que te enteres en la primer ventana del wizard que no tienes instalado el JDK.  En este caso deberás instalarlo previamente.</li>
</ul>
<p><codeline>$ sudo aptitude install sun-java6-jdk<br />
</codeline></p>
<ul>
<li>A continuación debemos seguir un asistente clásico de instalación. Dependiendo de la distribución de NetBeans que hayas descargado podrás personalizarla.</li>
<li>La secuencia de pantallas del wizard arranca con una pantalla de bienvenida:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller.png"><img class="alignnone size-medium wp-image-752" title="netbeansideinstaller" src="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller-300x216.png" alt="netbeansideinstaller" width="300" height="216" /></a></p>
<ul>
<li>Luego, deberás Aeptar, si estás de acuerdo, los términos de la licencia.</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller1.png"><img class="alignnone size-medium wp-image-753" title="netbeansideinstaller1" src="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller1-300x216.png" alt="netbeansideinstaller1" width="300" height="216" /></a></p>
<ul>
<li>A continuación nos solicita el path de instalación, en mi caso lo instalé el mi HOME. También requiere del path donde se encuentra el JDK. Si el instalador no se equivoca ya nos estará sugeriendo el path que corresponde.</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller2.png"><img class="alignnone size-medium wp-image-754" title="netbeansideinstaller2" src="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller2-300x216.png" alt="netbeansideinstaller2" width="300" height="216" /></a></p>
<ul>
<li>Finalmente, solo queda mirar y esperar que se efecute la instalación.</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller3.png"><img class="alignnone size-medium wp-image-755" title="netbeansideinstaller3" src="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller3-300x216.png" alt="netbeansideinstaller3" width="300" height="216" /></a></p>
<ul>
<li>Terminada la instalación, en el menu <strong>Programación</strong> de mi  me encontré con el acceso directo al <strong>GnomeNetBeans 6.5 IDE</strong>. Esto puede variar de acuerdo al administrador de ventanas que utilices. De todas formas puedes lanzarlo desde una consola</li>
</ul>
<p><codeline>$ netbeans-6.5/bin/netbeans<br />
</codeline></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller4.png"><img class="alignnone size-medium wp-image-756" title="netbeansideinstaller4" src="http://luauf.com/wp-content/uploads/2008/12/netbeansideinstaller4-300x212.png" alt="netbeansideinstaller4" width="300" height="212" /></a></p>
<p>Vía: <a href="http://picandocodigo.net/2008/12/como-instalar-netbeans-ide-65-en-gnulinux/" target="_blank">Picando Codigo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/12/31/instalar-netbeans-ide-65-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo de aplicación web con NetBeans y Visual Web JavaServer Faces</title>
		<link>http://luauf.com/2008/08/05/ejemplo-de-aplicacion-web-con-netbeans-y-visual-web-javaserver-faces/</link>
		<comments>http://luauf.com/2008/08/05/ejemplo-de-aplicacion-web-con-netbeans-y-visual-web-javaserver-faces/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 00:10:07 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[JavaServer Faces]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=578</guid>
		<description><![CDATA[Leyendo acerca de las bondades del plugin Visual Web Pack para NetBeans, me he decido a desarrollar un pequeño ejemplo y publicar paso a paso mi experiencia. El ejemplo consiste en una aplicación,...]]></description>
			<content:encoded><![CDATA[<p>Leyendo acerca de las bondades del plugin Visual Web Pack para NetBeans, me he decido a desarrollar un pequeño ejemplo y publicar paso a paso mi experiencia.</p>
<p>El ejemplo consiste en una aplicación, una especie de pseudo-login (pues el usuario y password serán hardcodeados), pero la idea central es mostrar el uso de Visual Web JavaServer Faces en NetBeans.</p>
<p>Para empezar, en mi ejemplo utilicé NetBeans 6.1, aunque no es excluyente pues en el ejemplo original del cual me basé lo hacía NetBeans 5.5. Lo importante reside en tener instalado el plugin de NetBeans Visual Web JSF, puedes ver si lo tienes instalado o instalarlo o actualizarlo desde el menú la opción Plugins del menú Tools.</p>
<p><span id="more-578"></span></p>
<p>Ahora bien, manos a la obra:</p>
<ul>
<li>Una vez abierto NetBeans, seleccionar la opción New Project del menú File. En el primer diálogo que se abre, seleccionar de la categoría Web el tipo de proyecto Web Application.</li>
</ul>
<ul>
<li>En el siguiente paso, ingresar el nombre del proyecto y dar Next:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-1.png"><img class="alignnone size-medium wp-image-579" title="o-1" src="http://luauf.com/wp-content/uploads/2008/08/o-1-300x185.png" alt="" width="300" height="185" /></a></p>
<ul>
<li>Luego, nos solicita el Server. En mi caso, por default tenía seleccionado Apache Tomcat 6.0.16, me limité en dar Next.</li>
<li>En el último paso nos solicita el framework a utilizar, tildamos Visual Web JavaServer Faces y finalizamos:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-2.png"><img class="alignnone size-medium wp-image-580" title="o-2" src="http://luauf.com/wp-content/uploads/2008/08/o-2-300x186.png" alt="" width="300" height="186" /></a></p>
<ul>
<li>Finalizado el asistente, veremos que nos crea unas cuantas carpetas en la estructura del proyecto y por defecto una página Page1.jsp. En la misma, en tiempo de diseño insertamos los elementos de las paleta y modificamos algunas propiedades desde el cuadro de Properties:
<ul>
<li>Un <strong>Label </strong>con un título</li>
<li><span style="color: #000000;">Un </span><span style="color: #000000;"><strong>Text Field </strong></span>y un <strong>Password Field</strong> con los <strong>id </strong>textUsuario y textContraseña. En la propiedad <span style="color: #000000;"><strong>label </strong></span>de ambos podemos ingresar Usuario y Contraseña, para que queden bien rotulados. Además, para ambos, tildaremos la propiedad <strong>required</strong>.</li>
<li>Un <strong>Button</strong>, del cual modificamos las propiedades <strong>id </strong>(con el valor buttonLogin) y <strong>text </strong>(con el texto Login)</li>
</ul>
</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-3.png"><img class="alignnone size-medium wp-image-581" title="o-3" src="http://luauf.com/wp-content/uploads/2008/08/o-3-300x181.png" alt="" width="300" height="181" /></a></p>
<ul>
<li>Para finalizar la edición de la página principal, haciendo clic con el botón derecho sobre cada Text Field seleccionamos del menú contextual la opción <strong>Add Binding Attribute</strong>, para poder más adelante acceder desde el código a tales objetos.</li>
<li>Luego, haciendo clic derecho sobre cualquier área vacía de Page1.jsp seleccionamos la opción <strong>Page Navigation </strong>del menú contextual:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-4.png"><img class="alignnone size-medium wp-image-582" title="o-4" src="http://luauf.com/wp-content/uploads/2008/08/o-4-251x300.png" alt="" width="251" height="300" /></a></p>
<ul>
<li>Inmediatamente se abrirá una nueva solapa <strong>faces-config.xml</strong> donde vemos ubicada una representación de la página con la que estuvimos trabajando, conteniendo la misma el objeto buttonLogin:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-5.png"><img class="alignnone size-medium wp-image-583" title="o-5" src="http://luauf.com/wp-content/uploads/2008/08/o-5-300x230.png" alt="" width="300" height="230" /></a></p>
<ul>
<li>Haciendo clic derecho sobre el área de diseño, seleccionamos New File del menú contextual y luego de la categoría <strong>JavaServer Faces</strong>, <strong>Visual Web JSF Page</strong>:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-6.png"><img class="alignnone size-medium wp-image-584" title="o-6" src="http://luauf.com/wp-content/uploads/2008/08/o-6-300x207.png" alt="" width="300" height="207" /></a></p>
<ul>
<li>Ahora veremos que junto a Page1.jsp aparece Page2.jsp (si es que dejamos el nombre por defecto propuesto por el asistente). Haciendo clic sobre buttonLogin de Page1.jsp y manteniendo apretado el botón izquierdo del mouse trazamos una línea hasta Page2.jsp. Veremos que se crea un enlace entre ambas páginas, haciendo doble clic sobre en enlace, cambiamos el nombre por defecto del mismo (case1) por <strong>success</strong>:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-7.png"><img class="alignnone size-medium wp-image-585" title="o-7" src="http://luauf.com/wp-content/uploads/2008/08/o-7-300x146.png" alt="" width="300" height="146" /></a></p>
<ul>
<li>En Page2.jsp, insertamos un label con cualquier mensaje amistoso que indique que el login ha sido exitoso.</li>
<li>De la misma forma que creamos una página para el login exitoso (success) crearemos una nueva página (Page3.jsp) con un mensaje de &#8220;Nombre de usuario y/o contraseña incorrecta&#8221; y un <strong>hyperlink</strong> para volver:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-8.png"><img class="alignnone size-medium wp-image-586" title="o-8" src="http://luauf.com/wp-content/uploads/2008/08/o-8-300x231.png" alt="" width="300" height="231" /></a></p>
<ul>
<li>Volviendo al esquema del faces-config.xml, creamos otro enlace desde el botón Login hacia Page3.jsp, cambiando el nombre por defecto (case1) por <strong>failure</strong>.</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-9.png"><img class="alignnone size-medium wp-image-587" title="o-9" src="http://luauf.com/wp-content/uploads/2008/08/o-9-300x150.png" alt="" width="300" height="150" /></a></p>
<ul>
<li>Para finalizar la configuración del esquema de navegación de páginas, creamos un nuevo enlace desde el elemento hyperlink1 (si es que no le cambiamos el id por defecto) de Page3.jsp con Page1.jsp. Además, si queremos podemos reorganizar un poco la distribución de las páginas:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-10.png"><img class="alignnone size-medium wp-image-588" title="o-10" src="http://luauf.com/wp-content/uploads/2008/08/o-10-300x242.png" alt="" width="300" height="242" /></a></p>
<ul>
<li>Volviendo al diseño de la página de ingreso (Page1.jsp) hacemos doble clic sobre buttonLogin y escribimos la porción de código que valide usuario y contraseña. Como dijimos en un principio, los valores para los mismos estarán hardcodeados, nada de base de datos aun <img src='http://luauf.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p><code></p>
<div class="syntax_hilite">
<div id="java-4">
<div class="java"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AString+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">String</span></a> buttonLogin_action<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>textUsuario.<span style="color: #006600;">getText</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"demo"</span><span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; textContraseña.<span style="color: #006600;">getText</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">equals</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"demo"</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #ff0000;">"success"</span>;<br />
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #ff0000;">"failure"</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p>
</code></p>
<ul>
<li>Para finalizar solo queda correr la aplicación, seleccionando la opción <strong>Run Main Project</strong> del menú <strong>Run</strong>, o simplemente presionando F6. Esto puede demorar un tiempo, dependiendo de tu equipo, pues NetBeans inicia el servidor de aplicaciones (Apache Tomcat en mi caso), hace el deployment de la aplicación y finalmente abre nuestro navegador por defecto con la página que diseñamos.</li>
<li>Con el navegador abierto y la página de login en frente, para probar de que sirvió setear la propiedad required del Text Field y el Password Field apretamos directamente el botón Login. Veremos como nos marca en rojo los campos requeridos y nos lo vuelve a solicitar:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-11.png"><img class="alignnone size-medium wp-image-589" title="o-11" src="http://luauf.com/wp-content/uploads/2008/08/o-11-300x116.png" alt="" width="300" height="116" /></a></p>
<ul>
<li>Luego, ingresaremos usuario y contraseña, pero equivocando uno o ambos valores:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-12.png"><img class="alignnone size-medium wp-image-590" title="o-12" src="http://luauf.com/wp-content/uploads/2008/08/o-12-300x120.png" alt="" width="300" height="120" /></a></p>
<ul>
<li>Finalmente, ingresamos usuario y contraseña correcta (demo demo):</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/08/o-13.png"><img class="alignnone size-medium wp-image-591" title="o-13" src="http://luauf.com/wp-content/uploads/2008/08/o-13-300x113.png" alt="" width="300" height="113" /></a></p>
<p>Si sigues mis pasos, no deberías tener problemas, pues el ejemplo publicado no es más que el paso a paso de lo que yo hice en mi PC de desarrollo. De todas formas, ante cualquier duda o inconveniente, me comentas y vemos que se puede hacer. Para la próxima, nos meteremos con las bases de datos.</p>
<p>Basado en el demo <a href="http://roumen.name/flash/why_netbeans/9-visualweb/9-visualweb.html" target="_blank">NetBeans Visual Web Pack</a></p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/08/05/ejemplo-de-aplicacion-web-con-netbeans-y-visual-web-javaserver-faces/feed/</wfw:commentRss>
		<slash:comments>71</slash:comments>
		</item>
		<item>
		<title>Ingeniería inversa con Eclipse</title>
		<link>http://luauf.com/2008/07/21/ingenieria-inversa-con-eclipse/</link>
		<comments>http://luauf.com/2008/07/21/ingenieria-inversa-con-eclipse/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 00:08:19 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=545</guid>
		<description><![CDATA[La documentación del proyecto es fundamental, pero que hacer en esos casos en que tenemos una buena parte de código desarrollada, pero ni siquiera disponemos de un modesto diagrama de clases. Ante esta...]]></description>
			<content:encoded><![CDATA[<p>La documentación del proyecto es fundamental, pero que hacer en esos casos en que tenemos una buena parte de código desarrollada, pero ni siquiera disponemos de un modesto diagrama de clases. Ante esta situación, debemos recurrir a la ingeniería inversa.</p>
<p>Tiempo atrás habíamos tratado <a href="http://luauf.com/2008/03/31/ingenieria-inversa-con-netbeans/">Ingeniería inversa con NetBeans</a>, en esta ocasión, haremos lo mismo con la versión gratuita de <a href="http://www.soyatec.com/euml2/screenshots/" target="_blank">eUML2</a>, un poderoso conjunto de herramientas desarrolladas para Eclipse.</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/class_diagram.png"><img class="alignnone size-medium wp-image-542" title="class_diagram" src="http://luauf.com/wp-content/uploads/2008/07/class_diagram-300x225.png" alt="" width="300" height="225" /></a></p>
<p>A continuación, paso a paso: ¿como generar un diagrama de clases?</p>
<p><span id="more-545"></span></p>
<p>Antes que todo, descarga la versión gratuita de eUML2 para <a href="http://www.soyatec.cn/releases/eUML2-Free-Edition-3.0.1.20070710+dependencies_for_eclipse3.2.x.zip" target="_blank">Callisto (Eclipse 3.2.x)</a> o <a href="http://www.soyatec.com/update/eUML2-Free-Edition-3.1.0.20080415+dependencies_for_eclipse3.3.zip" target="_blank">Europa (eclipse 3.3.x)</a>.</p>
<p>Para instalar la herramienta, elegimos: Help \ Software Updates \ Find and Instal&#8230; \ Search for new features to install</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/new_features.png"><img class="alignnone size-medium wp-image-543" title="new_features" src="http://luauf.com/wp-content/uploads/2008/07/new_features-300x280.png" alt="" width="300" height="280" /></a></p>
<p>Contrariamente, a lo que se acostumbra, en vez de seleccionar el sitio remoto desde el cual queremos instalar el plugin, seleccionamos New Local Site&#8230;</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/new_local_site.png"><img class="alignnone size-medium wp-image-544" title="new_local_site" src="http://luauf.com/wp-content/uploads/2008/07/new_local_site-300x279.png" alt="" width="300" height="279" /></a></p>
<p>Seleccionamos el path donde descomprimimos el archivo descargando en la primera etapa y aceptamos.</p>
<p>Finalmente seleccionamos los paquetes, presionamos Next, leemos la licencia, aceptamos si estamos de acuerdo y continuamos y finalizamos:</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/feature_to_install.png"><img class="alignnone size-medium wp-image-547" title="feature_to_install" src="http://luauf.com/wp-content/uploads/2008/07/feature_to_install-300x250.png" alt="" width="300" height="250" /></a></p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/finish_instalation.png"><img class="alignnone size-medium wp-image-546" title="finish_instalation" src="http://luauf.com/wp-content/uploads/2008/07/finish_instalation-300x250.png" alt="" width="300" height="250" /></a></p>
<p>Terminada la instalación, puede recomendarnos reiniciar el IDE, como no es mala idea, lo hacemos.</p>
<p>Iniciado nuevamente el IDE, veremos en la barra de herramientas un botón, que no veíamos antes, para crear un nuevo modelo. Si bien podemos crear un nuevo modelo, en nuestro caso optaremos por hacer ingeniería inversa de un paquete existente. Por lo tanto, haciendo clic derecho sobre un paquete, del menú contextual seleccionamos eUML2 \ Class diagram editor&#8230; Luego, en unos pocos pasos un asistente nos solicitará seleccionar las clases existentes que queremos agregar en el modelo:</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/uml_model.png"><img class="alignnone size-medium wp-image-548" title="uml_model" src="http://luauf.com/wp-content/uploads/2008/07/uml_model-300x235.png" alt="" width="300" height="235" /></a></p>
<p>Y finalmente, creado el modelo, podremos volcar sobre el nuevas clases, siempre manteniendo sincronizado el modelo con el código (como debe ser)</p>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/07/model.png"><img class="alignnone size-medium wp-image-549" title="model" src="http://luauf.com/wp-content/uploads/2008/07/model-300x153.png" alt="" width="300" height="153" /></a></p>
<p>El objetivo introductorio de esta publicación creo que está cumplido, el resto, te lo dejo a ti. Como podrás probar, la herramienta es muy intuitiva y tiene muchas opciones, entre ellas las de imprimir o de exportar el modelo a un formato de imagen reconocido</p>
<p>Basado en la publicación original de <a href="http://ubuntulife.wordpress.com/2008/07/19/generar-uml-a-partir-del-codigo/" target="_blank">Ubuntu Life</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/07/21/ingenieria-inversa-con-eclipse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lanzamiento de Eclipse 3.4</title>
		<link>http://luauf.com/2008/06/24/lanzamiento-de-eclipse-34/</link>
		<comments>http://luauf.com/2008/06/24/lanzamiento-de-eclipse-34/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 00:56:19 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=463</guid>
		<description><![CDATA[El día de mañana, 25 de junio estará disponible la versión 3.4 de Eclipse (actual Ganymede 3.4 RC4). En realidad se trata de un lanzamiento en simultáneo de los de todos las actualizaciones...]]></description>
			<content:encoded><![CDATA[<p>El día de mañana, 25 de junio estará disponible la versión 3.4 de Eclipse (actual Ganymede 3.4 RC4). En realidad se trata de un lanzamiento en simultáneo de los de todos las actualizaciones de paquetes del proyecto Eclipse. Ganymede es el nombre que se le da al agrupamiento de proyectos anuales para Eclipse en una única distribución.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-464" title="eclipse" src="http://luauf.com/wp-content/uploads/2008/06/eclipse.png" alt="" width="128" height="128" /></p>
<p><span id="more-463"></span></p>
<p>Mientras tanto, entre los paquetes distribuidos, puedes <a href="http://www.eclipse.org/downloads/packages/" target="_blank">descargar</a>:</p>
<ul>
<li>Eclipse IDE for Java EE Developers</li>
<li>Eclipse Classic 3.4RC4</li>
<li>Eclipse IDE for Java Developers</li>
<li>Eclipse IDE for C/C++ Developers</li>
<li>Eclipse Modeling Tools</li>
<li>Eclipse for RCP/Plug-in Developers</li>
<li>Eclipse IDE for Java and Report Developers</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/06/eclipse_ganymede.png"><img class="aligncenter size-medium wp-image-465" title="eclipse_ganymede" src="http://luauf.com/wp-content/uploads/2008/06/eclipse_ganymede.png" alt="" width="250" height="163" /></a></p>
<p>Vía: <a href="http://www.dosideas.com/liderazgo/104.html?joscclean=1&amp;comment_id=79" target="_blank">DosIdeas</a></p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/06/24/lanzamiento-de-eclipse-34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar javadoc con Eclipse y NetBeans</title>
		<link>http://luauf.com/2008/06/21/generar-javadoc-con-eclipse-y-netbeans/</link>
		<comments>http://luauf.com/2008/06/21/generar-javadoc-con-eclipse-y-netbeans/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 02:18:54 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=452</guid>
		<description><![CDATA[Hace unos días atrás comentaba lo que era javadoc y como generar la documentación utilizando la aplicación de consola javadoc provista en el JDK. Generar la documentación desde línea de comandos puede resultar...]]></description>
			<content:encoded><![CDATA[<p>Hace unos días atrás comentaba lo que era <a href="http://luauf.com/2008/06/17/documentando-con-javadoc/" target="_self">javadoc</a> y como generar la documentación utilizando la aplicación de consola javadoc provista en el JDK.</p>
<p>Generar la documentación desde línea de comandos puede resultar algo engorroso, en especial cuando no lo hacemos frecuentemente y no recordamos los argumentos de javadoc. Por lo tanto, ¿por que no generar javadoc con nuestro IDE favorito?</p>
<p>Tanto Eclipse como NetBeans disponen entre sus opciones la de generar javadoc y a ventana mediante se pueden seleccionar las opciones para javadoc. Pero no solo eso, sino también ofrecen completado de código javadoc.</p>
<p><span id="more-452"></span></p>
<p>¿Como generar javadoc con Eclipse y/o NetBeans?</p>
<ul>
<li><strong>Generar javadoc con Eclipse:</strong> seleccionar la opción &#8220;Generate Javadoc&#8230;&#8221; del menú Project.</li>
</ul>
<p style="text-align: center;"><img class="alignnone size-full wp-image-453" title="eclipse_javadoc" src="http://luauf.com/wp-content/uploads/2008/06/eclipse_javadoc.jpg" alt="" width="201" height="211" /></p>
<ul>
<li><strong>Generar javadoc con NetBeans:</strong> seleccionar la opción &#8220;Generate Javadoc for&#8230;&#8221; del menú Build.</li>
</ul>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-455" title="netbeans_javadoc" src="http://luauf.com/wp-content/uploads/2008/06/netbeans_javadoc.jpg" alt="" width="339" height="236" /></p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/06/21/generar-javadoc-con-eclipse-y-netbeans/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Introducción a Java Servlets con NetBeans</title>
		<link>http://luauf.com/2008/05/21/introduccion-a-java-servlets-con-netbeans/</link>
		<comments>http://luauf.com/2008/05/21/introduccion-a-java-servlets-con-netbeans/#comments</comments>
		<pubDate>Thu, 22 May 2008 02:37:51 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=305</guid>
		<description><![CDATA[Los Servlets son una de las tecnologías más importantes de Java. Esta publicación, es un simple ejemplo de construcción de un clásico Hola Mundo en una aplicación web J2EE. Para este ejemplo, habremos...]]></description>
			<content:encoded><![CDATA[<p>Los <a href="http://luauf.com/2008/05/01/servlets-vs-java-server-pages/" target="_self">Servlets</a> son una de las tecnologías más importantes de Java. Esta publicación, es un simple ejemplo de construcción de un clásico Hola Mundo en una aplicación web J2EE.</p>
<p>Para este ejemplo, habremos de utilizar:</p>
<ul>
<li>NetBeans 5.0 o superior</li>
<li><a href="http://luauf.com/2008/04/26/instalar-apache-tomcat/" target="_self">Apache-Tomcat</a> 5.5 o superior</li>
</ul>
<p>En mi caso, utilizaré <a href="http://download.netbeans.org/netbeans/6.1/final/" target="_blank">NetBeans 6.1</a> con Apache-Tomcat 6.1, particularmente en su paquete Web &amp; Java EE, que incorpora lo servidores de aplicaciones Java GlassFish y Apache Tomcat.<br />
<span id="more-305"></span></p>
<ul>
<li>Iniciamos NetBeans y seleccionamos <strong>File \ New Project&#8230;</strong></li>
<li>Se abre un diálogo que nos solicita el tipo de proyecto, seleccionamos<strong> Web Application</strong></li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t1.jpg"><img class="size-medium wp-image-307" title="t1" src="http://luauf.com/wp-content/uploads/2008/05/t1-300x207.jpg" alt="" width="300" height="207" /></a></p>
<ul>
<li>En el siguiente paso, nos solicita el nombre del proyecto (<strong>Project Name</strong>), en nuestro caso ingresamos Servlet_HelloWorld</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t2.jpg"><img class="size-medium wp-image-308" title="t2" src="http://luauf.com/wp-content/uploads/2008/05/t2-300x186.jpg" alt="" width="300" height="186" /></a></p>
<ul>
<li>El siguiente paso, nos solicita el servidor de aplicaciones (contenedor de Servlets a utilizar). Así, del combo Server, seleccionamos Tomcat (según la versión que yo tengo instalada, Tomcat 6.0.16)</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t3.jpg"><img class="aligncenter size-medium wp-image-309" title="t3" src="http://luauf.com/wp-content/uploads/2008/05/t3-300x186.jpg" alt="" width="300" height="186" /></a></p>
<ul>
<li>Finalmente, nos permite seleccionar el o los frameworks a utilizar (Spring, Struts, JSF, etc). No seleccionamos nada pues, por ahora, para este ejempo, no vale la pena.</li>
<li>NetBeans crea por su cuenta el proyecto, una estructura de directorios, y dentro de la carpeta <strong>Web Pages </strong>un arhivo <strong>index.jsp</strong>, que será el punto de partida de nuestra aplicación. Si bien es de extensión JSP, por ahora no escribiremos código JSP, sinó simplemente un formulario HTML. En este formulario HTML definiremos en el atributo <strong>action </strong>el nombre del <strong>servlet </strong>que se ejecutará al enviar (submit) el formulario.</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t4.jpg"><img class="alignnone size-medium wp-image-310" title="t4" src="http://luauf.com/wp-content/uploads/2008/05/t4-300x255.jpg" alt="" width="300" height="255" /></a></p>
<p><code></p>
<div class="syntax_hilite">
<div id="html-7">
<div class="html"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/code&gt;</span></span></p>
<p><span style="color: #009900;"><a href="http://december.com/html/4/element/form.html"><span style="color: #000000; font-weight: bold;">&lt;form</span></a> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">"Servlet_Hola"</span> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">"POST"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Ingrese su nombre:<br />
<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"nombre"</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">""</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">"45"</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></a></span> <span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"enviar"</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">"Enviar"</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/form&gt;</span></span></div>
</div>
</div>
<p></p>
<ul>
<li>Luego, desde el explorador de proyectos, luego de hacer clic derecho en la carpeta Source Packages, seleccionamos <strong>New \ Servlet...</strong></li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t6.jpg"><img class="aligncenter size-medium wp-image-312" title="t6" src="http://luauf.com/wp-content/uploads/2008/05/t6-300x237.jpg" alt="" width="300" height="237" /></a></p>
<ul>
<li>Aquí, se abre un diálogo que nos solicita nombre y paquete del servlet.
<ul>
<li>En nombre, hay que ingresar el mismo nombre del atributo <strong>action </strong>del formulario creado anteriormente, pues este será el <strong>servlet </strong>que recibirá los datos enviados por el formulario HTML. En nuestro caso, según indicamos en el form: <strong>Servlet_Hola</strong>.</li>
<li>En paquete se puede ingresar el nombre que se quiera, ahora no es de importancia.</li>
</ul>
</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t7.jpg"><img class="aligncenter size-medium wp-image-313" title="t7" src="http://luauf.com/wp-content/uploads/2008/05/t7-300x205.jpg" alt="" width="300" height="205" /></a></p>
<ul>
<li>Dados el nombre del servlet y el paquete, hacemos clic sobre <strong>Finish</strong>.</li>
<li>Finalizado esto, automáticamente crea una clase con el nombre de servlet dado (Servlet_Hola para nosotros), que hereda de <strong>HttpServlet</strong>. Además redefine (override) algunos métodos (<strong>doGet, doPost, getServletInfo</strong>) y los rellena con un poco de código. Además, crea un método <strong>processRequest </strong>(invocado desde los métodos doGet y doPost)<strong> </strong>para procesar los formularios que llegan por los métodos GET y POST.</li>
<li>Nosotros, en este ejemplo, nos limitaremos completar con unas pocas líneas (pues la mayoría la completó automáticamente el NetBeans) el método processRequest para que cree una página HTML que será la respuesta del formulario enviado:</li>
</ul>
<p><code></p>
<div class="syntax_hilite">
<div id="java-8">
<div class="java">package com.<span style="color: #006600;">luauf</span>.<span style="color: #006600;">servlet</span>;&lt;/code&gt;</p>
<p><span style="color: #a1a100;">import java.io.*;</span></p>
<p><span style="color: #a1a100;">import javax.servlet.*;</span><br />
<span style="color: #a1a100;">import javax.servlet.http.*;</span></p>
<p><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Servlet_Hola <span style="color: #000000; font-weight: bold;">extends</span> HttpServlet <span style="color: #66cc66;">&#123;</span></p>
<p><span style="color: #808080; font-style: italic;">/**<br />
* Processes requests for both HTTP &lt;code&gt;GET&lt;/code&gt; and &lt;code&gt;POST&lt;/code&gt; methods.<br />
* @param request servlet request<br />
* @param response servlet response<br />
*/</span><br />
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #993333;">void</span> processRequest<span style="color: #66cc66;">&#40;</span>HttpServletRequest request, HttpServletResponse response<span style="color: #66cc66;">&#41;</span><br />
<span style="color: #000000; font-weight: bold;">throws</span> ServletException, <a href="http://www.google.com/search?q=allinurl%3AIOException+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> <span style="color: #66cc66;">&#123;</span><br />
response.<span style="color: #006600;">setContentType</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"text/html;charset=UTF-8"</span><span style="color: #66cc66;">&#41;</span>;<br />
<a href="http://www.google.com/search?q=allinurl%3APrintWriter+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">PrintWriter</span></a> out = response.<span style="color: #006600;">getWriter</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #808080; font-style: italic;">/*<br />
TODO output your page here<br />
*/</span><br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"</p>
<p>"</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"Hola &lt;strong&gt;"</span> + request.<span style="color: #006600;">getParameter</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"nombre"</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">"&lt;strong&gt;"</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"&lt;/strong&gt;&lt;/strong&gt;</p>
<p>"</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"</p>
<p>"</span><span style="color: #66cc66;">&#41;</span>;<br />
out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">""</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>&amp;nbsp;</p>
<p><span style="color: #66cc66;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #66cc66;">&#123;</span><br />
out.<span style="color: #006600;">close</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #808080; font-style: italic;">//</span><br />
<span style="color: #808080; font-style: italic;">/**<br />
* Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.<br />
* @param request servlet request<br />
* @param response servlet response<br />
*/</span><br />
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #993333;">void</span> doGet<span style="color: #66cc66;">&#40;</span>HttpServletRequest request, HttpServletResponse response<span style="color: #66cc66;">&#41;</span><br />
<span style="color: #000000; font-weight: bold;">throws</span> ServletException, <a href="http://www.google.com/search?q=allinurl%3AIOException+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> <span style="color: #66cc66;">&#123;</span><br />
processRequest<span style="color: #66cc66;">&#40;</span>request, response<span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #808080; font-style: italic;">/**<br />
* Handles the HTTP &lt;code&gt;POST&lt;/code&gt; method.<br />
* @param request servlet request<br />
* @param response servlet response<br />
*/</span><br />
<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #993333;">void</span> doPost<span style="color: #66cc66;">&#40;</span>HttpServletRequest request, HttpServletResponse response<span style="color: #66cc66;">&#41;</span><br />
<span style="color: #000000; font-weight: bold;">throws</span> ServletException, <a href="http://www.google.com/search?q=allinurl%3AIOException+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> <span style="color: #66cc66;">&#123;</span><br />
processRequest<span style="color: #66cc66;">&#40;</span>request, response<span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></p>
<p><span style="color: #808080; font-style: italic;">/**<br />
* Returns a short description of the servlet.<br />
*/</span><br />
<span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AString+java.sun.com&amp;bntl=1"><span style="color: #aaaadd; font-weight: bold;">String</span></a> getServletInfo<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #ff0000;">"Short description"</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #808080; font-style: italic;">//</span><br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<ul>
<li>Para finalizar, vamos a ejecutar el proyecto, podemos hacerlo desde el menú <strong>Run </strong>o haciendo abriendo el menú contextual del proyecto (desde el explorador de proyectos) y seleccionando <strong>Run</strong>.</li>
<li>Al ejecutar una aplicación web con NetBeans, lo primero que hace el mismo es un <strong>Deploy</strong>, algo así como distribuir la aplicación en el servidor. Por más que nuestro servidor sea local y que el NetBeans lo haga transparente para nosotros, debemos entender que el Tomcat se ejecuta cuando ejecutamos la aplicación y que además posee una estructura de directorios (distinta a nuestra estructura de carpetas del proyecto) donde almacena las aplicaciones web que corre, archivos de configuración, paquetes de clases, etc.</li>
<li>Al ejecutar el proyecto se abrirá el browser predeterminado con la página index.jsp (la que tiene el formulario):</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t5.jpg"><img class="aligncenter size-medium wp-image-311" title="t5" src="http://luauf.com/wp-content/uploads/2008/05/t5-300x48.jpg" alt="" width="300" height="48" /></a></p>
<ul>
<li>Si ingresamos nuestro nombre en la caja de texto y apretamos Enviar, el formulario se envía al servlet, quien se ejecuta y nos devuelve una nueva página, con un dato, en particular, cargado dinámicamente: nuestro nombre:</li>
</ul>
<p style="text-align: center;"><a href="http://luauf.com/wp-content/uploads/2008/05/t8.jpg"><img class="aligncenter size-medium wp-image-306" title="t8" src="http://luauf.com/wp-content/uploads/2008/05/t8-300x43.jpg" alt="" width="300" height="43" /></a></p>
<p>Basado en el texto original publicado en <a href="http://www.java-tips.org/java-tutorials/tutorials/introduction-to-java-servlets-with-netbeans.html" target="_blank">Java Tips</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/05/21/introduccion-a-java-servlets-con-netbeans/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>Entornos de Desarrollo Integrado para Java</title>
		<link>http://luauf.com/2008/05/13/entornos-de-desarrollo-integrado-para-java/</link>
		<comments>http://luauf.com/2008/05/13/entornos-de-desarrollo-integrado-para-java/#comments</comments>
		<pubDate>Wed, 14 May 2008 02:27:46 +0000</pubDate>
		<dc:creator>Luciano</dc:creator>
				<category><![CDATA[IDEs]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDeveloper]]></category>
		<category><![CDATA[Netbeans]]></category>

		<guid isPermaLink="false">http://luauf.com/?p=276</guid>
		<description><![CDATA[Los IDEs (Integrated Development Environment) son un conjunto de herramientas para el programador, que sulen incluir en una misma suite, un buen editor de código, administrador de proyectos y archivos, enlace transparente a...]]></description>
			<content:encoded><![CDATA[<p>Los IDEs (Integrated Development Environment) son un conjunto de herramientas para el programador, que sulen incluir en una misma suite, un buen editor de código, administrador de proyectos y archivos, enlace transparente a compiladores y debuggers e integración con sistemas controladores de versiones o repositorios.</p>
<p>Cuando de Java se trata, son varias las opciones de IDEs, para utilizar. Gracias a <a href="http://elcodigok.blogspot.com/2008/03/ides-para-programar-en-java.html" target="_blank">El CoDiGo K</a> mencionamos algunos de los principales y más populares:</p>
<ul>
<li><a href="http://www.bluej.org/">BlueJ</a>: desarrollado como un proyecto de investigación universitaria, es libre.</li>
<li><a href="http://www.eclipse.org/">Eclipse</a>:  desarrollado por la Fundación Eclipse, es libre y de código abierto,</li>
<li><a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a>: desarrollado por JetBrains, es comercial.</li>
<li><a href="http://www.codegear.com/products/jbuilder">Jbuilder</a>: desarrollado por Borland, es comercial pero también existe la versión gratuita.</li>
<li><a href="http://www.jcreator.com/">JCreator</a>: desarrollado por Xinox, , es comercial pero también existe la versión gratuita.</li>
<li><a href="http://www.oracle.com/tools/jdev_home.html">JDeveloper</a>: desarrollado por Oracle Corporation, es gratuito.</li>
<li><a href="http://www.netbeans.org/">NetBeans</a> – gratuito y de código abierto.</li>
<li><a href="http://developers.sun.com/jsenterprise/index.jsp">Sun Java Studio Enterprise</a>: desarrollado por Sun, es comercial.</li>
</ul>
<p><span id="more-276"></span><br />
Además, muchos de estos IDEs, han servido de base para otras plataformas de desarrollo o se pueden utilizar para el desarrollo en otros lenguajes (ya sea en distribuciones específicas o bien a través de la instalación de plugins):</p>
<ul>
<li><a href="http://www.qnx.com/products/tools/" target="_blank">QNX Momentics Development Suite</a></li>
<li><a href="http://luauf.com/2008/05/11/programar-en-php-con-netbeans-61/" target="_self">NetBeans Early Access for PHP</a></li>
<li><a href="http://www.eclipse.org/cdt/" target="_blank">Eclipse C/C++ Development Tooling</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://luauf.com/2008/05/13/entornos-de-desarrollo-integrado-para-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

