<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>JTagua&#039;s Weblog</title>
	<atom:link href="http://jtagua.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jtagua.wordpress.com</link>
	<description>Netbeans IDE + Java + JSP + PHP + Delphi</description>
	<lastBuildDate>Mon, 09 Jan 2012 20:11:53 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jtagua.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/4ccf58107c9caf46f86e3398f91728dd?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>JTagua&#039;s Weblog</title>
		<link>http://jtagua.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jtagua.wordpress.com/osd.xml" title="JTagua&#039;s Weblog" />
	<atom:link rel='hub' href='http://jtagua.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Descarga e instalación separada de JDK 6 update 25 y Netbeans 7.0</title>
		<link>http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/</link>
		<comments>http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/#comments</comments>
		<pubDate>Sun, 01 May 2011 14:25:23 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[Netbeans 7.0]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=2288</guid>
		<description><![CDATA[La instalación de NetBeans, en cualquiera de los sistemas operativos Windows, Linux o Solaris, requiere de la instalación previa del JDK (Java Development Kit). Actualmente la versión mas reciente es JDK 6 update 25, mientras que en lo que se refiere al IDE, la versión mas moderna es NetBeans 7.0. Existen dos formas básicas de instalar esta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2288&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La instalación de NetBeans, en cualquiera de los sistemas operativos Windows, Linux o Solaris, requiere de la instalación previa del JDK (Java Development Kit). Actualmente la versión mas reciente es JDK 6 update 25, mientras que en lo que se refiere al IDE, la versión mas moderna es NetBeans 7.0.</p>
<p>Existen dos formas básicas de instalar esta combinación en Windows:</p>
<p>A) De forma conjunta, es decir, el mismo instalador monta conjuntamente ambos productos.</p>
<p>Esta opción presenta el inconveniente de que la instalación se realiza con un grupo de opciones y componentes elegidos por Oracle &#8211; Sun, y por ello, pudiera ser que dichos componentes o plugins no sean exactamente los que necesitemos para la tarea prevista.</p>
<p>B) De forma separada. Es decir, primero se instala independientemente JDK 6 update 25 y luego mas tarde NetBeans 7.0</p>
<p>Esta opción, resulta mas conveniente, ya que, como mas tarde se verá, en el momento de la descarga de NetBeans podemos elegir los componentes, plugins, etc&#8230;, de acuerdo a las necesidades del proyecto que se quiere realizar.</p>
<p>Adoptaremos aquí la opción B, para ello necesitamos</p>
<p>1.- Descargar e Instalar JDK 6 Update 25</p>
<p>2.- Descargar e Instalar NetBeans 7.0 con la máxima versatilidad posible. (servidores y lenguajes).</p>
<p><img title="Más..." src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Empecemos pues con la descarga de JDK 6 Update 25. Ésta puede hacerse desde la página</p>
<p><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a> , desde donde seleccionamos la opción:</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image1-56/" rel="attachment wp-att-2290"><img class="aligncenter size-full wp-image-2290" title="Image1" src="http://jtagua.files.wordpress.com/2011/05/image1.jpg?w=530&#038;h=323" alt="" width="530" height="323" /></a></p>
<p><img title="Más..." src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>&#8220;Download JDK&#8221;, aparecerá una nueva página desde donde tendremos que aceptar los términos de la licencia</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image2-49/" rel="attachment wp-att-2293"><img class="aligncenter size-full wp-image-2293" title="Image2" src="http://jtagua.files.wordpress.com/2011/05/image2.jpg?w=530&#038;h=118" alt="" width="530" height="118" /></a>y finalmente seleccionar la versión del sistema operativo deseado:</p>
<p>Para Windows,</p>
<ul>
<li> Windows x86,76.66 MB,jdk-6u25-windows-i586.exe</li>
</ul>
<ul>
<li> Windows Intel Itanium,67.27 MB,jdk-6u25-windows-ia64.exe</li>
</ul>
<ul>
<li> Windows x64,67.27 MB,jdk-6u25-windows-x64.exe</li>
</ul>
<p>Para Linux,</p>
<ul>
<li> Linux x86 &#8211; RPM Installer,76.85 MB, jdk-6u25-linux-i586-rpm.bin</li>
</ul>
<ul>
<li> Linux x86 &#8211; Self Extracting Installer,81.11 MB, jdk-6u25-linux-i586.bin</li>
</ul>
<ul>
<li> Linux Intel Itanium &#8211; RPM Installer,76.85 MB, jdk-6u25-linux-ia64-rpm.bin</li>
</ul>
<ul>
<li> Linux Intel Itanium &#8211; Self Extracting Installer,81.11 MB, jdk-6u25-linux-ia64.bin</li>
</ul>
<ul>
<li> Linux x64 &#8211; RPM Installer,77.06 MB, jdk-6u25-linux-x64-rpm.bin</li>
</ul>
<ul>
<li> Linux x64 &#8211; Self Extracting Installer,81.36 MB, jdk-6u25-linux-x64.bin</li>
</ul>
<p>Tal como puede verse, podemos seleccionar la plataforma o sistema operativo (Windows, Linux, Solaris) en distintas versiones.  En la pantalla anterior hacemos click sobre<strong> jdk-6u25-windows-i586.exe</strong>, y obtendremos el programa instalador. Para instalar ahora JDK hacemos doble click sobre dicho ejecutable</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image3-47/" rel="attachment wp-att-2296"><img class="aligncenter size-full wp-image-2296" title="Image3" src="http://jtagua.files.wordpress.com/2011/05/image3.jpg?w=530" alt=""   /></a></p>
<p>Aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image4-33/" rel="attachment wp-att-2305"><img class="aligncenter size-full wp-image-2305" title="Image4" src="http://jtagua.files.wordpress.com/2011/05/image4.jpg?w=530" alt=""   /></a></p>
<p>Hacemos click en &#8220;Ejecutar&#8221; y aparecerán los términos de la licencia</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image5-39/" rel="attachment wp-att-2313"><img class="aligncenter size-full wp-image-2313" title="Image5" src="http://jtagua.files.wordpress.com/2011/05/image5.jpg?w=530" alt=""   /></a><a href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image7-24/" rel="attachment wp-att-2198"><br />
</a>Si hacemos Next, después de cambiar la carpeta donde deseamos la instalación</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image6-30/" rel="attachment wp-att-2306"><img class="aligncenter size-full wp-image-2306" title="Image6" src="http://jtagua.files.wordpress.com/2011/05/image6.jpg?w=530" alt=""   /></a><br />
Tal como puede verse en la pantalla anterior, existen 5 componentes : Development Tools, Demos and Samples, Source Code, Public JRE y Java DB. Hacemos ahora Next y comenzará la instalación,</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image7-27/" rel="attachment wp-att-2307"><img class="aligncenter size-full wp-image-2307" title="Image7" src="http://jtagua.files.wordpress.com/2011/05/image7.jpg?w=530" alt=""   /></a></p>
<p>Todavía pedirá la carpeta donde deseamos instalar jre6</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image8-25/" rel="attachment wp-att-2308"><img class="aligncenter size-full wp-image-2308" title="Image8" src="http://jtagua.files.wordpress.com/2011/05/image8.jpg?w=530" alt=""   /></a></p>
<p>Hacemos Next,</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image9-24/" rel="attachment wp-att-2309"><img class="aligncenter size-full wp-image-2309" title="Image9" src="http://jtagua.files.wordpress.com/2011/05/image9.jpg?w=530" alt=""   /></a></p>
<p><strong>Development Tools:</strong></p>
<p>Este es el único elemento de instalación obligatoria. (Aunque lo recomendable es instalar TODO).</p>
<p>Este elemento es el Java SE Development Kit 6 Update 14, que incluye JRE (Java Runtime Environment) a Update 14.</p>
<p>El paquete JRE proporciona la máquina virtual de JAVA ó JVM (Java Virtual Machine), para que el código sea interpretado para un determinado  sistema operativo. Además, contiene todo el conjunto de APIs indispensables para que el código JAVA pueda ejecutarse. Existe un JVM por cada sistema operativo (Windows, Linux, Solaris), e incluso plataforma, como por ejemplo dispositivos móviles, PDA y otros.</p>
<p>El componente necesita 300 Mb. en disco duro.</p>
<p><strong>Demos and Samples:</strong></p>
<p>Este componente proporciona el código fuente de algunas Demos y Applets.</p>
<p>El componente necesita 46 Mb de disco duro.</p>
<p><strong>Source Code:</strong></p>
<p>Este componente contiene el código fuente de las clases que componen el API de Java.</p>
<p>El componente necesita 49 Mb de disco duro.</p>
<p><strong>Public JRE:</strong></p>
<p>El componente necesita 173 Mb de disco duro.</p>
<p><strong>Java DB:</strong></p>
<p>Este componente es la base de datos desarrollada por Oracle-  Sun con un código 100 % Java.</p>
<p>El componente necesita 25 Mb de disco duro. (Este no lo incluyo en la instalación)</p>
<p>Finalmente</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image10-22/" rel="attachment wp-att-2310"><img class="aligncenter size-full wp-image-2310" title="Image10" src="http://jtagua.files.wordpress.com/2011/05/image10.jpg?w=530" alt=""   /></a></p>
<p>Esta pantalla pretende servir de puente entre los &#8220;desarrolladores&#8221; y el equipo de Oracle &#8211; Sun que desarrolla las herramientas para así  establecer una adecuada política de uso y satisfacción de los desarrolladores. Aunque el registro no es obligatorio es interesante realizarlo por las ventajas que ello supone.</p>
<p>Vamos ahora con la segunda parte de la instalación, de decir, la descarga e instalación del propio NetBeans 7.0 para Windows</p>
<p>Para ello vamos a la página principal de NetBeans   <a href="http://netbeans.org/downloads/index.html">http://netbeans.org/downloads/index.html</a></p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image11-23/" rel="attachment wp-att-2314"><img class="aligncenter size-full wp-image-2314" title="Image11" src="http://jtagua.files.wordpress.com/2011/05/image11.jpg?w=530&#038;h=286" alt="" width="530" height="286" /></a></p>
<p>Tal como puede observarse, podemos elegir inicialmente tanto el lenguaje como el sistema operativo en que deseamos trabajar. Por otra parte podemos seleccionar las opciones que se ajusten a los proyectos con los que deseamos trabajar, así como los servidores web que permitirán ejecutar las aplicaciones y finalmente también puede seleccionarse las distintas plataformas con las que deseamos trabajar según el proyecto: J2SE, J2EE y J2ME.</p>
<p>Si elegimos la combinación &#8220;All&#8221; en Español y en Windows, finalmente se descargará</p>
<p>NetBeans 7.0 Instalador para Windows/Español (es) (netbeans-7.0-ml-windows.exe)</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image12-19/" rel="attachment wp-att-2315"><img class="aligncenter size-full wp-image-2315" title="Image12" src="http://jtagua.files.wordpress.com/2011/05/image12.jpg?w=530" alt=""   /></a></p>
<p>Una vez descargado, para instalar, hacemos doble click en</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image13-17/" rel="attachment wp-att-2318"><img class="aligncenter size-full wp-image-2318" title="Image13" src="http://jtagua.files.wordpress.com/2011/05/image13.jpg?w=530" alt=""   /></a></p>
<p>y aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image14-16/" rel="attachment wp-att-2321"><img class="aligncenter size-full wp-image-2321" title="Image14" src="http://jtagua.files.wordpress.com/2011/05/image14.jpg?w=530" alt=""   /></a>Si hacemos Ejecutar</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image20-9/" rel="attachment wp-att-2328"><img class="aligncenter size-full wp-image-2328" title="Image20" src="http://jtagua.files.wordpress.com/2011/05/image20.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image15-10/" rel="attachment wp-att-2322"><br />
</a>antes de continuar y con objeto de disponer del servidor de aplicaciones Apache, hacemos click en &#8220;Personalizar&#8221;, con lo que aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image21-10/" rel="attachment wp-att-2329"><img class="aligncenter size-full wp-image-2329" title="Image21" src="http://jtagua.files.wordpress.com/2011/05/image21.jpg?w=530&#038;h=411" alt="" width="530" height="411" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image16-11/" rel="attachment wp-att-2324"><br />
</a>Seleccionamos o deseleccionamos el servidor o servidores de aplicaciones deseados. En mi caso, y para darle la máxima versatilidad seleccionamos todos los lenguajes. Aceptamos con OK y aparece</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image22-8/" rel="attachment wp-att-2330"><img class="aligncenter size-full wp-image-2330" title="Image22" src="http://jtagua.files.wordpress.com/2011/05/image22.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image17-12/" rel="attachment wp-att-2325"><br />
</a><br />
Hacemos ahora click en &#8220;Siguiente&#8221;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image23-8/" rel="attachment wp-att-2331"><img class="aligncenter size-full wp-image-2331" title="Image23" src="http://jtagua.files.wordpress.com/2011/05/image23.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image18-7/" rel="attachment wp-att-2326"><br />
</a>Aceptamos los términos de la licencia y hacemos click en &#8220;Siguiente&#8221;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image24-8/" rel="attachment wp-att-2332"><img class="aligncenter size-full wp-image-2332" title="Image24" src="http://jtagua.files.wordpress.com/2011/05/image24.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image19-11/" rel="attachment wp-att-2327"><br />
</a>Aceptamos los términos de la licencia de JUnit y pulsamos Next</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image28-7/" rel="attachment wp-att-2338"><img class="aligncenter size-full wp-image-2338" title="Image28" src="http://jtagua.files.wordpress.com/2011/05/image28.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a></p>
<p>Fijamos el directorio y subdirectorios donde deseamos instalar el IDE y el JDK y pulsamos &#8220;Siguiente&#8221;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image29-8/" rel="attachment wp-att-2339"><img class="aligncenter size-full wp-image-2339" title="Image29" src="http://jtagua.files.wordpress.com/2011/05/image29.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image26-5/" rel="attachment wp-att-2336"><br />
</a>Fijamos el directorio y subdirectorios donde deseamos instalar GlassFish y pulsamos &#8220;Siguiente&#8221;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image30-6/" rel="attachment wp-att-2340"><img class="aligncenter size-full wp-image-2340" title="Image30" src="http://jtagua.files.wordpress.com/2011/05/image30.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image27-6/" rel="attachment wp-att-2337"><br />
</a>Fijamos el directorio y subdirectorios donde deseamos instalar Apache y pulsamos &#8220;Siguiente&#8221;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image31-6/" rel="attachment wp-att-2341"><img class="aligncenter size-full wp-image-2341" title="Image31" src="http://jtagua.files.wordpress.com/2011/05/image31.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a></p>
<p>La pantalla anterior presenta el resumen de todas las carpetas indicadas así como la cantidad de memoria disco necesaria.</p>
<p>Si estamos conformes, hacemos click en &#8220;Instalar&#8221;. Comenzará la instalación,</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image32-6/" rel="attachment wp-att-2342"><img class="aligncenter size-full wp-image-2342" title="Image32" src="http://jtagua.files.wordpress.com/2011/05/image32.jpg?w=530&#038;h=397" alt="" width="530" height="397" /></a></p>
<p>y cuando finalice, nos registramos, si lo deseamos, y finalmente pulsamos &#8220;Terminar&#8221;.</p>
<p><a href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image10-20/" rel="attachment wp-att-2225"><img class="aligncenter" title="Image10" src="http://jtagua.files.wordpress.com/2010/12/image101.jpg?w=570&#038;h=443" alt="" width="570" height="443" /></a></p>
<p>La pantalla anterior aparecerá cuando finalice el proceso de instalación. Creamos una cuenta si lo deseamos, y cerramos el navegador, y con esto queda terminada la instalación de NetBeans 7.0</p>
<p><a href="http://jtagua.wordpress.com/2010/06/17/descarga-e-instalacion-separada-de-jdk-6-update-20-y-netbeans-6-9-windows/image10-9/" rel="attachment wp-att-794"><img class="aligncenter" title="Image10" src="http://jtagua.files.wordpress.com/2010/06/image101.jpg?w=531&#038;h=480" alt="" width="531" height="480" /></a></p>
<p>Comprobamos que en el escritorio se ha incluido un nuevo icono que permite ejecutar NetBeans IDE 6.9</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image33-4/" rel="attachment wp-att-2345"><img class="aligncenter size-full wp-image-2345" title="Image33" src="http://jtagua.files.wordpress.com/2011/05/image33.jpg?w=530" alt=""   /></a></p>
<p>Si hacemos doble click aparecerá el IDE</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image34-3/" rel="attachment wp-att-2346"><img class="aligncenter size-full wp-image-2346" title="Image34" src="http://jtagua.files.wordpress.com/2011/05/image34.jpg?w=530&#038;h=416" alt="" width="530" height="416" /></a></p>
<p>Aunque no es necesario, pero para comenzar sería conveniente realizar dos tareas previas con el entorno integrado, una se refiere a los complementos y la forma de actualizar los módulos y la otra a la carga de la librería necesaria para trabajar con MySQL.</p>
<p>En el primer caso, y una vez abierto el IDE, vamos a la opción del menú principal &#8220;Herramientas&#8221; y &#8220;Complementos&#8221; y aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image35-4/" rel="attachment wp-att-2347"><img class="aligncenter size-full wp-image-2347" title="Image35" src="http://jtagua.files.wordpress.com/2011/05/image35.jpg?w=530&#038;h=309" alt="" width="530" height="309" /></a></p>
<p>En la pestaña &#8220;Instalado&#8221; podemos comprobar los 11 módulos instalados, de acuerdo a la instalación realizada.</p>
<p>En la pestaña &#8220;Plugins disponibles&#8221; podemos comprobar que existen 40 plugins disponibles para su instalación y que no están instalados.</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image36-3/" rel="attachment wp-att-2348"><img class="aligncenter size-full wp-image-2348" title="Image36" src="http://jtagua.files.wordpress.com/2011/05/image36.jpg?w=530&#038;h=309" alt="" width="530" height="309" /></a></p>
<p>Merecería la pena instalar como mínimo la documentación del API de  NetBeans, es decir, lo señalamos y pulsamos instalar</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image37-3/" rel="attachment wp-att-2349"><img class="aligncenter size-full wp-image-2349" title="Image37" src="http://jtagua.files.wordpress.com/2011/05/image37.jpg?w=530&#038;h=309" alt="" width="530" height="309" /></a></p>
<p>aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image38-2/" rel="attachment wp-att-2350"><img class="aligncenter size-full wp-image-2350" title="Image38" src="http://jtagua.files.wordpress.com/2011/05/image38.jpg?w=530&#038;h=274" alt="" width="530" height="274" /></a></p>
<p>en la siguiente pantalla aceptamos la licencia</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image39-2/" rel="attachment wp-att-2351"><img class="aligncenter size-full wp-image-2351" title="Image39" src="http://jtagua.files.wordpress.com/2011/05/image39.jpg?w=530&#038;h=407" alt="" width="530" height="407" /></a></p>
<p>Pulsamos ahora &#8220;Instalar&#8221; y &#8230;</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image41-2/" rel="attachment wp-att-2352"><img class="aligncenter size-full wp-image-2352" title="Image41" src="http://jtagua.files.wordpress.com/2011/05/image41.jpg?w=530&#038;h=404" alt="" width="530" height="404" /></a></p>
<p>Como quiera que sea que aún nos queda otra cuestión relativa al IDE, seleccionamos el botón &#8220;Reiniciar el IDE luego&#8221; y hacemos &#8220;Terminar&#8221;.</p>
<p>Seleccionamos ahora la pestaña &#8220;Configuración&#8221; y aparecerá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image42-2/" rel="attachment wp-att-2353"><img class="aligncenter size-full wp-image-2353" title="Image42" src="http://jtagua.files.wordpress.com/2011/05/image42.jpg?w=530&#038;h=282" alt="" width="530" height="282" /></a></p>
<p>Ahora sólo quedaría indicar que deseamos buscar actualizaciones de los módulos en &#8220;cada inicio&#8221;, es decir</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image43-2/" rel="attachment wp-att-2354"><img class="aligncenter size-full wp-image-2354" title="Image43" src="http://jtagua.files.wordpress.com/2011/05/image43.jpg?w=530&#038;h=282" alt="" width="530" height="282" /></a></p>
<p>Hacemos ahora Reiniciamos,</p>
<p><a href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image22-7/" rel="attachment wp-att-2239"><img title="Image22" src="http://jtagua.files.wordpress.com/2010/12/image22.jpg?w=538&#038;h=307" alt="" width="538" height="307" /></a></p>
<p>Pulsamos ahora Terminar para reiniciar el IDE.</p>
<p>Si después de reiniciar volviera apareciera el mensaje de que existen actualizaciones, vamos a Herramientas/Complementos y actualizamos.</p>
<p>Aún queda una cuestión relacionada con el manejo de las bases de datos MySQL, y es la instalación del conector J o JDBC para MySQL.</p>
<p>Para resolver esto vamos a la dirección <a href="http://www.mysql.com/products/connector/">http://www.mysql.com/products/connector</a>/ , desde donde podemos descargar el conector J para MySQL (entre otros),  para descargar el archivo <code>mysql-connector-java-5.1.16.zip.</code></p>
<p>No sería mala idea crear otra carpeta llamada &#8220;Otraslibrerias&#8221;, (dentro de la carpeta NetBeans) donde colocar la carpeta descomprimida tanto del conector J bajado, así como otras librerías de interés tal como la <a href="http://sourceforge.net/projects/jfreechart/files/">JFreeChart </a>.</p>
<p>Una última cuestión necesaria es definir el navegador que utilizará el IDE de NetBeans, para ello, seleccione Herramientas/Opciones</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image1-57/" rel="attachment wp-att-2355"><img class="aligncenter size-full wp-image-2355" title="Image1" src="http://jtagua.files.wordpress.com/2011/05/image110.jpg?w=530&#038;h=320" alt="" width="530" height="320" /></a></p>
<p>Seleccione el navegador desde la lista,</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image2-50/" rel="attachment wp-att-2356"><img class="aligncenter size-full wp-image-2356" title="Image2" src="http://jtagua.files.wordpress.com/2011/05/image210.jpg?w=530&#038;h=358" alt="" width="530" height="358" /></a></p>
<p>Para montar el conector J es necesario tener abierto cualquier proyecto. Vamos a abrir los ejemplos, para ello, haga Archivo/Proyecto nuevo y localice la categoría Java Web y los proyectos denominados &#8220;JSP examples&#8221;,</p>
<p><a href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image25-3/" rel="attachment wp-att-2246"><img class="aligncenter" title="Image25" src="http://jtagua.files.wordpress.com/2010/12/image25.jpg?w=570&#038;h=290" alt="" width="570" height="290" /></a></p>
<p>Haga siguiente,</p>
<p><a href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image26-4/" rel="attachment wp-att-2247"><img class="aligncenter" title="Image26" src="http://jtagua.files.wordpress.com/2010/12/image26.jpg?w=570&#038;h=198" alt="" width="570" height="198" /></a></p>
<p>Asigne un nombre al proyecto y haga Terminar, y aparecerán una serie de proyectos Web escritos en JSP. Ahora observe que el menú principal está contextualizado, ahora aparece una opción llamada &#8220;Herramientas&#8221;, sitúese en &#8220;Bibliotecas&#8221; y localice &#8220;Driver MySQL JDBC&#8221;. Es muy posible que el fichero jar que describe esta biblioteca (Conector J de MySQL) no esté actualizado. En nuestra instalación,</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image3-49/" rel="attachment wp-att-2358"><img class="aligncenter size-full wp-image-2358" title="Image3" src="http://jtagua.files.wordpress.com/2011/05/image311.jpg?w=530&#038;h=239" alt="" width="530" height="239" /></a><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image3-48/" rel="attachment wp-att-2357"><br />
</a></p>
<p>Como vemos la versión instalada por NetBeans es la 5.1.13 y hemos bajado anteriormente la 5.1.16, será necesario cambiarla. Para ello, descomprima la carpeta que contiene la version en formato comprimido de 5.1.16, es decir:</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image5-40/" rel="attachment wp-att-2359"><img class="aligncenter size-full wp-image-2359" title="Image5" src="http://jtagua.files.wordpress.com/2011/05/image51.jpg?w=530&#038;h=178" alt="" width="530" height="178" /></a></p>
<p>Observe que en dicha carpeta se encuentra el elemento musql-connector-java-5.1.16-bin.jar.</p>
<p>Sitúese ahora dentro del IDE en el Administrador de Bibliotecas, (Herramientas y Bibliotecas)</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image6-31/" rel="attachment wp-att-2360"><img class="aligncenter size-full wp-image-2360" title="Image6" src="http://jtagua.files.wordpress.com/2011/05/image61.jpg?w=530&#038;h=414" alt="" width="530" height="414" /></a></p>
<p>Localice el &#8220;Driver MySQL JDBC&#8221;, pulse en &#8220;Agregar archivo JAR/Carpeta&#8221; y localice el fichero jar que contiene al conector J que ha descomprimido,</p>
<p>Haga Agregar &#8230; y obtendrá</p>
<p><a href="http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/image7-28/" rel="attachment wp-att-2363"><img class="aligncenter size-full wp-image-2363" title="Image7" src="http://jtagua.files.wordpress.com/2011/05/image71.jpg?w=530&#038;h=414" alt="" width="530" height="414" /></a></p>
<p>Suprima el archivo jar antigüo y acepte.</p>
<p>Finalmente, le deseo que disfrute del IDE de NetBeans  7.0. &#8230;</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/netbeans-java/'>Netbeans</a> Tagged: <a href='http://jtagua.wordpress.com/tag/netbeans-70/'>Netbeans 7.0</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/2288/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/2288/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/2288/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2288&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2011/05/01/descarga-e-instalacion-separada-de-jdk-6-update-25-y-netbeans-7-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image1.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image2.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image3.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image4.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image5.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image6.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image7.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image8.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image9.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image10.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image11.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image12.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image13.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image14.jpg" medium="image">
			<media:title type="html">Image14</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image20.jpg" medium="image">
			<media:title type="html">Image20</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image21.jpg" medium="image">
			<media:title type="html">Image21</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image22.jpg" medium="image">
			<media:title type="html">Image22</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image23.jpg" medium="image">
			<media:title type="html">Image23</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image24.jpg" medium="image">
			<media:title type="html">Image24</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image28.jpg" medium="image">
			<media:title type="html">Image28</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image29.jpg" medium="image">
			<media:title type="html">Image29</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image30.jpg" medium="image">
			<media:title type="html">Image30</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image31.jpg" medium="image">
			<media:title type="html">Image31</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image32.jpg" medium="image">
			<media:title type="html">Image32</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image101.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/06/image101.jpg?w=531" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image33.jpg" medium="image">
			<media:title type="html">Image33</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image34.jpg" medium="image">
			<media:title type="html">Image34</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image35.jpg" medium="image">
			<media:title type="html">Image35</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image36.jpg" medium="image">
			<media:title type="html">Image36</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image37.jpg" medium="image">
			<media:title type="html">Image37</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image38.jpg" medium="image">
			<media:title type="html">Image38</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image39.jpg" medium="image">
			<media:title type="html">Image39</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image41.jpg" medium="image">
			<media:title type="html">Image41</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image42.jpg" medium="image">
			<media:title type="html">Image42</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image43.jpg" medium="image">
			<media:title type="html">Image43</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image22.jpg" medium="image">
			<media:title type="html">Image22</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image110.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image210.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image25.jpg" medium="image">
			<media:title type="html">Image25</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image26.jpg" medium="image">
			<media:title type="html">Image26</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image311.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image51.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image61.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2011/05/image71.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>
	</item>
		<item>
		<title>Descarga e instalación separada de JDK 6 update 22 y Netbeans 6.9.1</title>
		<link>http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/</link>
		<comments>http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 21:15:01 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[NetBean 6.9.1]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[NetBeans 6.9.1]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=2185</guid>
		<description><![CDATA[La instalación de NetBeans, en cualquiera de los sistemas operativos Windows, Linux o Solaris, requiere de la instalación previa del JDK (Java Development Kit). Actualmente la versión mas reciente es JDK 6 update 22, mientras que en lo que se refiere al IDE, la versión mas moderna es NetBeans 6.9.1. (Al día de hoy existe una versión [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2185&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La instalación de NetBeans, en cualquiera de los sistemas operativos   Windows, Linux o Solaris, requiere de la instalación previa del JDK   (Java Development Kit). Actualmente la versión mas  reciente es JDK 6  update 22, mientras que en lo que se refiere al IDE,  la versión mas  moderna es NetBeans 6.9.1. (Al día de hoy existe una versión beta de NetBeans 7.0, pero nosotros esperaremos a la versión definitiva, por ello, instalaremos JDK 6 update 22 con NetBeans 6.9.1)</p>
<p>Existen dos formas básicas de instalar esta combinación en Windows:</p>
<p>A) De forma conjunta, es decir, el mismo instalador monta  conjuntamente ambos productos.</p>
<p>Esta  opción presenta el inconveniente de que la instalación se  realiza con un  grupo de opciones y componentes elegidos por Oracle &#8211; Sun, y por  ello, pudiera  ser que dichos componentes o plugins no sean exactamente  los que  necesitemos para la tarea prevista.</p>
<p>B) De forma separada. Es decir, primero se instala  independientemente JDK 6 update 22 y luego mas tarde NetBeans 6.9.1</p>
<p>Esta  opción, resulta mas conveniente, ya que, como mas tarde se  verá, en el  momento de la descarga de NetBeans podemos elegir los  componentes,  plugins, etc&#8230;, de acuerdo a las necesidades del proyecto  que se quiere  realizar.</p>
<p>Adoptaremos aquí la opción B, para ello necesitamos</p>
<p>1.- Descargar e Instalar JDK 6 Update 22</p>
<p>2.- Descargar e Instalar NetBeans 6.9 con la máxima versatilidad  posible. (servidores y lenguajes).</p>
<p><img title="Más..." src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Empecemos pues con la descarga de JDK 6 Update 22. Ésta puede hacerse  desde la página <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a> , desde donde seleccionamos la opción:</p>
<p><a rel="attachment wp-att-2187" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image1-54/"><img class="aligncenter size-full wp-image-2187" title="Image1" src="http://jtagua.files.wordpress.com/2010/12/image1.jpg?w=530" alt=""   /></a></p>
<p><img src="../DOCUME%7E1/JUANTA%7E1/CONFIG%7E1/Temp/moz-screenshot-1.png" alt="" /></p>
<p><img src="../DOCUME%7E1/JUANTA%7E1/CONFIG%7E1/Temp/moz-screenshot.png" alt="" /></p>
<p><img title="Más..." src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Si hacemos &#8220;Download&#8221; aparecerá</p>
<p><a rel="attachment wp-att-2186" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image2-47/"><img class="aligncenter size-full wp-image-2186" title="Image2" src="http://jtagua.files.wordpress.com/2010/12/image2.jpg?w=530" alt=""   /></a></p>
<p>Tal como puede verse, podemos seleccionar la plataforma o sistema   operativo (Windows, Linux, Solaris) en distintas versiones. En relación   al lenguaje sólo está disponible la opción Multilenguaje.</p>
<p>También, como es obvio, necesitamos estar de acuerdo con los términos   de la licencia. Para continuar, seleccionamos &#8220;Windows&#8221;,   &#8220;Multi-language&#8221;, marcamos la caja de comprobación y pulsamos</p>
<p>finalmente  &#8220;Continue&#8221;.</p>
<p><a rel="attachment wp-att-2190" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image3-44/"><img class="aligncenter size-full wp-image-2190" title="Image3" src="http://jtagua.files.wordpress.com/2010/12/image3.jpg?w=530" alt=""   /></a></p>
<p>Finalmente, en esta pantalla hacemos click sobre  jdk-6u22-windows-i586.exe, y obtendremos el programa instalador.</p>
<p><a rel="attachment wp-att-2191" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image4-30/"><img class="aligncenter size-full wp-image-2191" title="Image4" src="http://jtagua.files.wordpress.com/2010/12/image4.jpg?w=530" alt=""   /></a></p>
<p>Para instalar JDK hacemos doble click sobre</p>
<p><a rel="attachment wp-att-2194" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image5-36/"><img class="aligncenter size-full wp-image-2194" title="Image5" src="http://jtagua.files.wordpress.com/2010/12/image5.jpg?w=530" alt=""   /></a></p>
<p>Aparecerá</p>
<p><a rel="attachment wp-att-2197" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image6-27/"><img class="aligncenter size-full wp-image-2197" title="Image6" src="http://jtagua.files.wordpress.com/2010/12/image6.jpg?w=530" alt=""   /></a></p>
<p>Hacemos click en &#8220;Ejecutar&#8221; y aparecerán los términos de la licencia</p>
<p><a rel="attachment wp-att-2198" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image7-24/"><img class="aligncenter size-full wp-image-2198" title="Image7" src="http://jtagua.files.wordpress.com/2010/12/image7.jpg?w=530" alt=""   /></a></p>
<p>Si hacemos Next, después de cambiar la carpeta donde deseamos la instalación y desmarcar Java DB</p>
<p><a rel="attachment wp-att-2199" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image8-22/"></a><a rel="attachment wp-att-2202" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image9-21/"><img class="aligncenter size-full wp-image-2202" title="Image9" src="http://jtagua.files.wordpress.com/2010/12/image9.jpg?w=530" alt=""   /></a><br />
Tal como puede verse en la pantalla anterior, existen 5 componentes :    Development Tools, Demos and Samples, Source Code, Public JRE y Java    DB. Dado que no voy a utilizar inicialmente Java DB, no lo incluyo.Hacemos ahora Next comenzará la instalación,</p>
<p><a rel="attachment wp-att-2203" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image10-19/"><img class="aligncenter size-full wp-image-2203" title="Image10" src="http://jtagua.files.wordpress.com/2010/12/image10.jpg?w=530" alt=""   /></a></p>
<p><strong>Development Tools:</strong></p>
<p>Este es el único elemento de instalación obligatoria. (Aunque lo  recomendable es instalar TODO).</p>
<p>Este elemento es el Java SE Development Kit 6 Update 14, que incluye  JRE (Java Runtime Environment) a Update 14.</p>
<p>El paquete JRE proporciona la máquina virtual de JAVA ó JVM (Java   Virtual Machine), para que el código sea interpretado para un   determinado  sistema operativo. Además, contiene todo el conjunto de   APIs indispensables para que el código JAVA pueda ejecutarse. Existe un   JVM por cada sistema operativo (Windows, Linux, Solaris), e incluso   plataforma, como por ejemplo dispositivos móviles, PDA y otros.</p>
<p>El componente necesita 300 Mb. en disco duro.</p>
<p><strong>Demos and Samples:</strong></p>
<p>Este componente proporciona el código fuente de algunas Demos y  Applets.</p>
<p>El componente necesita 46 Mb de disco duro.</p>
<p><strong>Source Code:</strong></p>
<p>Este componente contiene el código fuente de las clases que componen  el API de Java.</p>
<p>El componente necesita 49 Mb de disco duro.</p>
<p><strong>Public JRE:</strong></p>
<p>El componente necesita 173 Mb de disco duro.</p>
<p><strong>Java DB:</strong></p>
<p>Este componente es la base de datos desarrollada por Oracle-  Sun con un  código 100 % Java.</p>
<p>El componente necesita 25 Mb de disco duro. (Este no lo incluyo en la instalación)</p>
<p>y cuando termine</p>
<p><a rel="attachment wp-att-2204" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image11-21/"><img class="aligncenter size-full wp-image-2204" title="Image11" src="http://jtagua.files.wordpress.com/2010/12/image11.jpg?w=530" alt=""   /></a></p>
<p>Desde esta pantalla podemos seleccionar la carpeta donde colocaremos el jre6 (runtime). En mi caso,</p>
<p><a rel="attachment wp-att-2205" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image12-16/"><img class="aligncenter size-full wp-image-2205" title="Image12" src="http://jtagua.files.wordpress.com/2010/12/image12.jpg?w=530" alt=""   /></a></p>
<p>Finalmente</p>
<p><a rel="attachment wp-att-2206" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image13-14/"><img class="aligncenter size-full wp-image-2206" title="Image13" src="http://jtagua.files.wordpress.com/2010/12/image13.jpg?w=530" alt=""   /></a></p>
<p>Esta pantalla pretende servir de puente entre los &#8220;desarrolladores&#8221; y   el equipo de Sun que desarrolla las herramientas para así  establecer</p>
<p>una adecuada política de uso y satisfacción de los desarrolladores.   Aunque el registro no es obligatorio es interesante  realizarlo</p>
<p>por las ventajas que ello supone.</p>
<p>Vamos ahora con la segunda parte de la instalación, de decir, la  descarga e instalación del propio NetBeans 6.9.1 para Windows</p>
<p>Para ello vamos a la página principal de NetBeans   <a href="http://netbeans.org/downloads/index.html">http://netbeans.org/downloads/index.html</a></p>
<p><a rel="attachment wp-att-2207" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image15-8/"><img class="aligncenter size-full wp-image-2207" title="Image15" src="http://jtagua.files.wordpress.com/2010/12/image15.jpg?w=530" alt=""   /></a></p>
<p>Tal como puede observarse, podemos elegir inicialmente tanto el   lenguaje como el sistema operativo en que deseamos trabajar. Por otra   parte podemos seleccionar las opciones que se ajusten a los   proyectos con los que deseamos trabajar, así como los servidores web que   permitirán ejecutar las aplicaciones y finalmente también puede   seleccionarse las distintas plataformas con las que deseamos trabajar   según el proyecto: J2SE, J2EE y J2ME.</p>
<p>Si elegimos la combinación &#8220;All&#8221; en Español y en Windows, finalmente  se descargará</p>
<p>NetBeans  6.9 Instalador para Windows/Español (es) (netbeans-6.9.1-ml-windows.exe)</p>
<p><a rel="attachment wp-att-2208" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image16-8/"><img class="aligncenter size-full wp-image-2208" title="Image16" src="http://jtagua.files.wordpress.com/2010/12/image16.jpg?w=530" alt=""   /></a></p>
<p>Una  vez descargado, para instalar, hacemos doble click en</p>
<p><a rel="attachment wp-att-2213" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image17-10/"><img class="aligncenter size-full wp-image-2213" title="Image17" src="http://jtagua.files.wordpress.com/2010/12/image17.jpg?w=530" alt=""   /></a></p>
<p>y  aparecerá</p>
<p><a rel="attachment wp-att-2217" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image2-48/"><img class="aligncenter size-full wp-image-2217" title="Image2" src="http://jtagua.files.wordpress.com/2010/12/image21.jpg?w=530" alt=""   /></a></p>
<p>antes  de continuar y con objeto de disponer del servidor de  aplicaciones  Apache, hacemos click en &#8220;Personalizar&#8221;, con lo que  aparecerá</p>
<p><a rel="attachment wp-att-2218" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image3-45/"><img class="aligncenter size-full wp-image-2218" title="Image3" src="http://jtagua.files.wordpress.com/2010/12/image31.jpg?w=530" alt=""   /></a></p>
<p>Seleccionamos o deseleccionamos el servidor de aplicaciones deseado.  En mi caso selecciono Apache Tomcat 6.0.26. Por otro, como no voy a utilizar Ruby, C/C++,  Groovy, por ello, los deselecciono para no ocupar un espacio innecesario. Aceptamos  y aparece</p>
<p><a rel="attachment wp-att-2219" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image4-31/"><img class="aligncenter size-full wp-image-2219" title="Image4" src="http://jtagua.files.wordpress.com/2010/12/image41.jpg?w=530" alt=""   /></a><br />
Hacemos ahora click en &#8220;Siguiente&#8221;</p>
<p><a rel="attachment wp-att-2220" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image5-37/"><img class="aligncenter size-full wp-image-2220" title="Image5" src="http://jtagua.files.wordpress.com/2010/12/image51.jpg?w=530" alt=""   /></a></p>
<p>Aceptamos  los términos de la licencia y hacemos click en &#8220;Siguiente&#8221;</p>
<p><a rel="attachment wp-att-2221" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image6-28/"><img class="aligncenter size-full wp-image-2221" title="Image6" src="http://jtagua.files.wordpress.com/2010/12/image61.jpg?w=530" alt=""   /></a></p>
<p>Fijamos el directorio y subdirectorios donde deseamos instalar Glassfish y  pulsamos &#8220;Siguiente&#8221;</p>
<p><a rel="attachment wp-att-2222" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image7-25/"><img class="aligncenter size-full wp-image-2222" title="Image7" src="http://jtagua.files.wordpress.com/2010/12/image71.jpg?w=530" alt=""   /></a></p>
<p>Fijamos el directorio y subdirectorios donde deseamos instalar Apache y  pulsamos &#8220;Siguiente&#8221;</p>
<p><a rel="attachment wp-att-2223" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image8-23/"><img class="aligncenter size-full wp-image-2223" title="Image8" src="http://jtagua.files.wordpress.com/2010/12/image81.jpg?w=530" alt=""   /></a></p>
<p>Si hacemos ahora Siguiente,</p>
<p><a rel="attachment wp-att-2224" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image9-22/"><img class="aligncenter size-full wp-image-2224" title="Image9" src="http://jtagua.files.wordpress.com/2010/12/image91.jpg?w=530" alt=""   /></a></p>
<p>La pantalla anterior presenta el resumen de todas las carpetas  indicadas así como la cantidad de memoria disco necesaria.</p>
<p>Si estamos conformes, hacemos click en &#8220;Instalar&#8221;</p>
<p>Nos registramos, si lo deseamos, y finalmente pulsamos &#8220;Terminar&#8221;.</p>
<p><a rel="attachment wp-att-2225" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image10-20/"><img class="aligncenter size-full wp-image-2225" title="Image10" src="http://jtagua.files.wordpress.com/2010/12/image101.jpg?w=530" alt=""   /></a></p>
<p>La pantalla anterior aparecerá cuando finalice el proceso de  instalación. Creamos una cuenta si lo deseamos, y cerramos el navegador,  y con  esto queda terminada la instalación de NetBeans 6.9.1</p>
<p><a rel="attachment wp-att-794" href="http://jtagua.wordpress.com/2010/06/17/descarga-e-instalacion-separada-de-jdk-6-update-20-y-netbeans-6-9-windows/image10-9/"><img class="aligncenter" title="Image10" src="http://jtagua.files.wordpress.com/2010/06/image101.jpg?w=531&#038;h=480" alt="" width="531" height="480" /></a></p>
<p>Comprobamos que en el escritorio se ha incluido un nuevo icono que  permite ejecutar NetBeans IDE 6.9</p>
<p><a rel="attachment wp-att-2226" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image11-22/"><img class="aligncenter size-full wp-image-2226" title="Image11" src="http://jtagua.files.wordpress.com/2010/12/image111.jpg?w=530" alt=""   /></a></p>
<p>Si hacemos doble click aparecerá el IDE</p>
<p><a rel="attachment wp-att-2229" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image12-17/"><img class="aligncenter size-full wp-image-2229" title="Image12" src="http://jtagua.files.wordpress.com/2010/12/image121.jpg?w=530" alt=""   /></a></p>
<p>Aunque no es necesario, pero para comenzar sería conveniente realizar  dos tareas previas con el entorno integrado, una se refiere a los  complementos y la forma de actualizar los módulos y la otra a la carga  de la librería necesaria para trabajar con MySQL.</p>
<p>En el primer caso, y una vez abierto el IDE, vamos a la opción del menú principal &#8220;Herramientas&#8221; y &#8220;Complementos&#8221; y aparecerá</p>
<p><a rel="attachment wp-att-2230" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image13-15/"><img class="aligncenter size-full wp-image-2230" title="Image13" src="http://jtagua.files.wordpress.com/2010/12/image131.jpg?w=530" alt=""   /></a></p>
<p>En la pestaña &#8220;Instalado&#8221; podemos comprobar los 7 módulos instalados, de acuerdo a la instalación realizada.</p>
<p>En la pestaña &#8220;Plugins disponibles&#8221; podemos comprobar que existen 70  plugins disponibles para su instalación y que no están instalados.  Merecería la pena instalar como mínimo la documentación del API de   NetBeans, es decir, lo señalamos y pulsamos instalar</p>
<p><a rel="attachment wp-att-2231" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image14-15/"><img class="aligncenter size-full wp-image-2231" title="Image14" src="http://jtagua.files.wordpress.com/2010/12/image14.jpg?w=530" alt=""   /></a></p>
<p>aparecerá</p>
<p><a rel="attachment wp-att-2232" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image15-9/"><img class="aligncenter size-full wp-image-2232" title="Image15" src="http://jtagua.files.wordpress.com/2010/12/image151.jpg?w=530" alt=""   /></a></p>
<p>en la siguiente pantalla aceptamos la licencia</p>
<p><a rel="attachment wp-att-2233" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image16-9/"><img class="aligncenter size-full wp-image-2233" title="Image16" src="http://jtagua.files.wordpress.com/2010/12/image161.jpg?w=530" alt=""   /></a></p>
<p>Pulsamos ahora &#8220;Instalar&#8221; y &#8230;</p>
<p><a rel="attachment wp-att-2234" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image17-11/"><img class="aligncenter size-full wp-image-2234" title="Image17" src="http://jtagua.files.wordpress.com/2010/12/image171.jpg?w=530" alt=""   /></a></p>
<p>Como quiera que sea que aún nos queda otra cuestión relativa al IDE,  seleccionamos el botón &#8220;Reiniciar el IDE luego&#8221; y hacemos &#8220;Terminar&#8221;.</p>
<p>Seleccionamos ahora la pestaña &#8220;Configuración&#8221; y aparecerá</p>
<p><a rel="attachment wp-att-2235" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image18-6/"><img class="aligncenter size-full wp-image-2235" title="Image18" src="http://jtagua.files.wordpress.com/2010/12/image18.jpg?w=530" alt=""   /></a></p>
<p>Ahora sólo quedaría indicar que deseamos buscar actualizaciones de los módulos en &#8220;cada inicio&#8221;, es decir</p>
<p><a rel="attachment wp-att-2236" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image19-10/"><img class="aligncenter size-full wp-image-2236" title="Image19" src="http://jtagua.files.wordpress.com/2010/12/image19.jpg?w=530" alt=""   /></a></p>
<p>Vemos que existe una acttualización. Vamos a la pestaña de Actualización</p>
<p><a rel="attachment wp-att-2237" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image20-8/"><img class="aligncenter size-full wp-image-2237" title="Image20" src="http://jtagua.files.wordpress.com/2010/12/image20.jpg?w=530" alt=""   /></a></p>
<p>Hacemos inmediatamente Actualizar</p>
<p><a rel="attachment wp-att-2238" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image21-9/"><img class="aligncenter size-full wp-image-2238" title="Image21" src="http://jtagua.files.wordpress.com/2010/12/image211.jpg?w=530" alt=""   /></a></p>
<p>Hacemos ahora Siguiente,</p>
<p><a rel="attachment wp-att-2239" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image22-7/"><img class="aligncenter size-full wp-image-2239" title="Image22" src="http://jtagua.files.wordpress.com/2010/12/image22.jpg?w=530" alt=""   /></a></p>
<p>Pulsamos ahora Terminar para reiniciar el IDE.</p>
<p>Si después de reiniciar volviera apareciera el mensaje de que existen actualizaciones, vamos a Herramientas/Complementos y actualizamos.</p>
<p>Aún queda una cuestión relacionada con el manejo de las bases de  datos MySQL, y es la instalación del conector J o JDBC para MySQL.</p>
<p>Para resolver esto vamos a la dirección <a href="http://www.mysql.com/products/connector/">http://www.mysql.com/products/connector</a>/ , desde donde podemos descargar el conector J para MySQL (entre otros),  para descargar el archivo <code>mysql-connector-java-5.1.13.zip.</code></p>
<p>No sería mala idea crear otra carpeta llamada &#8220;Otraslibrerias&#8221;, (dentro de la carpeta NetBeans) donde colocar la carpeta descomprimida tanto del conector J bajado, así como otras librerías de interés tal como la <a href="http://sourceforge.net/projects/jfreechart/files/">JFreeChart </a>.</p>
<p>Una última cuestión necesaria es definir el navegador que utilizará el IDE de NetBeans, para ello, seleccione Herramientas/Opciones</p>
<p><a rel="attachment wp-att-2244" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image23-7/"><img class="aligncenter size-full wp-image-2244" title="Image23" src="http://jtagua.files.wordpress.com/2010/12/image23.jpg?w=530" alt=""   /></a></p>
<p>Seleccione el navegador desde la lista,</p>
<p><a rel="attachment wp-att-2245" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image24-7/"><img class="aligncenter size-full wp-image-2245" title="Image24" src="http://jtagua.files.wordpress.com/2010/12/image24.jpg?w=530" alt=""   /></a></p>
<p>Para montar el conector J es necesario tener abierto cualquier proyecto. Vamos a abrir los ejemplos, para ello, haga Archivo/Proyecto nuevo y localice la categoría Java Web y los proyectos denominados &#8220;JSP examples&#8221;,</p>
<p><a rel="attachment wp-att-2246" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image25-3/"><img class="aligncenter size-full wp-image-2246" title="Image25" src="http://jtagua.files.wordpress.com/2010/12/image25.jpg?w=530" alt=""   /></a></p>
<p>Haga siguiente,</p>
<p><a rel="attachment wp-att-2247" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image26-4/"><img class="aligncenter size-full wp-image-2247" title="Image26" src="http://jtagua.files.wordpress.com/2010/12/image26.jpg?w=530" alt=""   /></a></p>
<p>Asigne un nombre al proyecto y haga Terminar, y aparecerán una serie de proyectos Web escritos en JSP. Ahora observe que el menú principal está contextualizado, ahora aparece una opción llamada &#8220;Herramientas&#8221;, sitúese en &#8220;Bibliotecas&#8221; y localice &#8220;Driver MySQL JDBC&#8221;. Es muy posible que el fichero jar que describe esta biblioteca (Conector J de MySQL) no esté actualizado. En nuestra instalación,</p>
<p><a rel="attachment wp-att-2248" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image27-5/"><img class="aligncenter size-full wp-image-2248" title="Image27" src="http://jtagua.files.wordpress.com/2010/12/image27.jpg?w=530" alt=""   /></a></p>
<p>Como vemos la versión instalada por NetBeans es la 5.1.6 y hemos bajado anteriormente la 5.1.13, será necesario cambiarla, para ello, pulse en &#8220;Agregar archivo JAR/Carpeta&#8221; y localice el fichero jar que contiene al conector J,</p>
<p><a rel="attachment wp-att-2249" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image28-6/"><img class="aligncenter size-full wp-image-2249" title="Image28" src="http://jtagua.files.wordpress.com/2010/12/image28.jpg?w=530" alt=""   /></a></p>
<p>Haga Agregar &#8230; y obtendrá</p>
<p><a rel="attachment wp-att-2250" href="http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/image29-7/"><img class="aligncenter size-full wp-image-2250" title="Image29" src="http://jtagua.files.wordpress.com/2010/12/image29.jpg?w=530" alt=""   /></a></p>
<p>Suprima el archivo jar antigüo y acepte.</p>
<p>Finalmente, le deseo que disfrute del IDE de NetBeans  6.9.1. &#8230;</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/netbeans-java/netbean-6-9-1/'>NetBean 6.9.1</a>, <a href='http://jtagua.wordpress.com/category/java/netbeans-java/'>Netbeans</a> Tagged: <a href='http://jtagua.wordpress.com/tag/netbeans-6-9-1/'>NetBeans 6.9.1</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/2185/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/2185/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/2185/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2185&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/12/05/descarga-e-instalacion-separada-de-jdk-6-update-22-y-netbeans-6-9-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image1.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image2.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image3.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image4.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image5.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image6.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image7.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image9.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image10.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image11.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image12.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image13.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image15.jpg" medium="image">
			<media:title type="html">Image15</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image16.jpg" medium="image">
			<media:title type="html">Image16</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image17.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image21.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image31.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image41.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image51.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image61.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image71.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image81.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image91.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image101.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/06/image101.jpg?w=531" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image111.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image121.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image131.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image14.jpg" medium="image">
			<media:title type="html">Image14</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image151.jpg" medium="image">
			<media:title type="html">Image15</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image161.jpg" medium="image">
			<media:title type="html">Image16</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image171.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image18.jpg" medium="image">
			<media:title type="html">Image18</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image19.jpg" medium="image">
			<media:title type="html">Image19</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image20.jpg" medium="image">
			<media:title type="html">Image20</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image211.jpg" medium="image">
			<media:title type="html">Image21</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image22.jpg" medium="image">
			<media:title type="html">Image22</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image23.jpg" medium="image">
			<media:title type="html">Image23</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image24.jpg" medium="image">
			<media:title type="html">Image24</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image25.jpg" medium="image">
			<media:title type="html">Image25</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image26.jpg" medium="image">
			<media:title type="html">Image26</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image27.jpg" medium="image">
			<media:title type="html">Image27</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image28.jpg" medium="image">
			<media:title type="html">Image28</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/12/image29.jpg" medium="image">
			<media:title type="html">Image29</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de Servlet (1): Introducción, Ciclo de Vida y Ejemplo básico.</title>
		<link>http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/</link>
		<comments>http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 14:41:24 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Introducción]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutorial de Servlet]]></category>
		<category><![CDATA[Introducción a los Servlet]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=2062</guid>
		<description><![CDATA[¿Qué son los Servlets de Java? Los Servlets son programas escritos en Java y que dan una respuesta alternativa a la programación Web con CGI , ampliando su funcionalidad. Se ejecutan en un servidor Web dentro de un contenedor de servlets (por ejemplo Apache Tomcat) y construyen páginas Web. Algunas de las ventajas de los [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2062&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>¿Qué son los Servlets de Java?</h3>
<p>Los Servlets son programas escritos en Java y que dan una respuesta alternativa a la programación Web con <a href="http://es.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> , ampliando su funcionalidad. Se ejecutan en un servidor Web dentro de un contenedor de servlets (por ejemplo Apache Tomcat) y  construyen páginas Web.</p>
<p>Algunas de las ventajas de los Servlet frente a los CGI podrían ser:</p>
<ul>
<li><strong>Más Eficiencia</strong>. Con CGI tradicional, se arranca un nuevo proceso  para cada solicitud HTTP. Con los Servlets, cada petición es manejada por un hilo y no un proceso del sistema operativo. De forma  similar, en CGI tradicional, si hay N peticiones simultáneas para el  mismo programa CGI, el código de este problema se cargará N veces en  memoria. Sin embargo, con los Servlets, hay N hilos pero sólo una  copia de la clase Servlet.</li>
<li><strong>Más Potencia</strong>. Los Servlets Java nos permiten fácilmente hacer  muchas tareas que son difíciles con un CGI normal. Esto  simplifica las operaciones que se necesitan para buscar imágenes y otros  datos almacenados en situaciones estándards. Los Servlets también  pueden compartir los datos entre ellos, también  pueden mantener información de solicitud en solicitud, simplificando el seguimiento de sesiones,manejas cookies y cabeceras. La razón básica de esta potencia es la propia potencia de Java.</li>
<li><strong>Más Portablilidad</strong>. Los Servlets están escritos en Java y siguen un  API bien estandarizado y por tanto, están soportados  directamente en la mayoría de los servidores Web.</li>
<li><strong>Más Barato</strong>. Hay un número de servidores Web gratuitos o muy  baratos que son buenos para el uso &#8220;personal&#8221; y la mayoría de instalaciones empresariales y este es el caso de Apache Tomcat.</li>
</ul>
<h3><span style="color:#ff0000;"><strong><span style="text-decoration:underline;">El API Servlets y el ciclo de vida.</span></strong></span></h3>
<p>Los servlets usan clases e interfaces de dos paquetes:</p>
<ol>
<li> javax.servlet que contiene clases para servlets genéricos (independientes del protocolo que usen) y,</li>
<li><strong>javax.servlet.http</strong> (que añade funcionalidad particular de http). El nombre javax indica que los servlets son una extensión.</li>
</ol>
<p style="text-align:center;"><a rel="attachment wp-att-2074" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image4-28/"></a><a rel="attachment wp-att-2105" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image1-53/"><img class="aligncenter size-full wp-image-2105" title="Image1" src="http://jtagua.files.wordpress.com/2010/10/image128.jpg?w=530" alt=""   /></a></p>
<p>Los servlets no tienen el método main() como los programas Java, sino que se invocan unos métodos cuando se reciben peticiones. A esta metodología se le llama ciclo de vida de un servlet y viene dado por tres métodos: <strong>init</strong>, <strong>service</strong>, <strong>destroy</strong>:</p>
<div>
<div><strong>INICIALIZACIÓN</strong>:  Una única llamada al método “init” por parte del servlet. Incluso se  pueden recoger unos parámetros concretos con “getInitParameter” de  “ServletConfig” inicialales y que operarán a lo largo de toda la vida del servlet.</div>
<div><strong> </strong></div>
<div><strong>SERVICIO</strong>: una llamada a service() por cada invocación al servlet para procesar las peticiones de los clientes web.</div>
<div><strong>DESTRUCCIÓN</strong>: Cuando todas las llamadas desde el cliente cesen o un temporizador del servidor así lo indique o el propio administrador así lo decida se destruye el servlet. Se usa el método “destroy” para eliminar al servlet y para &#8220;recoger sus restos&#8221; (garbage collection).</div>
</div>
<p><!--[if !mso]&gt; &lt;!  v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} --> <!--[endif]--><!--[if !ppt]--><!--[endif]--></p>
<div><a rel="attachment wp-att-2069" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image2-45/"><img class="aligncenter size-full wp-image-2069" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image215.jpg?w=530" alt=""   /></a></div>
<div>Cada vez que el servidor pasa una petición (distinta a la primera) a un servlet se invoca el  método service(), este método habrá que sobreescribirlo (override). Este método  acepta dos parámetros: un objeto petición (request) y un objeto  respuesta. Los servlets http, que son los que vamos a usar, tienen ya  definido un método service() que llama a doXxx(), con Xxx el nombre de  la orden que viene en la petición al servidor web. Estos dos métodos son doGet() y doPost() y nos sirven para atender las peticiones específicamente provinientes de métodos GET o POST respectivamente,</div>
<div><a rel="attachment wp-att-2063" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image1-51/"><img style="display:block;margin-left:auto;margin-right:auto;" title="Image1" src="http://jtagua.files.wordpress.com/2010/10/image119.jpg?w=570&#038;h=221" alt="" width="570" height="221" /></a></div>
<p>De esta manera, una vez se carga el servlet, es muy eficiente, pues sólo hay una copia cargada en memoria (se ejecutan uno o varios hilos), no hay que crear nuevos objetos (un solo objeto servlet), y tiene persistencia: puede guardar información entre peticiones, como contadores o conexiones a una base de datos. Esto último puede ser muchísimo más eficiente hacerlo en el método init que abrir y cerrar la conexión con la base de datos en cada petición.</p>
<h4><strong><span style="color:#ff0000;"><span style="text-decoration:underline;">Métodos GET y POST</span></span></strong></h4>
<p><!--[if !mso]&gt; &lt;!  v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} --> <!--[endif]--><!--[if !ppt]--><!--[endif]--></p>
<div>
<div><strong>GET</strong>: <strong>Paso de parámetros en la propia URL de acceso al </strong><strong>servicio/recurso del servidor. </strong></div>
<div><strong>Método asociado del servlet “</strong><strong>doGet</strong><strong>” </strong></div>
<div><strong> </strong></div>
<div>GET /query.html?keyword=&#8217;diego&#8217; HTTP/1.1</div>
<div>Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*</div>
<div>Accept-Language: es,eu;q=0.7,en-gb;q=0.3</div>
<div>Accept-Encoding: gzip, deflate</div>
<div>User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)</div>
<div>Host: localhost:9999</div>
<div>Connection: Keep-Alive</div>
<div><!--[if !mso]&gt; &lt;!  v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} p\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} v\:textbox {display:none;} --> <!--[endif]--><!--[if !ppt]--><!--[endif]-->&nbsp;</p>
<div>
<div><strong>POST:</strong><strong> Lo mismo que GET pero los parámetros van en línea aparte dentro del </strong><strong>cuerpo de la petición. </strong></div>
<div><strong>Método asociado del servlet “</strong><strong>doPost</strong><strong>”. </strong></div>
<div><strong><br />
</strong></div>
<div><strong> </strong></div>
<div>POST /cgi-bin/search.sh HTTP/1.1</div>
<div>Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*</div>
<div>Referer: http://localhost:9999/search.html</div>
<div>Accept-Language: es,eu;q=0.7,en-gb;q=0.3</div>
<div>Content-Type: application/x-www-form-urlencoded</div>
<div>Accept-Encoding: gzip, deflate</div>
<div>User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)</div>
<div>Host: localhost:9999</div>
<div>Content-Length: 13</div>
<div>Connection: Keep-Alive</div>
<div>Cache-Control: no-cache</div>
<div>keyword=diego</div>
</div>
<div>
<h4><span style="text-decoration:underline;color:#ff0000;">Ejemplo1:</span></h4>
<p><span style="color:#000000;">Veamos la estructura básica de un servlet con un ejemplo.</span></p>
</div>
</div>
</div>
<p>Para entender cómo funciona un servlet vamos a diseñar uno muy básico y que a modo de plantilla nos sirva para construir otros, para hacer esto, iniciamos una sesión del IDE de NetBeans. Hacemos proyecto Web nuevo al que llamaremos &#8220;Ejem0Servlet&#8221;, una vez tengamos la plantilla de la página index.jsp vamos a hacer que ésta llame a un servlet a través de un enlace <a>href, es decir, el código de index.jsp será:</a></p>
<p style="text-align:center;"><a rel="attachment wp-att-2077" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image6-26/"><img class="aligncenter size-full wp-image-2077" title="Image6" src="http://jtagua.files.wordpress.com/2010/10/image68.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Ahora vamos a añadir un paquete al que llamaremos &#8220;paquete0&#8243;, para hacer esto, bastaría situarse con el botón derecho sobre el nombre del proyecto y seleccionar Nuevo Paquete. Cuando tengamos el paquete, nos situamos en él y con el botón derecho seleccionamos Nuevo Servlet, llamamos al nuevo servlet &#8220;Servlet0&#8243; y aparecerá la siguiente plantilla,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2080" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image7-23/"></a><a rel="attachment wp-att-2083" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image9-20/"><img class="aligncenter size-full wp-image-2083" title="Image9" src="http://jtagua.files.wordpress.com/2010/10/image95.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">donde hemos &#8220;descomentado&#8221; las instrucciones de processRequest . Como vemos en este servlet elemental, comienza con una cabecera donde se indica el paquete que lo contiene y seis importaciones de paquetes que son necesarios para su correcta ejecución,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2084" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image10-18/"><img class="aligncenter size-full wp-image-2084" title="Image10" src="http://jtagua.files.wordpress.com/2010/10/image104.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">luego vemos que la clase que define el servlet es una clase pública extendida o derivada de HttpServlet. Esta clase, naturalmente es pública para poder ser &#8220;vista&#8221; desde cualquier otro servlet o jsp del proyecto, es decir,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2087" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image11-20/"><img class="aligncenter size-full wp-image-2087" title="Image11" src="http://jtagua.files.wordpress.com/2010/10/image1110.jpg?w=530" alt=""   /> </a></p>
<p style="text-align:left;">La contiene varios métodos, a saber:</p>
<p style="text-align:left;">1.- Método <strong> protected void processRequest(HttpServletRequest request, HttpServletResponse response)</strong></p>
<p style="text-align:center;"><a rel="attachment wp-att-2088" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image12-15/"><img class="aligncenter size-full wp-image-2088" title="Image12" src="http://jtagua.files.wordpress.com/2010/10/image127.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Como0 vemos este método se ejecuta tanto si la petición se realiza a través de GET como si es a través de POST y lo único que hace es devolver un texto. Merece especial consideración las instrucciones:</p>
<ol>
<li>response.setContentType(&#8220;text/html;charset=UTF-8&#8243;); Esta instrucción fija el tipo de contenido que será devuelto al peticionario, al cliente.</li>
<li>PrintWriter out = response.getWriter(); Esta instrucción crea el objeto &#8220;out&#8221; que permitirá escribir la salida. Este objeto es distinto al objeto out implícito de los jsp.</li>
<li>request.getContextPath; , contiene el path desde donde se ha reaklizado la petición.</li>
</ol>
<p>2.-Método<strong> protected void doGet(HttpServletRequest request, HttpServletResponse response)</strong></p>
<p style="text-align:center;"><strong><a rel="attachment wp-att-2092" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image13-13/"><img class="aligncenter size-full wp-image-2092" title="Image13" src="http://jtagua.files.wordpress.com/2010/10/image137.jpg?w=530" alt=""   /></a></strong></p>
<p style="text-align:left;">Este método llama al método processRequest, se prejuzga que las tareas a  ejecutar son las mismas con una llamada GET que con una llamara POST. En caso de error se lanza la excepción ServletException.<strong> </strong></p>
<p>3.-Método<strong> </strong><strong>protected void doPost(HttpServletRequest request, HttpServletResponse response)</strong></p>
<p style="text-align:center;"><a rel="attachment wp-att-2093" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image14-14/"><img class="aligncenter size-full wp-image-2093" title="Image14" src="http://jtagua.files.wordpress.com/2010/10/image145.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Este método llama al método processRequest, se prejuzga que las tareas a ejecutar son las mismas con una llamada GET que con una llamara POST. En caso de error se lanza la excepción ServletException.</p>
<p>4.-Método<strong> </strong><strong>public String getServletInfo() </strong></p>
<p style="text-align:center;"><a rel="attachment wp-att-2094" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image17-9/"><img class="aligncenter size-full wp-image-2094" title="Image17" src="http://jtagua.files.wordpress.com/2010/10/image174.jpg?w=530" alt=""   /></a></p>
<p>Podemos observar que la clase no tiene ni método init() ni método destroy. No son necesarios, ni obligatorios.<strong> </strong></p>
<p>Si ejecutamos,</p>
<p><a rel="attachment wp-att-2111" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image5-35/"><img class="aligncenter size-full wp-image-2111" title="Image5" src="http://jtagua.files.wordpress.com/2010/10/image59.jpg?w=530" alt=""   /></a></p>
<p><span style="text-decoration:underline;color:#ff0000;"><strong>EJEMPLO2.</strong></span></p>
<p>En el ejemplo anterior no queda claro quien atiende específicamente la petición, si doGet() o doPOst(). En realidad queda claro, pero de manera implícita, ya que cuando no existe un atributo &#8220;method&#8221;  en una etiqueta form de HTML que especifique el método GET o POST, el servlet <strong>SIEMPRE</strong>, por defecto, responde con el método doGet(). Vamos a modificar el programa anterior y construiremos otro al que llamaremos ejem1Servlet (la mejor idea es copiarlo con el IDE de Netbeans).<strong> </strong></p>
<p>Modificaremos el Servlet0 de manera que no exista el método processRequest. Esta vez haremos que cada uno de los métodos doGet() y doPOst() responda cada uno por sí sólo.</p>
<p>He aquí los métodos:</p>
<p style="text-align:center;"><a rel="attachment wp-att-2108" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image2-46/"><img class="aligncenter size-full wp-image-2108" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image216.jpg?w=530" alt=""   /></a></p>
<p><strong>y</strong></p>
<p style="text-align:center;"><strong><a rel="attachment wp-att-2109" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image3-43/"><img class="aligncenter size-full wp-image-2109" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image315.jpg?w=530" alt=""   /></a></strong></p>
<p style="text-align:left;">Si ejecutamos el programa</p>
<p style="text-align:left;"><a rel="attachment wp-att-2110" href="http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/image4-29/"><img class="aligncenter size-full wp-image-2110" title="Image4" src="http://jtagua.files.wordpress.com/2010/10/image48.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">como vemos, el servlet ha respondido con el método doGet(), que <span style="text-decoration:underline;">es el que utiliza por defecto</span> cuando no se explicita el método de llamada.</p>
<p style="text-align:left;"><span style="text-decoration:underline;">Descriptor de despliegue:</span></p>
<p style="text-align:left;">El archivo web.xml se denomina descriptor de despliegue y es necesario cuando se utilizan servlet, porque con él se define su nombre y se identifica al paquete y clase que lo contiene, entre otras cuestiones. Mas adelante en este tutorial se analizarán otros usos, tales como los filtros, los parametros de contexto, los parametros iniciales, etc&#8230;En NetBeans se encuentra en la carpeta WEB-INF.</p>
<p style="text-align:left;"><span style="text-decoration:underline;"><strong>Conviene recordar:</strong></span></p>
<p style="text-align:left;">El ciclo de vida de un servlet.</p>
<p style="text-align:left;">Los distintos métodos fundamentales de un servlet: init, service, doGet, doPost, destroy.</p>
<p style="text-align:left;">Relación entre los métodos GET y POST de un formulario, llamadas desde la etiqueta</p>
<p style="text-align:left;">Cuando utilizar GET y POST en función de la seguridad.</p>
<p style="text-align:left;">El uso de web.xml o descriptor de despliegue.</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/tutorial-de-servlet-java/introduccion-tutorial-de-servlet/'>Introducción</a>, <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-de-servlet-java/'>Tutorial de Servlet</a> Tagged: <a href='http://jtagua.wordpress.com/tag/introduccion-a-los-servlet/'>Introducción a los Servlet</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/2062/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/2062/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/2062/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=2062&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/31/tutorial-de-servlet-1-introduccion-ciclo-de-vida-y-ejemplo-basico/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image128.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image215.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image119.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image68.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image95.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image104.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image1110.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image127.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image137.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image145.jpg" medium="image">
			<media:title type="html">Image14</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image174.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image59.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image216.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image315.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image48.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de Android (1): Descarga e Instalación Android r7.</title>
		<link>http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/</link>
		<comments>http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 11:24:41 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Android r7]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1982</guid>
		<description><![CDATA[En esta entrada nos plantearemos la instalación del SDK de Android r7, un dispositivo virtual con skin del HTC Magic, un plugin para Netbeans, una plataforma 2.2 de Android en Netbeans  y realizaremos el tipico programa &#8220;Hola, Android&#8230;&#8221;. Para comenzar lo primero que haremos será descargar el SDK de Android que actualmente (Sep/2010) se encuentra [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1982&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En esta entrada nos plantearemos la instalación del SDK de Android r7, un dispositivo virtual con skin del HTC Magic, un plugin para Netbeans, una plataforma 2.2 de Android en Netbeans  y realizaremos el tipico programa &#8220;Hola, Android&#8230;&#8221;.</p>
<p><span id="more-1982"></span></p>
<p>Para comenzar lo primero que haremos será <a href="http://developer.android.com/sdk/index.html">descargar el SDK de Android</a> que actualmente (Sep/2010) se encuentra en la revisión 7. En Windows se obtiene el archivo  <strong>android-sdk_r07-windows.zip</strong> con un peso de 23.115 Kb, mientras que en Linux se descarga el archivo <strong>android-sdk_r07-linux_x86.tgz.tar</strong> con un peso de 16.714 Kb</p>
<p><strong><span style="color:#ff0000;">En Windows,</span></strong></p>
<p>bastaría descomprimir la carpeta en cualquier unidad y directorio. En mi caso yo lo he descomprimido en C:/Androidr7.</p>
<p>La carpeta, una vez descomprimida, contiene los siguientes elementos,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1983" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image2-41/"><img class="aligncenter" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image27.jpg?w=446&#038;h=211" alt="" width="446" height="211" /></a></p>
<p><span style="color:#ff0000;"><strong>En linux,</strong></span></p>
<p>bastará con</p>
<p>sudo mkdir –p /opt/google<br />
cd /opt/google<br />
sudo tar xvzf /tmp/android-sdk_r07-linux_86.tgz</p>
<p>y</p>
<p>cd android-sdk-linux_86/tools<br />
sudo ./android</p>
<p style="text-align:left;"><span style="color:#ff0000;"><strong><span style="text-decoration:underline;">1.-Instalación de SDK Manager.</span></strong></span></p>
<p style="text-align:left;">Para Windows, lo primero que tenemos que hacer es actualizar los fuentes, para ello nos aseguramos que tenemos conexión a internet y hacemos doble click en SDK Manager,</p>
<p style="text-align:left;"><a rel="attachment wp-att-1990" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image2-42/"><img class="aligncenter size-full wp-image-1990" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image28.jpg?w=530" alt=""   /></a>se inicia en SDK Manager y inicia &#8220;Refresh Source&#8221; desde internet, cuando finaliza aparece la siguiente pantalla,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1991" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image3-41/"><img class="aligncenter size-full wp-image-1991" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image311.jpg?w=530" alt=""   /></a></p>
<p>A partir de aquí, rechazamos las opciones obsoletas y aceptamos las demás, es decir,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1992" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image4-27/"><img class="aligncenter size-full wp-image-1992" title="Image4" src="http://jtagua.files.wordpress.com/2010/10/image46.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos ahora Install y comenzará la actualización,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1995" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image5-33/"><img class="aligncenter size-full wp-image-1995" title="Image5" src="http://jtagua.files.wordpress.com/2010/10/image57.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Cuando termine aparecerá,</p>
<p style="text-align:left;"><a rel="attachment wp-att-1999" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image7-21/"><img class="aligncenter size-full wp-image-1999" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image78.jpg?w=530" alt=""   /></a>Pulsamos &#8220;Yes&#8221;, y cerramos,</p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:center;"><a rel="attachment wp-att-2000" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image8-20/"><img class="aligncenter size-full wp-image-2000" title="Image8" src="http://jtagua.files.wordpress.com/2010/10/image86.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">hacemos click en &#8220;Update All&#8221; y cuando termine cerramos.</p>
<p style="text-align:left;">NOTA: recuerde añadir al path la carpeta y ruta completa &#8220;tools&#8221; de Android.</p>
<p style="text-align:left;"><span style="text-decoration:underline;color:#ff0000;"><strong>2.-Creación de un dispositivo virtual (con skin HTC Magic).</strong></span></p>
<p style="text-align:left;">Tenemos que localizar la piel del teléfono para el que deamos desarrollar, en el caso de HTC Magic, que es mi caso tenemos que descomprimir el archivo la  (</p>
<p style="text-align:left;">Ahora localizamos el &#8220;scrin&#8221; para poder emular HTC Magic en la siguiente dirección, y lo descomprimimos en todas y cada una de los subdirectorios skin de las distintas plataformas montadas de AQndroid.</p>
<p style="text-align:left;">Después iniciamos Android SDK Manager, seleccionamos &#8220;Virtual Device&#8221;, en el menú de la izquierda,</p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:center;"><a rel="attachment wp-att-2021" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image17-8/"><img class="aligncenter size-full wp-image-2021" title="Image17" src="http://jtagua.files.wordpress.com/2010/10/image173.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">hacemos seguidamente &#8220;New&#8221;  y cumplimentamos la siguiente caja de diálogo</p>
<p style="text-align:center;"><a rel="attachment wp-att-2040" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image30-5/"><img class="aligncenter size-full wp-image-2040" title="Image30" src="http://jtagua.files.wordpress.com/2010/10/image30.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">donde puede verse que hemos seleccionado el skin HVGA-P-HTCMagic que previamente habíamos descargado y descomprimido. También añadimos el Hardware que soporte el teléfono o el dispositivo. A efectos de desarrollo conviene indicar todo el hardware disponible. Y finalmente asignamos una memoria de la tarjeta de 10024 Kb.</p>
<p style="text-align:left;">Si hacemos &#8220;Create AVD&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2042" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image31-5/"><img class="aligncenter size-full wp-image-2042" title="Image31" src="http://jtagua.files.wordpress.com/2010/10/image314.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Pulsamos OK,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2044" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image32-5/"><img class="aligncenter size-full wp-image-2044" title="Image32" src="http://jtagua.files.wordpress.com/2010/10/image322.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Vamos a comprobar en skin del HTC Magic, para ello hacemos &#8220;Start&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2045" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image33-3/"><img class="aligncenter size-full wp-image-2045" title="Image33" src="http://jtagua.files.wordpress.com/2010/10/image331.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Finalmente &#8220;Launch&#8221;,</p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:center;"><a rel="attachment wp-att-2046" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image35-3/"><img class="aligncenter size-full wp-image-2046" title="Image35" src="http://jtagua.files.wordpress.com/2010/10/image351.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;"><a rel="attachment wp-att-2023" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image19-9/"><br />
</a>Finalmente cerramos &#8220;Android SDK Manager&#8221;</p>
<p><a rel="attachment wp-att-1985" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image4-26/"><br />
</a><strong><span style="color:#ff0000;"> </span></strong></p>
<p><strong><span style="text-decoration:underline;color:#ff0000;">2.-Instalación del plugin de Android en Netbeans.</span><span style="color:#ff0000;"> </span></strong><span style="color:#ff0000;"><strong><strong>(Es idéntica en cualquier sistema operativo Windows, Linux, Mac).</strong></strong></span></p>
<p>Iniciamos una sesión del IDE de Netbeans, seleccionamos Herramientas/Complementos, vamos a la pestaña &#8220;Configuración&#8221; y hacemos &#8220;Agregar&#8221;, aparecerá</p>
<p style="text-align:center;"><a rel="attachment wp-att-2003" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image2-43/"><img class="aligncenter size-full wp-image-2003" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image29.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos &#8220;Aceptar&#8221;. Vamos ahora a la pestaña Plugin disponibles,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2004" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image3-42/"><img class="aligncenter size-full wp-image-2004" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image312.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Marcamos &#8220;Android&#8221; y pulsamos &#8220;Instalar&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2005" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image5-34/"><img class="aligncenter size-full wp-image-2005" title="Image5" src="http://jtagua.files.wordpress.com/2010/10/image58.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos &#8220;Siguiente&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2006" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image6-25/"><img class="aligncenter size-full wp-image-2006" title="Image6" src="http://jtagua.files.wordpress.com/2010/10/image67.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Aceptamos los términos de la licencia y pulsamos en &#8220;Instalar&#8221;,</p>
<p style="text-align:left;"><a rel="attachment wp-att-2007" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image7-22/"><img class="aligncenter size-full wp-image-2007" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image79.jpg?w=530" alt=""   /></a>Cuando finalice,</p>
<p style="text-align:left;"><a rel="attachment wp-att-2008" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image8-21/"><img class="aligncenter size-full wp-image-2008" title="Image8" src="http://jtagua.files.wordpress.com/2010/10/image87.jpg?w=530" alt=""   /></a>Pulse ahora &#8220;continuar&#8221;,</p>
<p style="text-align:left;"><a rel="attachment wp-att-2009" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image9-19/"><img class="aligncenter size-full wp-image-2009" title="Image9" src="http://jtagua.files.wordpress.com/2010/10/image94.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Finalmente pulse &#8220;Terminar&#8221;.</p>
<p style="text-align:left;">Localice la pestaña &#8220;Instalado&#8221; y asegúrese que Java ME está activo.</p>
<p style="text-align:center;"><a rel="attachment wp-att-2010" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image10-17/"><img class="aligncenter size-full wp-image-2010" title="Image10" src="http://jtagua.files.wordpress.com/2010/10/image103.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Cierre el IDE e inícielo de nuevo.</p>
<h4><span style="text-decoration:underline;color:#ff0000;"><strong>3.-Instalación de la plataforma Android en NetBeans,</strong></span><span style="color:#ff0000;"><strong> (Es idéntica en cualquier sistema operativo Windows, Linux, Mac).</strong></span></h4>
<p>Iniciamos una sesión del IDE de NetBeans, seleccionamos Herramientas/Plataforma Java y aparecerá,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1996" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image6-24/"><img class="aligncenter size-full wp-image-1996" title="Image6" src="http://jtagua.files.wordpress.com/2010/10/image66.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos click en &#8220;Añadir plataforma&#8221;,</p>
<p style="text-align:left;"><a rel="attachment wp-att-2013" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image11-19/"><img class="aligncenter size-full wp-image-2013" title="Image11" src="http://jtagua.files.wordpress.com/2010/10/image116.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Seleccione Google Android y pulse &#8220;Siguiente&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2014" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image12-14/"><img class="aligncenter size-full wp-image-2014" title="Image12" src="http://jtagua.files.wordpress.com/2010/10/image126.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Seleccionamos la carpeta donde descomprimimos Android y pulsamos &#8220;Siguiente&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2030" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image24-5/"><br />
</a></p>
<p style="text-align:left;">Marcamos una plataforma, en este caso Android 2.1 y damos nombre &#8220;Android 2.1&#8243; a dicha plataforma.</p>
<p style="text-align:center;"><a rel="attachment wp-att-2034" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image27-4/"><img class="aligncenter size-full wp-image-2034" title="Image27" src="http://jtagua.files.wordpress.com/2010/10/image271.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos Terminar.</p>
<p style="text-align:center;"><a rel="attachment wp-att-2031" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image24-6/"></a><a rel="attachment wp-att-2035" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image28-5/"><img class="aligncenter size-full wp-image-2035" title="Image28" src="http://jtagua.files.wordpress.com/2010/10/image281.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Y hacemos finalmente &#8220;Cerrar&#8221;.</p>
<p style="text-align:left;"><span style="text-decoration:underline;color:#ff0000;"><strong>4.-Hola Mundo en Android.</strong></span></p>
<p style="text-align:left;">Vamos a probar el desarrollo con Android, para ello iniciamos el IDE de Netbean y hacemos &#8220;Proyecto nuevo&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2019" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image15-7/"><img class="aligncenter size-full wp-image-2019" title="Image15" src="http://jtagua.files.wordpress.com/2010/10/image152.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hacemos &#8220;Siguiente&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2020" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image16-7/"></a><a rel="attachment wp-att-2027" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image20-7/"><img class="aligncenter size-full wp-image-2027" title="Image20" src="http://jtagua.files.wordpress.com/2010/10/image203.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Hemos dado como nombre al nuevo proyecto &#8220;HolaAndroid&#8221;, si hacemos ahora Terminar, tendremos un código de MainActivity creado por la plantilla,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2028" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image21-8/"><img class="aligncenter size-full wp-image-2028" title="Image21" src="http://jtagua.files.wordpress.com/2010/10/image214.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">incorporamos ahora el paquete</p>
<p style="text-align:left;"><strong> import android.widget.TextView;</strong></p>
<p style="text-align:left;">además hemos de incluir</p>
<p style="text-align:left;"><strong>TextView tv = new TextView(this);</strong><br />
<strong> tv.setText(&#8220;Hola, Android &#8230;&#8221;);</strong><br />
<strong> setContentView(tv);</strong></p>
<p style="text-align:left;">de esta manera crearemos un objeto TextView, le asignaremos un texto y lo mostraremos. Es decir el programa MainActivity quedará de la siguiente forma</p>
<p style="text-align:center;"><a rel="attachment wp-att-2029" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image22-6/"><img class="aligncenter size-full wp-image-2029" title="Image22" src="http://jtagua.files.wordpress.com/2010/10/image222.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Ejecutamos ahora, Y DESPUÉS DE CIERTA ESPERA, obtengo</p>
<p style="text-align:center;"><a rel="attachment wp-att-2039" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image29-6/"><img class="aligncenter size-full wp-image-2039" title="Image29" src="http://jtagua.files.wordpress.com/2010/10/image292.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">Si hacemos &#8220;Menu&#8221;,</p>
<p style="text-align:center;"><a rel="attachment wp-att-2052" href="http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/image1-50/"><img class="aligncenter size-full wp-image-2052" title="Image1" src="http://jtagua.files.wordpress.com/2010/10/image118.jpg?w=530" alt=""   /></a></p>
<p style="text-align:left;">&nbsp;</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/android/android-r7/'>Android r7</a> Tagged: <a href='http://jtagua.wordpress.com/tag/android-r7/'>Android r7</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1982/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1982&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/30/tutorial-de-jsp-30-descarga-e-instalacion-de-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image27.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image28.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image311.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image46.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image57.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image78.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image86.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image173.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image30.jpg" medium="image">
			<media:title type="html">Image30</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image314.jpg" medium="image">
			<media:title type="html">Image31</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image322.jpg" medium="image">
			<media:title type="html">Image32</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image331.jpg" medium="image">
			<media:title type="html">Image33</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image351.jpg" medium="image">
			<media:title type="html">Image35</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image29.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image312.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image58.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image67.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image79.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image87.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image94.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image103.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image66.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image116.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image126.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image271.jpg" medium="image">
			<media:title type="html">Image27</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image281.jpg" medium="image">
			<media:title type="html">Image28</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image152.jpg" medium="image">
			<media:title type="html">Image15</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image203.jpg" medium="image">
			<media:title type="html">Image20</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image214.jpg" medium="image">
			<media:title type="html">Image21</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image222.jpg" medium="image">
			<media:title type="html">Image22</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image292.jpg" medium="image">
			<media:title type="html">Image29</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image118.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (21): Migración y Metadatos en MySQL con JDBC.</title>
		<link>http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/</link>
		<comments>http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 12:53:31 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[Tutorial JSP]]></category>
		<category><![CDATA[Metadatos]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1920</guid>
		<description><![CDATA[¿Qué es un metadato? Cualquier información respecto de un dato de una base de datos que nos ayuda a comprenderlo o utilizarlo. Los primeros metadatos de interés son aquellos que tienen que ver con la estructura de una base de datos: Tablas, Filas, Columnas &#8230; Existe una gran variedad de métodos en el API DataBaseMetaData [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1920&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>¿Qué es un metadato?</p>
<p>Cualquier  información respecto de un dato de una base de datos que nos ayuda a comprenderlo o utilizarlo. Los primeros metadatos de interés son  aquellos que tienen que ver con la estructura de una base de datos: Tablas, Filas, Columnas &#8230;</p>
<p>Existe una gran variedad de métodos en el <a href="http://download.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html">API </a><em><a href="http://download.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html">DataBaseMetaData</a> </em>que nos permiten conocer los metadatos de una base de datos.</p>
<p>En <em>java</em>, las clases <strong><em>DataBaseMetaData</em></strong> y <strong><em>ResultSetMetaData</em></strong> permiten, respectivamente, analizar la estructura de una base de datos  (qué tablas tiene, que columnas cada tabla, de qué tipos, etc) o de un <em>ResultSet</em> de una consulta, para averiguar cuántas columnas tiene dicho <em>ResulSet</em>, de qué columnas de base de datos proceden, de qué tipo son, etc.</p>
<p><span id="more-1920"></span></p>
<p>Y así por ejemplo, una vez obtenido un objeto connection de forma adecuada podemos hacer</p>
<p style="text-align:center;"><strong>DataBaseMetaData metaDatos = con.getMetaData();</strong></p>
<p>donde con es el objeto connection y metaDatos es el objeto.</p>
<p>A partir de aquí, podemos averiguar cuantos y cuáles son los catálogos de la base de datos,</p>
<p style="text-align:center;"><strong>ResultSet catalogos = metaDatos.getCatalogs();</strong></p>
<p>y recorrer el conjunto de datos para escribirlo en pantalla, por ejemplo,</p>
<p style="text-align:left;"><strong>while (catalogos.next()) {</strong><br />
<strong> out.println( catalogos.getString(1)+&#8221;&lt;br&gt;&#8221;);</strong><br />
<strong> }</strong></p>
<p>Para ver las tablas de cierto esquema</p>
<p style="text-align:center;"><strong>ResultSet resul = metaDatos.getTables(null, null, &#8220;%&#8221;, null);</strong></p>
<p>donde los cuatro parámetros que hemos pasado son:</p>
<ul>
<li>catálogo de la base de datos. Al poner <em>null</em>, estamos preguntando por el catálogo actual, que en nuestro ejemplo es de la cadena de conexión, &#8220;<em>rs23</em>&#8220;.</li>
<li>Esquema de la base de datos. Al poner <em>null</em>, es el actual.</li>
<li>Patrón para las tablas en las que tenemos interés. En <em>SQL</em> el carácter que indica &#8220;todo&#8221; es %, equivalente al * a la hora de  listar ficheros. Esto nos dará todas las tablas del catálogo y esquema  actual. Podríamos poner cosas como &#8220;usu<em>%</em>&#8220;, con lo que obtendríamos todas las tablas cuyo nombre empiece por &#8220;<em>usu</em>&#8220;.</li>
<li>El cuarto parámetro es un array de <em>String</em>, en el que pondríamos qué tipos de tablas queremos (normales, vistas, etc). Al poner <em>null</em>, nos devolverá todos los tipos de tablas.</li>
</ul>
<p>Una vez obtenido el conjunto de datos resul, puede recorrerse con un bucle while como en métodos anteriores, teniendo en cuenta que</p>
<p><strong>resul.tablas.getString(1), entrega el catálogo,</strong></p>
<p><strong>resul.tablas.getString(2), entrega el esquema, </strong></p>
<p><strong>resul.tablas.getString(3), entrega el nombre de la tabla.</strong></p>
<p><strong>﻿resul.tablas.getString(4), entrega el tipo de tabla (TABLE, VIEW, SYSTEM TABLE, &#8230;)</strong></p>
<p><strong>resul.tablas.getString(5), entrega la descripción de la tabla.﻿</strong></p>
<p>Finalmente, podemos obtener para cada tabla las  columnas que la componen: su nombre y tipo. Para ello, podemos usar el  método <em>getColumns()</em> de <em>DataBaseMetaData</em>.</p>
<p style="text-align:center;"><strong>ResultSet resul = metaDatos.getColumns(catalogo, null, tabla, null);</strong></p>
<p>en el que los parámetros de la llamada son:</p>
<ul>
<li>El nombre del catálogo al que pertenece la tabla.</li>
<li>El nombre del esquema, <em>null</em> para el esquema actual.</li>
<li>El nombre de la tabla. Nuevamente podríamos poner comodines al estilo <em>SQL</em> para obtener, por ejemplo, las columnas de todas las tablas &#8220;<em>person%</em>&#8221; que empiecen por <em>person</em>.</li>
<li>El nombre de las columnas buscadas, usando comodines. <em>null</em> nos devuelve todas las columnas.</li>
</ul>
<p>El contenido del <em>ResultSet</em> será una fila por cada columna de la tabla. Las columnas del <em>ResultSet</em> mas utilizadas son el nombre de la columna de la tabla y el nombre del  tipo de dato de la columna, es decir, nos interesa</p>
<p><strong>resul.tablas.getString(4), entrega el nombre de la columna,</strong></p>
<p><strong>resul.tablas.getString(6), entrega el tipo de dato de una columna.</strong></p>
<p><strong><br />
</strong></p>
<h3><span style="text-decoration:underline;"><strong>Migración de MsAccess a MySQL.</strong></span></h3>
<p>En este ejercicio trabajaremos de nuevo con la base de datos del <a href="http://www.ars.usda.gov/Services/docs.htm?docid=8964">Departamento de Agricultura de los Estados Unidos</a>, sólo que en lugar de hacer uso de la base de datos de MsAccess migraremos el archivo sr23.mdb a MySQL. Para hacer esto iniciamos la utilidad &#8220;MySQL Migration Toolkit &#8220;, es decir:</p>
<p style="text-align:center;"><a rel="attachment wp-att-1923" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image4-25/"><img class="aligncenter size-full wp-image-1923" title="Image4" src="http://jtagua.files.wordpress.com/2010/10/image45.jpg?w=530" alt=""   /></a><!--more--></p>
<p>Hacemos ahora Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1924" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image5-32/"><img class="aligncenter size-full wp-image-1924" title="Image5" src="http://jtagua.files.wordpress.com/2010/10/image56.jpg?w=530" alt=""   /></a>Hacemos Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1925" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image6-23/"></a><a rel="attachment wp-att-1928" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image7-20/"><img class="aligncenter size-full wp-image-1928" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image77.jpg?w=530" alt=""   /></a><br />
Indicamos el sistema gestor de base de datos de la base de datos que deseamos migrar, en nuestro caso, MsAccess, e indicamos la localización de dicha base de datos (sr23.mdb), hacemos next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1926" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image7-19/"><img class="aligncenter size-full wp-image-1926" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image76.jpg?w=530" alt=""   /></a></p>
<p>donde hemos tomado como Hostname &#8220;localhost&#8221; y hemos introducido el usuario y password del administrador de MYSQL. Si hacemos Next ahora,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1927" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image8-19/"><img class="aligncenter size-full wp-image-1927" title="Image8" src="http://jtagua.files.wordpress.com/2010/10/image85.jpg?w=530" alt=""   /></a></p>
<p>en esta pantalla vemos que se ha producido las dos conexiones a las dos bases de datos, si hacemos Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1929" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image9-18/"><img class="aligncenter size-full wp-image-1929" title="Image9" src="http://jtagua.files.wordpress.com/2010/10/image93.jpg?w=530" alt=""   /></a></p>
<p>Vemos que se ha creado un nuevo esquema (base de datos) en MySQL con el mismo nombre que la base de datos origen. Seleccionamos dicho esquema y pulsamos Next</p>
<p style="text-align:center;"><a rel="attachment wp-att-1930" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image10-16/"><img class="aligncenter size-full wp-image-1930" title="Image10" src="http://jtagua.files.wordpress.com/2010/10/image102.jpg?w=530" alt=""   /></a></p>
<p>Vemos que todos los preparativos están OK. Pulsamos seguidamente Next</p>
<p style="text-align:center;"><a rel="attachment wp-att-1935" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image11-18/"><img class="aligncenter size-full wp-image-1935" title="Image11" src="http://jtagua.files.wordpress.com/2010/10/image114.jpg?w=530" alt=""   /></a></p>
<p>Observamos que la base de datos que se va a emigrar contiene 13 tablas (aquí tenemos la posibilidad de personalizar y por tanto migrar exclusivamente aquellas tablas que nos interesen). Hacemos Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1936" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image12-13/"><img class="aligncenter size-full wp-image-1936" title="Image12" src="http://jtagua.files.wordpress.com/2010/10/image125.jpg?w=530" alt=""   /></a></p>
<p>Desde aquí podemos parametrizar la migración o adoptar una migración standard. Hacemos Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1937" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image13-10/"><img class="aligncenter size-full wp-image-1937" title="Image13" src="http://jtagua.files.wordpress.com/2010/10/image134.jpg?w=530" alt=""   /></a></p>
<p>Vemos que las operaciones previas se han realizado con éxito. Hacemos seguidamente Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1938" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image14-12/"><img class="aligncenter size-full wp-image-1938" title="Image14" src="http://jtagua.files.wordpress.com/2010/10/image143.jpg?w=530" alt=""   /></a></p>
<p>Comprobamos que el mapeo de las tablas y de los campos de estas tablas se ha realizado con éxito entre las dos bases de datos. Hacemos ahora Next,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1941" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image15-6/"><img class="aligncenter size-full wp-image-1941" title="Image15" src="http://jtagua.files.wordpress.com/2010/10/image151.jpg?w=530" alt=""   /></a></p>
<p>A partir de esta pantalla podemos &#8220;crear los objetos&#8221; de la base de datos, es decir, las tablas, vistas, procedimientos almacenados etc.. y/o crear simplemente un fichero de script de todo el proceso de migración. Hacemos Next,</p>
<p><a rel="attachment wp-att-1942" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image16-6/"><img class="aligncenter size-full wp-image-1942" title="Image16" src="http://jtagua.files.wordpress.com/2010/10/image161.jpg?w=530" alt=""   /></a></p>
<p>Comprobamos que se crean con éxito el esquema de la base de datos y las tablas. Hacemos Next,</p>
<p><a rel="attachment wp-att-1943" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image17-7/"><img class="aligncenter size-full wp-image-1943" title="Image17" src="http://jtagua.files.wordpress.com/2010/10/image172.jpg?w=530" alt=""   /></a></p>
<p>Nuevas comprobaciones. Hacemos Next,</p>
<p><a rel="attachment wp-att-1944" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image18-4/"><img class="aligncenter size-full wp-image-1944" title="Image18" src="http://jtagua.files.wordpress.com/2010/10/image181.jpg?w=530" alt=""   /></a></p>
<p>Desde esta pantalla podemos migrar todos los datos de todos los objetos o dejarlo para otra ocasión y crear un script para procesar de nuevo la migración. Hacemos Next,</p>
<p><a rel="attachment wp-att-1945" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image1-48/"><img class="aligncenter size-full wp-image-1945" title="Image1" src="http://jtagua.files.wordpress.com/2010/10/image115.jpg?w=530" alt=""   /></a></p>
<p>Cuando aparezca esta pantalla la transferencia de datos ha concluido. Hacemos Next,</p>
<p><a rel="attachment wp-att-1948" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image2-40/"><img class="aligncenter size-full wp-image-1948" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image26.jpg?w=530" alt=""   /></a></p>
<p>y finalmente Finish, si no queremos salvar el script que compendia toda la operación de migración.</p>
<p>Finalmente, vamos a realizar un backup de esta base de datos, para ello vamos a &#8220;MySQL Administrator&#8221; y seleccionamos &#8220;backup&#8221;,</p>
<p><a rel="attachment wp-att-1951" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image19-8/"><img class="aligncenter size-full wp-image-1951" title="Image19" src="http://jtagua.files.wordpress.com/2010/10/image192.jpg?w=530" alt=""   /></a></p>
<p>Hacemos click ahora en New Project,</p>
<p><a rel="attachment wp-att-1952" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image20-5/"><img class="aligncenter size-full wp-image-1952" title="Image20" src="http://jtagua.files.wordpress.com/2010/10/image201.jpg?w=530" alt=""   /></a></p>
<p>donde hemos selecciona el esquema o base de datos sr23. Si hacemos ahora Save Project y finalmente Execute Backup</p>
<p><a rel="attachment wp-att-1958" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image21-7/"><img class="aligncenter size-full wp-image-1958" title="Image21" src="http://jtagua.files.wordpress.com/2010/10/image213.jpg?w=530" alt=""   /></a></p>
<h3><span style="text-decoration:underline;"><strong>EJERCICIO1:</strong></span></h3>
<p>En este ejercicio trabajaremos  de nuevo con la base de datos del  Departamento de Agricultura de los  Estados Unidos, sólo que en lugar de  hacer uso de la base de datos de MsAccess trabajaremos con la correspondiente una ver que ha migrado a MYSQL.</p>
<p>El ejercicio consiste en replicar el ejercicio 2 del Tutorial de JSP (): cambiando tanto el driver como la cadena de conexión a la base de datos. Si todo funciona bien, que es lo esperado, queda <span style="text-decoration:underline;">PROBADO QUE UNA VEZ SE TENGA UNA APLICACIÓN QUE GESTIONE UNA BASE DE DATOS A TRAVÉS DE JDBC, ÉSTA FUNCIONARÁ CON CUALQUIER OTRA BASE DE DATOS SIN MAS QUE CAMBIAR EL DRIVER Y LA CADENA DE CONEXIÓN. </span></p>
<p>Recuerde incorporar la librería de MySQL, después de haber instalado en el IDE el conector J para MYSQL<span style="text-decoration:underline;">.</span></p>
<p><span style="text-decoration:underline;"><a rel="attachment wp-att-1965" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image23-6/"></a><a rel="attachment wp-att-1979" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/image24-4/"><img class="aligncenter size-full wp-image-1979" title="Image24" src="http://jtagua.files.wordpress.com/2010/10/image241.jpg?w=530" alt=""   /></a></p>
<p></span></p>
<h3><span style="text-decoration:underline;"><strong>EJERCICIO2:</strong></span></h3>
<p>En este ejercicio trabajaremos de nuevo con la base de datos del  Departamento de Agricultura de los Estados Unidos, sólo que en lugar de  hacer uso de la base de datos de MsAccess TRABAJAREMOS CON LA VERSIÓN sr23 en MYSQL. Tratamos de buscar el catálogo, los esquemas de bases de datos, las tablas para un esquema dado y las columnas para una tabla dada.</p>
<p>Iniciamos un nuevo proyecto en el IDE de NetBeans y sustituimos el código del fichero index.jsp por el siguiente código,</p>
<p><a rel="attachment wp-att-1973" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/d0/">index.jsp</a> y añadimos en el paquete pbd la clase que controla los accesos a la base de datos <a rel="attachment wp-att-1976" href="http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/d1/">clase.java</a></p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/'>JDBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/metadatos/'>Metadatos</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1920/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1920/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1920/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1920&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/28/tutorial-de-jsp-21-migracion-y-metadatos-en-mysql-con-jdbc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image45.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image56.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image77.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image76.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image85.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image93.jpg" medium="image">
			<media:title type="html">Image9</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image102.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image114.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image125.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image134.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image143.jpg" medium="image">
			<media:title type="html">Image14</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image151.jpg" medium="image">
			<media:title type="html">Image15</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image161.jpg" medium="image">
			<media:title type="html">Image16</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image172.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image181.jpg" medium="image">
			<media:title type="html">Image18</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image115.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image26.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image192.jpg" medium="image">
			<media:title type="html">Image19</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image201.jpg" medium="image">
			<media:title type="html">Image20</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image213.jpg" medium="image">
			<media:title type="html">Image21</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image241.jpg" medium="image">
			<media:title type="html">Image24</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (18): Introducción a JDBC.</title>
		<link>http://jtagua.wordpress.com/2010/10/24/tutorial-de-jsp-18-introduccion-a-jdbc/</link>
		<comments>http://jtagua.wordpress.com/2010/10/24/tutorial-de-jsp-18-introduccion-a-jdbc/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 19:40:41 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[Tutorial JSP]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1833</guid>
		<description><![CDATA[﻿﻿JDBC es una API de Java que permite  ejecutar sentencias SQL. (JDBC es nombre de una marca registrada y no es un acrónimo, a pesar de todo, JDBC es a menudo interpretado como “Java DataBase Connectivity”). Consta de un conjunto de clases e interfaces escrito en lenguaje de programación Java. Usando JDBC es fácil ejecutar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1833&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>﻿﻿<a href="http://es.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</a> es una API de Java que permite  ejecutar sentencias SQL. (JDBC es nombre de una marca registrada y no es un acrónimo, a pesar de todo, JDBC es a menudo interpretado como “Java DataBase Connectivity”). Consta de un conjunto de clases e interfaces escrito en lenguaje de programación Java.</p>
<p>Usando JDBC es fácil ejecutar sentencias SQL a cualquier base de datos relacional. Por esta razón, no es necesario escribir un programa para acceder a una base de datos tipo Access, otro programa para acceder a una base de datos tipo Oracle y así para cada tipo de base de datos. Se puede escribir un solo programa usando la API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Además con una aplicación escrita en Java, se puede ejecutar en diferentes plataformas.</p>
<p><span style="text-decoration:underline;">Aunque la API ODBC de Microsoft es probablemente la interface de programación para acceder a bases de datos relacionales bastante usada y ofrece la posibilidad de conectar a casi la totalidad de bases de datos, tiene en contra de la API JDBC que está escrita en C y por tanto no es portable entre distintos sistemas operativos.</span></p>
<p>En la siguiente página de <a href="http://developers.sun.com/product/jdbc/drivers">Oracle</a> puede ver todas las APIS para todas las bases de datos disponibles.</p>
<p><a rel="attachment wp-att-1894" href="http://jtagua.wordpress.com/2010/10/24/tutorial-de-jsp-18-introduccion-a-jdbc/image8-18/"><img class="aligncenter size-full wp-image-1894" title="Image8" src="http://jtagua.files.wordpress.com/2010/10/image84.jpg?w=530" alt=""   /></a><span id="more-1833"></span>El JDBC está compuesto por dos capas:</p>
<ol>
<li>El API JDBC se encarga de comunicar con la API del administrador de controladores JDBC enviándole las sentencias SQL.</li>
<li>Un administrador de controladores de JDBC que se comunica de forma transparente para el programador con los distintos controladores disponibles para la base de datos.</li>
</ol>
<p>La JDBC 3.0 API comprende dos paquetes, El paquete java.sql y el paquete javax.sql. Esto obliga a mantener</p>
<p>Para descargar e instalar el conector J que permitirá utilizar MySQL en el IDE NetBeans pulse <a href="http://jtagua.wordpress.com/2010/06/19/871/">aquí</a>.</p>
<h3><span style="text-decoration:underline;"><strong>Mecanismo JDBC</strong></span></h3>
<p>El funcionamiento práctico de JDBC obliga a conocer los siguientes 6 procedimientos, a saber,</p>
<ol>
<li>Establecer conexión.</li>
<li>Crear sentencia.</li>
<li>Ejecutar sentencia.</li>
<li>Procesar resultados.</li>
<li>Cerrar.</li>
</ol>
<h3><span style="text-decoration:underline;"><strong>1.-Establecer la conexión.</strong></span></h3>
<p>Tiene dos operaciones básicas.<strong> </strong><span style="text-decoration:underline;"><strong><br />
</strong></span></p>
<h3><span style="text-decoration:underline;"><strong>DriverManager</strong></span></h3>
<p>La clase DriverManager es la capa gestora de JDBC, trabajando entre el usuario y el controlador (driver). Se encarga de seguir el rastro de los controladores que están disponibles y establecer la conexión entre la base de datos y el controlador apropiado. La clase DriverManager mantiene una lista de clases Driver que se han registrado llamando al método DriverManager.registerDriver. Un usuario normalmente no llamará al método DriverManager.registerDriver directamente, sino que será llamado automáticamente por el controlador (driver) cuando este se carga.</p>
<p>El usuario lo que hace es forzar que se cargue el driver, lo cual puede hacerse de dos formas, aunque la recomendada es llamando al método Class.forName(). Esto carga la clase driver explícitamente.</p>
<p><span style="text-decoration:underline;">Para trabajar con el Puente JDBC-ODBC:</span></p>
<h3>try {<br />
<span style="color:#ff6600;">Class.forName(&#8220;sun.jdbc.odbc.JdbcOdbcDriver&#8221;);</span><br />
} catch (ClassNotFoundException cnfe) {<br />
System.err.println(&#8220;No ha podido encontrarse el driver de ODBC.&#8221;);<br />
}</h3>
<p><span style="text-decoration:underline;"> Para trabajar con MySQL:</span></p>
<h3>try {<br />
<span style="color:#ff6600;">Class.forName(&#8220;com.mysql.jdbc.Driver&#8221;);</span><br />
} catch (ClassNotFoundException cnfe) {<br />
System.err.println(&#8220;No ha podido encontrarse el driver de MySQL&#8221;);<br />
}</h3>
<p><span style="text-decoration:underline;">Para trabajar con postgreSQL:</span></p>
<h3>try {<br />
Class.forName(&#8220;org.postgresql.Driver&#8221;);<br />
} catch (ClassNotFoundException cnfe) {<br />
System.err.println(&#8220;No ha podido encontrarse el driver de postgreSQL&#8221;);<br />
}</h3>
<p><span style="text-decoration:underline;">Para trabajar con Oracle:</span></p>
<h3><strong>try {</strong><br />
<span style="color:#ff6600;"><strong> Class.forName(&#8220;oracle.jdbc.driver.OracleDriver&#8221;);</strong></span><br />
<strong>} catch (ClassNotFoundException cnfe) {</strong><br />
<strong> System.err.println(&#8220;No ha podido encontrarse el driver de Oracle&#8221;);</strong><br />
<strong>}</strong></h3>
<p>No necesitamos crear un ejemplar de un driver y registrarlo con el <strong>DriverManager</strong> porque la llamada a <strong>Class.forName</strong> lo hace automáticamente. Si hubiéramos creado nuestro propio ejemplar,  creariamos un duplicado innecesario, pero no pasaría nada.</p>
<p>Una vez cargado el driver, es posible hacer una conexión con un controlador de base de datos.</p>
<h3><span style="text-decoration:underline;">Connection</span></h3>
<p>Un objeto Connection representa una conexión a una base de datos. Una sesión con una conexión incluye las sentencias SQL que son ejecutadas y los resultados que son devueltos a través de dicha conexión. Una misma aplicación puede tener una o más conexiones con una sola base de datos o puede tener conexiones con varias bases de datos diferentes.<br />
La forma estándar de establecer una conexión con una base de datos es llamando al método DriverManager.getConnection. Este método toma como parámetro una cadena de caracteres que contiene una URL. La clase DriverManage trata de localizar el driver que pueda conectar con la base de datos representada por esa URL.</p>
<p><span style="text-decoration:underline;"><strong>Para trabajar con el Puente JDBC-ODBC con MsAccess (Windows XP):</strong></span></p>
<p><span style="color:#000000;"><code><strong>import </strong>java.sql.*;<br />
<strong> </strong><br />
<strong>public static </strong><strong>void conexion</strong> (  ) <strong>throws </strong>Exception {</code></span></p>
<p><span style="color:#000000;"><code><strong>try </strong>{</code></span></p>
<p><span style="color:#000000;"><code>// Carga el driver</code></span></p>
<p><span style="color:#000000;"><code><strong>Class</strong>.forName("sun.jdbc.odbc.JdbcOdbcDriver");</code></span></p>
<p><span style="color:#000000;"><code>// Define la cadena de conexión<br />
<strong> </strong></code></span></p>
<p><span style="color:#000000;"><code><strong>String</strong> sourceURL = "jdbc:odbc:DSNSistema";<br />
</code></span></p>
<p><span style="color:#000000;"><code>// Crea el objeto connection a través de DriverManager<br />
<strong> </strong></code></span></p>
<p><span style="color:#000000;"><code><strong>Connection</strong> con = DriverManager.getConnection(sourceURL);<br />
</code></span></p>
<p><span style="color:#000000;"><code>System.out.println("La conexion establecida es: "+ con);<br />
</code></span></p>
<p><span style="color:#000000;"><code>} <strong>catch</strong>(ClassNotFoundException cnfe) {<br />
</code></span></p>
<p><span style="color:#000000;"><code>System.err.println(cnfe);<br />
</code></span></p>
<p><span style="color:#000000;"><code>} <strong>catch</strong>(SQLException sqle) {<br />
</code></span></p>
<p><span style="color:#000000;"><code>System.err.println(sqle);<br />
</code></span></p>
<p><span style="color:#000000;"><code>};<br />
</code></span></p>
<p><code><span style="color:#000000;">};</span><br />
<span style="color:#000000;"><br />
</span></code></p>
<p><span style="text-decoration:underline;"><strong>Para trabajar con MySQL.</strong></span></p>
<p><code><strong>import </strong>java.sql.*;<br />
<strong> </strong><br />
<strong>public static </strong><strong>void conexion</strong> (  ) <strong>throws </strong>Exception {</code></p>
<p><code><strong>try </strong>{</code></p>
<p><code>// Carga el driver</code></p>
<p><code><strong>Class</strong>.forName("</code>com.mysql.jdbc.Driver&#8221;<code>);</code></p>
<p><code>// Define la cadena de conexión<br />
<strong> </strong></code></p>
<p><code><strong>String</strong> sourceURL = "</code>jdbc:mysql://localhost/bd_pruebas&#8221;, usuario, password<code>";<br />
</code></p>
<p><code>// Crea el objeto connection a través de DriverManager<br />
<strong> </strong></code></p>
<p><code><strong>Connection</strong> con = DriverManager.getConnection(sourceURL);<br />
</code></p>
<p><code>System.out.println("La conexion establecida es: "+ con);<br />
</code></p>
<p><code>} <strong>catch</strong>(ClassNotFoundException cnfe) {<br />
</code></p>
<p><code>System.err.println(cnfe);<br />
</code></p>
<p><code>} <strong>catch</strong>(SQLException sqle) {<br />
</code></p>
<p><code>System.err.println(sqle);<br />
</code></p>
<p><code>};<br />
</code></p>
<p><code>};</code></p>
<p><strong><span style="text-decoration:underline;">Para trabajar con postgreSQL:</span></strong></p>
<p><code><strong>import </strong>java.sql.*;<br />
<strong> </strong><br />
<strong>public static </strong><strong>void conexion</strong> (  ) <strong>throws </strong>Exception {</code></p>
<p><code><strong>try </strong>{</code></p>
<p><code>// Carga el driver</code></p>
<p><code><strong>Class</strong>.forName(</code>&#8220;org.postgresql.Driver&#8221;<code>);</code></p>
<p><code>// Define la cadena de conexión</code></p>
<p>String database = &#8220;Bd&#8221;;<br />
String username = &#8220;admin&#8221;;<br />
String password = &#8220;admin&#8221;;</p>
<p><code><strong>String</strong> sourceURL = "</code>jdbc:postgresql:&#8221;+database,                                     username,                                     password<code>";<br />
</code></p>
<p><code>// Crea el objeto connection a través de DriverManager<br />
<strong> </strong></code></p>
<p><code><strong>Connection</strong> con = DriverManager.getConnection(sourceURL);<br />
</code></p>
<p><code>System.out.println("La conexion establecida es: "+ con);<br />
</code></p>
<p><code>} <strong>catch</strong>(ClassNotFoundException cnfe) {<br />
</code></p>
<p><code>System.err.println(cnfe);<br />
</code></p>
<p><code>} <strong>catch</strong>(SQLException sqle) {<br />
</code></p>
<p><code>System.err.println(sqle);<br />
</code></p>
<p><code>};<br />
</code></p>
<p><code>};<br />
</code></p>
<p><span style="text-decoration:underline;"><strong>Para trabajar con </strong></span><a title="Oracle XE" href="http://www.orafaq.com/wiki/Oracle_XE">Oracle XE</a> <strong>(version 10g).</strong></p>
<p><code><strong>import </strong>java.sql.*;<br />
<strong> </strong><br />
<strong>public static </strong><strong>void conexion</strong> (  ) <strong>throws </strong>Exception {</code></p>
<p><code><strong>try </strong>{</code></p>
<p><code>// Carga el driver</code></p>
<p><code><strong>Class</strong>.forName("</code>oracle.jdbc.driver.OracleDriver<code>");</code></p>
<p><code>// Define la cadena de conexión<br />
<strong> </strong></code></p>
<p><code>String sourceURL =</code>&#8220;jdbc:oracle:thin:@localhost:1521:orcl&#8221;, &#8220;scott&#8221;, &#8220;tiger&#8221;;</p>
<p><code>// Crea el objeto connection a través de DriverManager<br />
<strong> </strong></code></p>
<p><code><strong>Connection</strong> con = DriverManager.getConnection(sourceURL);<br />
</code></p>
<p><code>System.out.println("La conexion establecida es: "+ con);<br />
</code></p>
<p><code>} <strong>catch</strong>(ClassNotFoundException cnfe) {<br />
</code></p>
<p><code>System.err.println(cnfe);<br />
</code></p>
<p><code>} <strong>catch</strong>(SQLException sqle) {<br />
</code></p>
<p><code>System.err.println(sqle);<br />
</code></p>
<p><code>};<br />
</code></p>
<p><code>};</code></p>
<h3><span style="text-decoration:underline;"><strong> </strong><strong>2.-Crear sentencia.</strong></span></h3>
<h3><span style="text-decoration:underline;">Statement</span></h3>
<p>Un objeto Statement se usa para enviar sentencias SQL a una base de datos. Una vez que se ha establecido una conexión con una base de datos particular, esa conexión puede ser usada para enviar sentencias SQL. Un objeto Statement se crea con el método creatStatement de Connection como en el siguiente  código:</p>
<p style="text-align:center;"><strong> </strong><strong>Statement senten = con.createStatement();</strong></p>
<p>En realidad el método createStatement debe llevar dos parámetros enteros que especifican el comportamiento del objeto ResultSet u hoja de datos y que luego se analizará con detalle. La sintaxis general será</p>
<p style="text-align:center;"><strong> public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException</strong></p>
<p>donde:</p>
<p><span style="text-decoration:underline;">int resulSetType</span>, puede tener un valor de ResultSet.TYPE_SCROLL_SENSITIVE o ResultSet.TYPE_SCROLL_INSENSITIVE si queremos que el ResultSet mantenga los cambios realizados en dicha hoja de datos o no respectivamente. Finalmente ResultSet.TYPE_FORWARD_ONLY que sólo permite desplazamientos del cursor del ResultSet hacia adelante (Valor por defecto).</p>
<p><span style="text-decoration:underline;">int resulSetCurrency</span>, puede tener un valor de ResultSet.CONCUR_UPDATABLE cuando deseamos actualizar cualquier componente de dicho objeto u hoja de datos, en caso contrario indicaremos como valor ResulSet.CONCUR_READ_ONLY (Valor por defecto).</p>
<p style="text-align:left;"><strong><br />
</strong></p>
<p style="text-align:left;"><span style="text-decoration:underline;"><strong>PreparedStatement </strong></span></p>
<p style="text-align:left;">Un objeto PreparedStatement se usa para sentencias SQL que toman uno o más parámetros como argumentos de entrada (parámetros IN). PreparedStatement tiene un grupo de métodos que fijan los valores de los parámetros IN, los cuales son enviados a la base de datos cuando se procesa la sentencia SQL.<br />
Un objeto PreparedStatement es potencialmente más eficiente que un objeto Statement porque este ha sido precompilado y almacenado para su uso futuro.</p>
<p style="text-align:left;">Son muy útiles cuando una sentencia SQL se ejecuta muchas veces cambiando sólo algunos valores.</p>
<p>Una sentencia preparada (<tt>PreparedStatement</tt>) se crea de la misma forma que un <tt>Statement</tt> convencional:</p>
<p style="text-align:center;"><strong>PreparedStatement updateSales = con.prepareStatement(&#8220;UPDATE productos SET ventas = ? WHERE COD = ?&#8221;);</strong></p>
<p style="text-align:left;">después de esta instrucción habría que añadir<strong><br />
</strong></p>
<p style="text-align:center;"><strong>updateSales.setInt(1,75);</strong><br />
<strong>updateSales.setString(2,&#8221;110001&#8243;);</strong></p>
<p style="text-align:center;">para finalmente ejecutar la sentencia con</p>
<p style="text-align:center;"><strong>updateSales.executeUpdate();</strong></p>
<p>en las que la primera instrucción fija el valor del primer parámetro (ventas=75), la segunda fija el valor del segundo parámetro (Código del producto = 110001) y la tercera ejecuta la instrucción.</p>
<h3><span style="text-decoration:underline;">3.-Ejecutar sentencia.</span></h3>
<p>La sentencia SQL se ejecuta a través de los métodos executeQuery o executeUpdate dependiendo de que no exista o exista modificación de los datos respectivamente. En los dos casos. Es decir,</p>
<ol>
<li>Consulta &#8211; <tt>executeQuery()</tt> Es una operación SELECT que devuelve el resultado de una consulta encapsulado en un objeto de tipo <tt>ResultSet</tt></li>
<li>Actualización &#8211; <tt>executeUpdate()</tt> Es una operación INSERT,  UPDATE o DELETE que realiza una modificación sobre la base de datos; su  resultado es un valor entero indicando el número de tuplas afectadas por  esta operación.</li>
</ol>
<p style="text-align:center;"><strong>ResultSet resul = senten.executeQuery(&#8220;SELECT a, b, c FROM Table2&#8243;);</strong></p>
<p style="text-align:center;"><code>Ó</code></p>
<p style="text-align:center;"><strong>Int filas_afectadas = senten.executeUpdate(&#8220;UPDATE personas set nombre=&#8217;Marina&#8217; where id=4&#8243;);</strong></p>
<p style="text-align:center;"><code>Ó</code></p>
<p style="text-align:center;"><strong>Int filas_afectadas = senten.executeUpdate(&#8220;INSERT INTO contacto (nombre, apellidos, telefono) VALUES        (&#8216;Juan&#8217;, &#8216;Gomez&#8217;, &#8217;123&#8242;&#8221;);</strong></p>
<p><strong>3.1.-Método executeUpdate</strong></p>
<p>Este método se usa para ejecutar todas las sentencias SQL que impliquen la creación, modificación o borrado de una tabla (INSERT, DELETE, UPDATE y comandos DDL – CREATE, DROP, ALTER,&#8230;). Por tanto, con este método realizaremos sentencias de creación de tablas (CREATE), modificación de la estructura de tablas (ALTER), destrucción de tablas (DROP), inserción de filas (INSERT), modificación de filas (UPDATE) y destrucción de filas (DELETE).</p>
<p>Para ejecutar una sentencia SQL con el método executeStatement es necesario pasarle como parámetro (en forma de String) la sentencia SQL que queramos ejecutar. El objeto Statement se encargará de enviar la sentencia SQL a la base de datos para que se ejecute y de devolvernos los resultados.</p>
<p>Devuelve un entero con las filas afectadas.</p>
<div>
<p><strong>3.2.-Método executeQuery</strong></p>
</div>
<div>El método executeQuery se usa para ejecutar sobre la base de datos todas las sentencias SQL de tipo “ SELECT” .Lógicamente, las sentencias SQL que ejecutemos pueden ser todo lo complejas que queramos, no hay restricciones de ningún tipo, se puede ejecutar cualquier sentencia que sea permitida por el lenguaje SQL. Para ello, lo único que tendremos que hacer es pasarle como parámetro al método executeQuery la sentencia SQL que queremos ejecutar.</div>
<div>Devuelve un resultSet, una hoja de datos o conjunto de filas.</div>
<p><span style="text-decoration:underline;"><strong>4.-Procesar resultados.</strong></span></p>
<p><span style="text-decoration:underline;"><strong>ResultSet</strong></span></p>
<p>Un ResultSet contiene todos los registros (filas) que satisfacen las condiciones impuestas en una sentencia SQL y proporciona acceso a los datos en dichos registros a través de un conjunto de métodos get que permiten acceder a los diferentes campos o atributos (columnas) del registro actual. Un ResultSet mantiene un cursor que apunta al registro actual. El método ResultSet.next() se usa para moverse al siguiente registro del ResultSet, haciendo el siguiente registro el registro actual.</p>
<p>Los métodos getXXX proporcionan los medios para obtener los valores de los campos, atributos o columnas del registro actual.</p>
<p>Para cada registro, los valores de las columnas pueden ser obtenidos en cualquier orden, pero para la mayor portabilidad, se debe hacer de izquierda a derecha y leer el valor de la columna sólo una vez. Tanto el nombre de la columna como el número de esta puede ser usado para designar la columna de la cual se quiere obtener el valor. Si en el ejemplo anterior la columna “a” es de tipo entero, la “b” del tipo cadena de caracteres y la “c” de tipo coma flotante, la siguiente porción de código imprimiría los valores de todos los registros:</p>
<p><strong>while(resul.next()){</strong><br />
<strong>int i = resul.getInt(&#8220;a&#8221;);</strong><br />
<strong>String s = resul.getString(&#8220;b&#8221;);</strong><br />
<strong>Float f = resul.getFloat(&#8220;c&#8221;);</strong><br />
<strong>System.out.println(&#8220;FILA= &#8221; + i + &#8221; &#8221; + s + &#8221; &#8221; + f);</strong><br />
<strong>}</strong></p>
<p><strong>o lo que es lo mismo</strong></p>
<p><strong>while(resul.next()){</strong><br />
<strong>int i = resul.getInt(1);</strong><br />
<strong>String s = resul.getString(2);</strong><br />
<strong>Float f = resul.getFloat(3);</strong><br />
<strong>System.out.println(&#8220;FILA= &#8221; + i + &#8221; &#8221; + s + &#8221; &#8221; + f);</strong><br />
<strong>}</strong></p>
<p>En la tabla que sigue se muestra el método adecuado para recuperar los distintos tipos de datos,</p>
<table border="1" cellpadding="6">
<tbody>
<tr>
<th> Tipo de dato SQL</th>
<th> Tipo de dato Java devuelto por <em>getObject()</em></th>
<th> Método <em>get</em> apropiado</th>
</tr>
<tr>
<td>BIGINT</td>
<td>Long</td>
<td>long getLong()</td>
</tr>
<tr>
<td>BINARY</td>
<td>byte[]</td>
<td>byte[] getBytes()</td>
</tr>
<tr>
<td>BIT</td>
<td>Boolean</td>
<td>long getLong()</td>
</tr>
<tr>
<td>CHAR</td>
<td>String</td>
<td>String getString()</td>
</tr>
<tr>
<td>DATE</td>
<td>java.sql.Date</td>
<td>java.sql.Date getDate()</td>
</tr>
<tr>
<td>DECIMAL</td>
<td>java.math.BigDecimal</td>
<td>java.math.BigDecimal getBigDecimal</td>
</tr>
<tr>
<td>DOUBLE</td>
<td>Double</td>
<td>double getDouble()</td>
</tr>
<tr>
<td>FLOAT</td>
<td>Double</td>
<td>double getDouble()</td>
</tr>
<tr>
<td>INTEGER</td>
<td>Integer</td>
<td>int  getInt()</td>
</tr>
<tr>
<td>LONGVARBINARY</td>
<td>byte[]</td>
<td>InputStream getBinaryStream()</td>
</tr>
<tr>
<td>LONGVARCHAR</td>
<td>String</td>
<td>InputStream getAsciiStream()<br />
InputStream getUnicodeStream()</td>
</tr>
<tr>
<td>NUMERIC</td>
<td>java.math.BigDecimal</td>
<td style="text-align:center;">java.math.bigDecimal getBigDecimal()</td>
</tr>
<tr>
<td>REAL</td>
<td>Float</td>
<td>float getFloat()</td>
</tr>
<tr>
<td>SMALLINT</td>
<td>Integer</td>
<td>short getShort()</td>
</tr>
<tr>
<td>TIME</td>
<td>java.sql.Time</td>
<td>java.sql.Time getTime()</td>
</tr>
<tr>
<td>TIMESTAMP</td>
<td>java.sql.Timestamp</td>
<td>java.sql.Timestamp getTimestamp()</td>
</tr>
<tr>
<td>TINYINT</td>
<td>Integer</td>
<td>byte getByte()</td>
</tr>
<tr>
<td>VARBINARY</td>
<td>byte[]</td>
<td>byte[] getBytes()</td>
</tr>
<tr>
<td>VARCHAR</td>
<td>String</td>
<td>String getString()</td>
</tr>
<tr>
<td>VARCHAR2</td>
<td>String</td>
<td>String getString()</td>
</tr>
</tbody>
</table>
<h3><span style="text-decoration:underline;">Métodos relacionados con el cursor de ResultSet</span></h3>
<p>El conjunto de datos ResultSet y hoja de datos en el caso de que el tipo no sea ResultSet.TYPE_FORWARD_ONLY, podemos mover el cursor por el conjunto de datos con diferentes métodos:</p>
<p><strong>resul.first()</strong>, moverá el cursor al principio.</p>
<p><strong>resul.last()</strong>, moverá el cursor al final.</p>
<p><strong>resul.beforeFirst()</strong>, moverá el cursor antes del principio.</p>
<p><strong>resul.afterLast(), </strong>moverá el cursor después del final.</p>
<p><strong> </strong> <strong>resul.absolute (int num)</strong>, moverá el cursor al número de fila indicado en su argumento entero. Si el  número es positivo, el cursor se mueve al número dado desde el  principio, y así <strong>absolute(1)</strong> pone el cursor en la primera fila. Si el número es negativo, mueve el cursor al número dado desde el final, por eso llamar a <strong>absolute(-1)</strong> pone el cursor en la última fila.</p>
<p><strong>resul.next()</strong> mueve el cursor a la fila siguiente.</p>
<p><strong>resul.previous, </strong>mueve el cursor a la fila anterior.</p>
<h3><span style="text-decoration:underline;">Otros métodos de ResultSet.</span></h3>
<p><strong>resul.getRow()</strong> permite comprobar el número de fila donde está el cursor.</p>
<p><strong>resul.isFirst</strong>, <strong>resul.isLast</strong>, <strong>resul.isBeforeFirst()</strong>, <strong>resul.isAfterLast() </strong>devuelven true si el cursor se encuentra en la posición indicada por el método, en caso contrario false.</p>
<div><span style="text-decoration:underline;"><strong>Tratamiento de las excepciones.</strong></span></div>
<p>La mayor parte de las operaciones que nos proporciona el API JDBC lanzarán la excepción java.sql.SQLException en caso de que se produzca algún error en el acceso a la base de datos (por ejemplo: errores en la conexión, sentencias SQL incorrectas, falta de privilegios,&#8230;). Por este motivo es necesario dar un tratamiento adecuado a estas excepciones y encerrar todo el código JDBC entre bloques try/catch.</p>
<div>En el código de nuestro ejemplo tratamos las excepciones mostrando un mensaje de error al usuario a través de la consola:</div>
<div><strong>try{</strong></div>
<div><strong>&#8230;</strong></div>
<div><strong>}catch(SQLException se){</strong></div>
<p><strong>// Informamos al usuario de los errores SQL que se han producido</strong><br />
<strong> System.out.println(“SQL Exception: “ + se.getMessage());</strong><br />
<strong> se.printStackTrace(System.out);</strong></p>
<div><strong>}</strong></div>
<h3><span style="text-decoration:underline;">5.-Cerrar.</span></h3>
<p>Es necesario cerrar adecuadamente la sentencia el ResultSet y la conexión.</p>
<p style="text-align:center;"><strong>senten.close();</strong></p>
<p style="text-align:center;"><strong>resul.close();</strong></p>
<p style="text-align:center;"><strong>con.close();</strong></p>
<p style="text-align:left;">&nbsp;</p>
<p style="text-align:left;"><span style="text-decoration:underline;"><strong>Conviene recordar:</strong></span></p>
<p>El mecanismo de funcionamiento básico JDBC,</p>
<p><strong> </strong>Establecer conexión: <strong>Class.forName(&#8220;&#8230;&#8221;)  y DriverManager.getConnection</strong></p>
<p>Crear sentencia: <strong>Statement senten = connexion.createStatement();</strong></p>
<p>Ejecutar sentencia: <strong>executeUpdate o executeQuery.<br />
</strong></p>
<p>Procesar resultados: <strong>while</strong>, <strong>resul.first()</strong>, <strong>resul.last()</strong>, <strong>resul.beforeFirst()</strong>, <strong>resul.afterLast(), resul.absolute (int num)</strong>, <strong>resul.next()</strong>, <strong>resul.previous, resul.getRow()</strong>.</p>
<p>Cerrar: <strong>sentencia.close(), resultados.close(), conexion.close();</strong></p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/'>JDBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/jdbc/'>JDBC</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1833/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1833&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/24/tutorial-de-jsp-18-introduccion-a-jdbc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image84.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (20): JDBC + ODBC (MsAccess sin DSN)</title>
		<link>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/</link>
		<comments>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 19:03:44 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[ODBC]]></category>
		<category><![CDATA[Tutorial JSP]]></category>
		<category><![CDATA[MsAccess]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1838</guid>
		<description><![CDATA[En el caso de  ODBC Open DataBase Connectivity y con objeto de utilizar una base de datos MsAccess con JDBC sin hacer uso de las fuentes de datos o DSN, el driver será el mismo que en el caso anterior (Tutorial de JSP (19), Class.forName(&#8220;sun.jdbc.odbc.JdbcOdbcDriver&#8221;); Mientras que la cadena de conexión necesaria para crear el [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1838&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En el caso de  <a href="http://es.wikipedia.org/wiki/Open_Database_Connectivity">ODBC</a> <strong>Open DataBase Connectivity</strong> y con objeto de utilizar una base de datos MsAccess con JDBC sin hacer uso de las fuentes de datos o DSN, el driver será el mismo que en el caso anterior (Tutorial de JSP (19),</p>
<p style="text-align:center;"><strong>Class.forName(&#8220;sun.jdbc.odbc.JdbcOdbcDriver&#8221;);</strong></p>
<p>Mientras que la cadena de conexión necesaria para crear el objeto connection será,<strong> </strong></p>
<p style="text-align:center;"><strong>String bd = &#8220;jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=H:/DSNPruebas.MDB&#8221;;</strong><br />
<strong>con = DriverManager.getConnection(bd, &#8220;admin&#8221;, &#8220;admin&#8221;);</strong></p>
<p>Vea que ahora no es necesario especificar Un DSN (Origen de datos), estaríamos en el caso de conexión directa o dinámica.</p>
<p><span id="more-1838"></span></p>
<p><strong>EJERCICIO1:</strong></p>
<p>Repita el ejercicio1 indicado en el <a href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/">Tutorial de JSP (19)</a> realizando estos cambios convenientemente.</p>
<p><strong>EJERCICIO2:</strong></p>
<p>Realizaremos ahora un nuevo ejercicio para manejar la base de datos creada en MsAcces de <a href="http://www.ars.usda.gov/Services/docs.htm?docid=8964">USDA National Nutrient</a>. Esta base de datos denominada &#8220;sr23.MDB&#8221; contiene una tabla de nutrientes denominada &#8220;ABBREV&#8221;, alguno de los cuales contiene azúcar y lo que pretendemos es listarlos ordenados desde mayores cantidades de azúcar a menores.</p>
<p>Es decir buscamos una instrucción SQL que responda a,</p>
<p style="text-align:center;"><strong>SELECT ABBREV.NDB_No, ABBREV.Shrt_Desc, ABBREV.Sugar_Tot FROM ABBREV WHERE (((ABBREV.Sugar_Tot)&gt;0)) ORDER BY ABBREV.Sugar_Tot DESC;</strong></p>
<p>donde:</p>
<p>ABBREV.NDB_No, es el código o identificativo del nutriente.</p>
<p>ABBREV.Shrt_Desc, es la descripción del nutriente</p>
<p>ABBREV.Sugar_Tot, es la cantidad total de Azúcar que contiene el nutriente.<strong> </strong></p>
<p><strong>Es decir la página tendrá que mostrar</strong></p>
<p><strong><a rel="attachment wp-att-1872" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image1-47/"><img class="aligncenter size-full wp-image-1872" title="Image1" src="http://jtagua.files.wordpress.com/2010/10/image113.jpg?w=530" alt=""   /></a></strong></p>
<p>Tal como puede verse la página muestra inicialmente los 20 primeros registros, existiendo un sistema de paginación que permite recorrer el conjunto completo de registros.</p>
<p>Para resolver el problema necesitamos una página index.jsp con un código igual al que se indica seguidamente:<strong> </strong></p>
<p><strong><a rel="attachment wp-att-1875" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image2-39/"><img class="aligncenter size-full wp-image-1875" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image25.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1876" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image3-39/"><img class="aligncenter size-full wp-image-1876" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image310.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1877" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image4-24/"><img class="aligncenter size-full wp-image-1877" title="Image4" src="http://jtagua.files.wordpress.com/2010/10/image44.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1880" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image5-31/"><img class="aligncenter size-full wp-image-1880" title="Image5" src="http://jtagua.files.wordpress.com/2010/10/image55.jpg?w=530" alt=""   /></a></strong></p>
<p>Se requiere igualmente de un paquete al que hemos denominado &#8220;pbd&#8221; y dentro de él una clase a la que llamamos &#8220;claseBD&#8221; con el siguiente código,</p>
<p><strong><a rel="attachment wp-att-1881" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image6-22/"><img class="aligncenter size-full wp-image-1881" title="Image6" src="http://jtagua.files.wordpress.com/2010/10/image64.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1882" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/image7-18/"><img class="aligncenter size-full wp-image-1882" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image75.jpg?w=530" alt=""   /></a></strong></p>
<p><strong><br />
</strong></p>
<p><strong><a rel="attachment wp-att-1883" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/packagepbd/"></a><br />
</strong></p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/'>JDBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/odbc/'>ODBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/jdbc/'>JDBC</a>, <a href='http://jtagua.wordpress.com/tag/msaccess/'>MsAccess</a>, <a href='http://jtagua.wordpress.com/tag/odbc/'>ODBC</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1838/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1838/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1838/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1838&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-20-jdbc-odbc-msaccess-sin-dsn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image113.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image25.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image310.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image44.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image55.jpg" medium="image">
			<media:title type="html">Image5</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image64.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image75.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (19): JDBC + ODBC (MsAccess con DSN)</title>
		<link>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/</link>
		<comments>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 17:47:08 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[ODBC]]></category>
		<category><![CDATA[Tutorial JSP]]></category>
		<category><![CDATA[JDBC; MsAccess]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1835</guid>
		<description><![CDATA[El ODBC Open DataBase Connectivity es un standard creado por Microsoft para manejar ciertos tipos de bases de datos desde diferentes entornos de programación e independizándolos de éstos y por tanto evitando la especificidad de cada uno de los SGBD. Hoy por hoy, existe soporte ODBC para una multitud de bases de datos, las mas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1835&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>El <a href="http://es.wikipedia.org/wiki/Open_Database_Connectivity">ODBC</a> <strong>Open DataBase Connectivity </strong>es un standard creado por Microsoft para manejar ciertos tipos de bases de datos desde diferentes entornos de programación e independizándolos de éstos y por tanto evitando la especificidad de cada uno de los SGBD. Hoy por hoy, existe soporte ODBC para una multitud de bases de datos, las mas significativas En la actualidad existen ODBC para muchos sistemas de bases datos, tales como <a title="Informix" href="http://es.wikipedia.org/wiki/Informix">Informix</a>, <a title="Access" href="http://es.wikipedia.org/wiki/Access">Access</a>, <a title="PostgreSQL" href="http://es.wikipedia.org/wiki/PostgreSQL">PostgreSQL</a>, <a title="MySQL" href="http://es.wikipedia.org/wiki/MySQL">MySQL</a>, <a title="Oracle" href="http://es.wikipedia.org/wiki/Oracle">Oracle</a> y <a title="SQL Server" href="http://es.wikipedia.org/wiki/SQL_Server">SQL Server</a>.</p>
<p>Existiendo ODBC drivers oportuno, éste puede utilizarse para aplicaciones Java  por medio de el puente JDBC-ODBC proporcionado por Sun. Usar el puente  JDBC-ODBC no es una solución ideal dado que:</p>
<ol>
<li>Requiere de la instalación  de drivers ODBC y entradas de registro.</li>
<li>Los drivers ODBC a su vez son  implementados nativamente lo que compromete el soporte multiplataforma.</li>
</ol>
<p>El puente es por si mismo un driver basado en tecnología JDBC  que está definida en la clase sun.jdbc.odbc.JdbcOdbcDriver.</p>
<p><strong>El puente JDBC-ODBC debe ser considerado como una solución  transitoria. Con el desarrollo de drivers puros  en Java, el puente se volverá innecesario. </strong></p>
<p>Lo ideal es “Java Puro” y por ello, no al código nativo y no a las características de  plataforma dependiente. Sin embargo puede utilizarse si se requiere  desarrollar de forma rápida sin necesidad de esperar a que el fabricante de la  base de datos utilizada proporcione el driver JDBC. Los drivers  parcialmente nativos, como el puente JDBC-ODBC, le permite crear  programas que pueden fácilmente ser adaptados a drivers puros en Java  tan pronto como estén disponibles.</p>
<p>En términos de programación JDBC, el manejar ODBC obliga, a parte de definir un DSN (fuente de datos), a utilizar un driver especial, se trata de</p>
<p style="text-align:center;"><strong>Class.forName(&#8220;sun.jdbc.odbc.JdbcOdbcDriver&#8221;);</strong></p>
<p style="text-align:left;">Mientras que la cadena de conexión necesaria para crear el objeto connection será,<strong></strong></p>
<p style="text-align:center;"><strong>con = DriverManager.getConnection(&#8220;jdbc:odbc:DNSPruebas&#8221;, &#8220;root&#8221;, &#8220;root&#8221;);</strong></p>
<p style="text-align:left;">este driver es específico, así como tasmbién lo es para cada una de las distintas bases de datos arriba enumeradas. <strong><br />
</strong></p>
<p><strong><span style="text-decoration:underline;">EJERCICIO1:</span></strong></p>
<p>Vamos a realizar un ejercicio sencillo con MsAccess vía ODBC. Se tratará de crear una tabla en una base de datos ya existente y asociada a un DSN (o fuente de datos) al que llamaremos DNSPruebas, también crearemos una tabla e insertaremos varios registros.</p>
<p>Comenzaremos creando la base de datos, para ello abrimos una sesión de MsAccess y creamos la base de datos vacía denominada &#8220;DNSPruebas&#8221;,</p>
<p><a rel="attachment wp-att-1840" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image2-38/"><img class="aligncenter size-full wp-image-1840" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image24.jpg?w=530" alt=""   /></a></p>
<p>Inmediatamente después creamos el DSN denominado DSNPruebas, para ello vamos al panel de control Windows y hacemos click sobre Herramientas Administrativas, es decir,</p>
<p><a rel="attachment wp-att-1841" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-32/"><img class="aligncenter size-full wp-image-1841" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image33.jpg?w=530" alt=""   /></a>y después hacemos click en orígenes de Datos (ODBC),</p>
<p><a rel="attachment wp-att-1842" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-33/"><img class="aligncenter size-full wp-image-1842" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image34.jpg?w=530" alt=""   /></a>aparecerá</p>
<p><a rel="attachment wp-att-1843" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-34/"><img class="aligncenter size-full wp-image-1843" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image35.jpg?w=530" alt=""   /></a></p>
<p>Seleccionamos la pestaña &#8220;DNS de Sistema&#8221; y hacemos &#8220;Agregar&#8221;,</p>
<p><a rel="attachment wp-att-1844" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-35/"><img class="aligncenter size-full wp-image-1844" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image36.jpg?w=530" alt=""   /></a></p>
<p>Seleccionamos el driver correspondiente a &#8220;Microsoft Access&#8221;, y hacemos Finalizar,</p>
<p><a rel="attachment wp-att-1845" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-36/"><img class="aligncenter size-full wp-image-1845" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image37.jpg?w=530" alt=""   /></a></p>
<p>Nombramos el origen de datos como &#8220;DNSPruebas&#8221; y seleccionamos la base de datos DNSPruebas creada con anterioridad,</p>
<p><a rel="attachment wp-att-1846" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-37/"><img class="aligncenter size-full wp-image-1846" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image38.jpg?w=530" alt=""   /></a></p>
<p>Aceptamos y finalmente,</p>
<p><a rel="attachment wp-att-1847" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image3-38/"><img class="aligncenter size-full wp-image-1847" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image39.jpg?w=530" alt=""   /></a></p>
<p>Abrimos ahora una sesión de NetBeans y generamos un nuevo proyecto al que podríamos llamar &#8220;jdbc_odbc_msaccess_dsn&#8221;. Cuando aparezca la plantilla del index.jsp sustituimos el código por el siguiente otro:</p>
<p><a rel="attachment wp-att-1850" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image12-12/"><img class="aligncenter size-full wp-image-1850" title="Image12" src="http://jtagua.files.wordpress.com/2010/10/image124.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1851" href="http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/image13-9/"><img class="aligncenter size-full wp-image-1851" title="Image13" src="http://jtagua.files.wordpress.com/2010/10/image133.jpg?w=530" alt=""   /></a></p>
<p><span style="text-decoration:underline;">Consideraciones:</span></p>
<p>1.-Vea que tenemos dos bloques try &#8230;catch, el primero de ellos controla y supervisa los errores de clase no encontrada y posibles errores en la creación del objeto connection. Pruebe, provocando un error intencionado este bloque.</p>
<p>2.-El segundo bloque try &#8230; catch controla las operaciones de creación de la tabla, las inserciones de registros y la instrucción select. Pruebe a provocar un error intencionado.</p>
<p>3.-Ensaye eliminar la tabla con la instrucción del sql &#8220;delete&#8221;.</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/'>JDBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/jdbc/odbc/'>ODBC</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/jdbc-msaccess/'>JDBC; MsAccess</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1835/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1835/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1835/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1835&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/23/tutorial-de-jsp-19-jdbc-odbc-msaccess-con-dsn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image24.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image33.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image34.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image35.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image36.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image37.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image38.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image39.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image124.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image133.jpg" medium="image">
			<media:title type="html">Image13</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (15): Gestión de Cookies.</title>
		<link>http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/</link>
		<comments>http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 15:34:38 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Cookies]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutorial JSP]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1751</guid>
		<description><![CDATA[Las cookies son pequeños bits de información textual, que un servidor web (o un contenedor de aplicaciones tal como Tomcat) envía a un navegador cliente (tal como firefox) para identificarlo; el navegador luego devuelve en su petición esa cookie (o cookies) cuando visita nuevamente ese sitio web. De esta manera el servidor, a través de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1751&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Las cookies son pequeños bits de información textual, que un servidor  web (o un contenedor de aplicaciones tal como Tomcat) envía a un navegador cliente (tal como firefox) para  identificarlo; el navegador luego devuelve en su petición esa cookie (o cookies) cuando visita nuevamente ese sitio web. De esta manera el servidor, a través de una página jsp o servlet, lee las cookies que le envió previamente en una conexión anterior.</p>
<p>Esta técnica permite al cliente ciertas ventajas:</p>
<p><span style="text-decoration:underline;">Identificar a un usuario durante una sesión de comercio electrónico:</span><br />
Si  alguna vez ha utilizado un carrito de compras (Shopping  Cart), habrá notado que cuando selecciona un ítem, lo añade a su carrito. Dado que las conexiones <a href="http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> se cierran después de que cada pagina se envía,  cuando el usuario selecciona un nuevo ítem para su carrito, ¿como sabe el sistema de tienda virtual que ese usuario que acaba de conectar de nuevo ya tiene iniciada una compra con uno o mas item en su  carrito?&#8230; las cookies.</p>
<p><span style="text-decoration:underline;">Evitar la autentificación constantemente:</span><br />
Muchos  sitios web grandes, requieren un registro para utilizar sus  servicios (Twitter, SlideShare, Facebook, Yahoo! Mail, etc), sería  un grave inconveniente, que cada vez que el usuario realiza una acción  (cambiar de página por ejemplo) se pregunte constantemente por el usuario y la  contraseña a un usuario si ya se ha autentificado al ingresar por primera vez.  Las cookies permiten evitar esto.</p>
<p><span style="text-decoration:underline;">Personalizar un sitio:</span><br />
iGoogle  es un ejemplo perfecto de la personalización de un sitio. iGoogle,  entre otras cosas, usa una cookie para &#8220;recordar&#8221; que widgets le  agregaste, cuantas pestañas tienes, etc&#8230;</p>
<p><span style="text-decoration:underline;">Publicidad personalizada:</span><br />
Un  motor de búsqueda, como Google, puede mantener una pista de las  preferencias de un usuario a lo largo del tiempo, de esta forma, la  publicidad que se le muestra a ese usuario, estará enfocada a sus  preferencias de búsqueda.</p>
<p>¿Y la seguridad?&#8230;</p>
<p><span id="more-1751"></span></p>
<p>Las cookies no se &#8220;interpretan&#8221; o ejecutan en un sistema, por lo que no  se puede insertar virus en ellas para comprometer la integridad del  sistema. Los navegadores, generalmente sólo aceptan 20 cookies por sitio,  además un navegador nunca poseerá más de 300 cookies en total, y cada  cookie esta limitada a un tamaño de 4 KB, así que no se pueden usar para  llenar el disco duro de un cliente (especialmente con el tamaño de los  discos duros modernos).</p>
<p>Sin embargo, aunque las cookies no presentan una amenaza a la seguridad, si pueden presentar una seria amenaza a la privacidad. Pero más que culpa de la cookie en si,  los problemas de privacidad radican en programadores con prácticas poco  seguras.</p>
<p>El funcionamiento esquemático de las cookies es el siguiente:</p>
<p><a rel="attachment wp-att-1770" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image12-11/"><img class="aligncenter size-full wp-image-1770" title="Image12" src="http://jtagua.files.wordpress.com/2010/10/image123.jpg?w=530" alt=""   /></a></p>
<p>Las cookies en Java son objetos de la clase Cookie que se encuentra en el paquete javax.servlet.http</p>
<p>Conviene recordar:</p>
<p>A)No utilizar caracteres tales como <strong><span style="color:#000000;font-size:x-small;">[]()=,&#8221;"/?@:; o espacios en blanco</span></strong>.</p>
<p>B)Las cookies hay que enviarlas al cliente en la cabecera de la respuesta y por tanto es necesario no haber escrito absolutamente nada en el cuerpo del mensaje previamente.</p>
<h3><span style="text-decoration:underline;color:#ff0000;"><strong>Ejemplo:</strong></span></h3>
<p>En este ejemplo vamos a</p>
<p>1.-Crear un objeto cookie a partir de la clase Cookie con</p>
<p style="text-align:center;"><strong>Cookie Galleta = new Cookie(NomCookie, ValCookie);</strong></p>
<p>donde &#8220;NomCookie&#8221; será el nombre de la cookie y &#8220;ValCookie&#8221; será el valor asociado a esta cookie.</p>
<p>2.-Vamos a fijar su fecha de caducidad/expiración por medio del método,</p>
<p style="text-align:center;"><strong>Galleta.setMaxAge(1*365*24*60*60); //Expira dentro de un año.</strong></p>
<p style="text-align:center;"><strong>Galleta.setMaxAge(-1); //Expira al finalizar la sesión del cliente/navegador.</strong></p>
<p>3.- Vamos a eliminar una cookie haciendo que su expiración sea cero, con</p>
<p style="text-align:center;"><strong>Galleta.setMaxAge(0); //El cliente/navegador eliminará la cookie en la siguiente llamada.</strong></p>
<p>4.- Vamos a limitar el directorio donde se encuentra la página jsp o servlet que tendrá acceso a las cookies, con</p>
<p style="text-align:center;"><strong>Galleta.setPath(&#8220;/&#8221;); //Directorio por defecto desde donde se capturarán las cookies.</strong></p>
<p>3.-Vamos a enviar esta cookie al solicitante de la página a través del objeto implícito response con</p>
<p style="text-align:center;"><strong>response.addCookie(Galleta);</strong></p>
<p>5.-Vamos a recuperar todas las posibles cookies almacenadas en el cliente con,</p>
<p style="text-align:center;"><strong>Cookie[] galleta = request.getCookies(); //Recuperar todas las cookies</strong></p>
<p style="text-align:center;"><strong>Cookie[] galleta = request.getCookies(&#8220;kuki&#8221;); //Recuperar una cookies llamada kuki<br />
</strong></p>
<p>Para ello inicie una nuevo proyecto en el IDE NetBeans y llámelo por ejemplo, GestionCookies, sustituya la plantilla de index.jsp por el siguiente código</p>
<p><a rel="attachment wp-att-1788" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image17-6/"><img class="aligncenter size-full wp-image-1788" title="Image17" src="http://jtagua.files.wordpress.com/2010/10/image171.jpg?w=530" alt=""   /></a></p>
<p>este código genera un formulario en la forma,</p>
<p><a rel="attachment wp-att-1787" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image14-11/"><img class="aligncenter size-full wp-image-1787" title="Image14" src="http://jtagua.files.wordpress.com/2010/10/image142.jpg?w=530" alt=""   /></a></p>
<p>Como puede verse, existen cuatro botones tipo &#8220;submit&#8221; asociados al mismo identificador o &#8220;name&#8221;, los cuatro tienen valores (value) distintos, a saber: Crear, Visualizar, Modificar y Eliminar. Es precisamente este botón quien determinará el bloque de código que es necesario ejecutar para resolver los cuatro procesos.</p>
<p>Puede verse también en index.jsp, que capturamos un parámetro llamado &#8220;men&#8221; que envían cada uno de los procesos anteriores para informar que se ha ejecutado con éxito o que no ha podido realizarse la operación. Y así, aparecerán mensajes tales como:</p>
<p>A) En el caso  &#8220;Crear&#8221; cookie (se necesita el nombre y el valor, que no están comprobados, aunque no habría técnicamente ningún problema en crear un cookie sin nombre y sin valor), aparecerá en el caso favorable el mensaje por ejemplo</p>
<p style="text-align:center;"><strong><span style="color:#ff0000;">Creada cookie JuanTagua con valor 2010</span></strong></p>
<p>B) En el caso  &#8220;Visualizar&#8221;  cookies (No se necesita ni el nombre ni el  valor), aparecerá, por ejemplo,</p>
<p><a rel="attachment wp-att-1794" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image19-7/"><img class="aligncenter size-full wp-image-1794" title="Image19" src="http://jtagua.files.wordpress.com/2010/10/image191.jpg?w=530" alt=""   /></a></p>
<p>En la pantalla anterior podemos ver la cookie que se genera automáticamente en cada sesión en JSP además de la cookie generada anteriormente en la opción anterior.</p>
<p>C) En el caso  &#8220;Modificar&#8221; cookie (se necesita el nombre y el nuevo valor al que se desea modificar la cookie), aparecerá en el caso favorable  el mensaje por ejemplo,</p>
<p style="text-align:center;"><span style="color:#ff0000;"><strong>Modificada cookie JuanTagua</strong></span></p>
<p>y en el caso de que no exista la cookie cuyo valor se desea modificar, aparecerá</p>
<p style="text-align:center;"><strong><span style="color:#ff0000;">No ha podido modificarse la cookie porque no existe.</span></strong></p>
<p style="text-align:left;">D) En el caso  &#8220;Eliminar&#8221; cookie (se necesita el nombre de la cookie que se quiere eliminar), aparecerá en el caso  favorable  el mensaje por ejemplo,</p>
<p style="text-align:center;"><strong><span style="color:#ff0000;">Eliminada la cookie JuanTagua </span></strong></p>
<p>y en el caso de que no exista la cookie que se desea eliminar, aparecerá</p>
<p style="text-align:center;"><span style="color:#ff0000;"><strong>No ha podido modificarse la cookie porque no existe.</strong></span></p>
<p style="text-align:left;">&nbsp;</p>
<p><strong> </strong></p>
<p>Finalmente, cualquiera que sea la opción elegida, tal como puede ver en la etiqueta &lt;form &#8230;, siempre se reenvía el formulario a la página GestionCookie.jsp que es la encargada de realizar las operaciones pertinentes.</p>
<p>El código de GestiónCookie.jsp, es el siguiente:</p>
<p><a rel="attachment wp-att-1799" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image20-4/"><img class="aligncenter size-full wp-image-1799" title="Image20" src="http://jtagua.files.wordpress.com/2010/10/image20.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1800" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image21-5/"></a><a rel="attachment wp-att-1801" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image21-6/"><img class="aligncenter size-full wp-image-1801" title="Image21" src="http://jtagua.files.wordpress.com/2010/10/image212.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1804" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image22-5/"><img class="aligncenter size-full wp-image-1804" title="Image22" src="http://jtagua.files.wordpress.com/2010/10/image221.jpg?w=530" alt=""   /></a><a rel="attachment wp-att-1805" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image23-5/"><img class="aligncenter size-full wp-image-1805" title="Image23" src="http://jtagua.files.wordpress.com/2010/10/image231.jpg?w=530" alt=""   /></a></p>
<p><span style="text-decoration:underline;"><strong>Consideraciones Finales:</strong></span></p>
<p>Se deja al lector, como ejercicio,</p>
<p>1.-Que controle la existencia o no de entrada tanto en la caja de texto Nombre como en Valor de la cookie según los casos.</p>
<h3><span style="color:#ff0000;">Buscar una cookie en el navegador Firefox:</span></h3>
<ul>
<li> Abra el navegador Firefox. Seleccione Herramientas y luego Opciones en el menú del programa. Elija la pestaña Privacidad. Localice la parte del panel titulado &#8220;eliminar cookies de forma individual&#8221;.</li>
</ul>
<p><a rel="attachment wp-att-1755" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image8-16/"><img class="aligncenter size-full wp-image-1755" title="Image8" src="http://jtagua.files.wordpress.com/2010/10/image82.jpg?w=530" alt=""   /></a></p>
<ul>
<li> Introduzca en la caja de texto &#8220;Buscar&#8221; el dominio que envió la cookie. Si está desarrollando un proyecto jsp o servlet escriba &#8220;localhost&#8221;.</li>
</ul>
<p><a rel="attachment wp-att-1766" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image10-15/"><img class="aligncenter size-full wp-image-1766" title="Image10" src="http://jtagua.files.wordpress.com/2010/10/image101.jpg?w=530" alt=""   /></a></p>
<ul>
<li>Ver las cookies individual obtenida por dominio pulsando el signo + junto al nombre del sitio web y su carpeta. Algunas cookies tienen nombres fácilmente identificables, mientras que  otras son una serie de letras al azar, números y símbolos.</li>
</ul>
<p><a rel="attachment wp-att-1767" href="http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/image11-17/"><img class="aligncenter size-full wp-image-1767" title="Image11" src="http://jtagua.files.wordpress.com/2010/10/image112.jpg?w=530" alt=""   /></a></p>
<ul>
<li>Compruebe el nombre, Valor/contenido, Servidor, Ruta/path y fecha de expiración de la cookie seleccionada.</li>
</ul>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/cookies/'>Cookies</a>, <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/cookies/'>Cookies</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1751/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1751&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/18/tutorial-de-jsp-15-gestion-de-cookies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image123.jpg" medium="image">
			<media:title type="html">Image12</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image171.jpg" medium="image">
			<media:title type="html">Image17</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image142.jpg" medium="image">
			<media:title type="html">Image14</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image191.jpg" medium="image">
			<media:title type="html">Image19</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image20.jpg" medium="image">
			<media:title type="html">Image20</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image212.jpg" medium="image">
			<media:title type="html">Image21</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image221.jpg" medium="image">
			<media:title type="html">Image22</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image231.jpg" medium="image">
			<media:title type="html">Image23</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image82.jpg" medium="image">
			<media:title type="html">Image8</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image101.jpg" medium="image">
			<media:title type="html">Image10</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image112.jpg" medium="image">
			<media:title type="html">Image11</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de JSP (13): Objeto implícito response.</title>
		<link>http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/</link>
		<comments>http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 12:10:36 +0000</pubDate>
		<dc:creator>JTagua</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Objetos implícitos]]></category>
		<category><![CDATA[response]]></category>
		<category><![CDATA[Tutorial JSP]]></category>

		<guid isPermaLink="false">http://jtagua.wordpress.com/?p=1714</guid>
		<description><![CDATA[Los objetos implícitos son una serie de objetos internos asociados a las APIs de los servlets y las páginas JSP suministrados por el contenedor de jsp, y que pueden ser usados en cualquier scriptlet o expresión, para aumentar así su funcionalidad. Entre estos objetos se encuentran: request, Tiene un ámbito relativo a la petición, y [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1714&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Los objetos implícitos  son una serie de objetos internos asociados a las APIs de los servlets y  las páginas JSP  suministrados por el contenedor de jsp, y que pueden  ser usados en cualquier  scriptlet o expresión, para aumentar así su  funcionalidad. Entre estos objetos se encuentran: <strong> </strong></p>
<p><strong>request, </strong>Tiene un ámbito relativo a la petición, y es una instancia de la clase javax.servlet.ServletRequest.  Representa la petición del cliente, proporciona entre otras  informaciones, los parámetros recibidos del cliente vía formulario o  url, el tipo de petición (GET/POST), etc.<br />
<strong> </strong></p>
<p><strong>response</strong>, Tiene un ámbito relativo a la pagina, y es una instancia de javax.servlet.ServletResponse. Encapsula la respuesta generada por la página JSP o servlet que será enviada al cliente en respuesta a su solicitud<br />
<strong> </strong></p>
<p><strong>session</strong>, Instancia de javax.servlet.http.HttpSession,  permite acceder a la sesión para leer/escribir datos en ella. En JSP se  crea siempre una sesión de trabajo por defecto, para que esto no sea  así tendrá que ser específicamente indicado con el atributo session de  la directiva page.<br />
<strong> </strong></p>
<p><strong>out</strong>, Instancia de javax.servlet.jsp.JspWriter, este objeto permite escribir la respuesta o parte de ella, en HTML, como resultado de la petición del cliente.</p>
<p><img title="Más..." src="../wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<h1><span style="color:#ff0000;"><strong>Objeto response</strong></span></h1>
<p><strong><span id="more-1714"></span><br />
</strong></p>
<p>Los métodos más utilizados son:</p>
<ul>
<li><span style="color:#333333;"><span style="font-size:x-small;"><strong>setContentType()</strong>: </span><span style="font-size:x-small;"> </span></span>se utiliza para establecer el tipo <span style="color:#800000;font-size:x-small;">MIME</span> y la codificación de caracteres de la página.<span style="color:#333333;"> </span></li>
<li><span style="color:#333333;"><span style="font-size:x-small;"> </span><span style="font-size:x-small;"><strong>addCookie (cookie Cookie)</strong>: </span></span>se utiliza para agregar una nueva cookie a la respuesta.</li>
<li><span style="color:#333333;"><span style="font-size:x-small;"><strong>setHeader (String nombre, String value)</strong>:</span> </span></li>
<li><span style="color:#333333;"> <span style="font-size:x-small;"> </span> <span style="font-size:x-small;"><strong>sendRedirect (String)</strong>: </span></span>Se utiliza para reenviar la petición a otra url o servlet.</li>
<li><span style="color:#333333;"><span style="font-size:x-small;"><strong>sendError (status_code int)</strong>: Se utiliza para </span></span>enviar como respuesta un error usando un estado específico.</li>
</ul>
<h3><span style="color:#ff0000;">public void <strong>setContentType</strong>(java.lang.String type)</span></h3>
<p><span style="text-decoration:underline;">Parámetros:</span></p>
<p><code>type</code> &#8211; Una cadena que especifica el tipo MIME del contenido.</p>
<p><a href="http://www.w3schools.com/media/media_mimeref.asp">MIME</a>, (<strong>M</strong>ultipurpose <strong>I</strong>nternet <strong>M</strong>ail <strong>E</strong>xtensions) es un standard en Internet que determina el tipo de mensaje o contenido como respuesta a una petición HTTP vía web. Estos contenidos pueden contener textos, imágenes, audio, video y otros datos específicos de aplicaciones.</p>
<p>La directiva page de una página JSP especifica este valor sin embargo pudiera cambiarse dentro de un scriptlet o en un servlet, sin mas que</p>
<p style="text-align:center;" dir="ltr"><strong>response.setContentType(&#8220;text/plain&#8221;); </strong></p>
<h3><span style="color:#ff0000;">public void <strong>addCookie</strong>( Cookie cookie)</span></h3>
<p><span style="text-decoration:underline;"> Parámetros:</span></p>
<p style="padding-left:30px;"><code>cookie</code> &#8211; Nombre de la Cookie que se enviará al cliente.</p>
<p>Este método añade una cookie específica a la respuesta. Puede ser llamado en repetidas ocasiones para añadir varias cookies.</p>
<p>(Este método será analizado mas adelante, cuando tratemos específica las cookies y las sesiones). <strong>Es importante señalar que para enviar una cookie al cliente desde una página Jsp o un servlet, esta tarea se recomienda que ser anterior al envío de ninguna otra información html.</strong></p>
<dl>
<dd>
<dl>
<dd><code><br />
</code></dd>
</dl>
</dd>
</dl>
<h3><span style="color:#ff0000;">void setHeader <code><strong> </strong>(java.lang.String name,           java.lang.String value)</code></span></h3>
<p><span style="text-decoration:underline;">Parametros:</span></p>
<dl>
<dd><code>name</code> &#8211; Nombre del parámetro de cabecera.</dd>
<dd><code>value</code> &#8211; Valor asignado al parámetro de cabecera.</dd>
</dl>
<p>Este método permite escribir una parte de la cabecera de la página a devolver indicando el parámetro y el valor</p>
<p><span style="text-decoration:underline;">Ejemplo 1:</span></p>
<p>Por ejemplo, existe la posibilidad de refrescar una página de forma periódica cada cierto tiempo, esto puede hacerse con</p>
<p style="text-align:center;"><strong>response.setHeader(&#8220;Refresh&#8221;, &#8220;5&#8243;);</strong></p>
<p>con este método podemos refrescar una página cada 5 segundos aproximadamente.</p>
<p>Inicie una sesión del IDE de NetBeans y haga proyecto nuevo, llame a este proyecto por ejemplo, setHarder_refresh y sustituya la plantilla del index.jsp por el siguiente código,</p>
<p style="text-align:center;"><a rel="attachment wp-att-1744" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image7-16/"><img class="aligncenter size-full wp-image-1744" title="Image7" src="http://jtagua.files.wordpress.com/2010/10/image73.jpg?w=530" alt=""   /></a></p>
<p>La ejecución del la página producirá la siguiente salida,</p>
<p><a rel="attachment wp-att-1743" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image6-20/"><img class="aligncenter size-full wp-image-1743" title="Image6" src="http://jtagua.files.wordpress.com/2010/10/image62.jpg?w=530" alt=""   /></a></p>
<h3><span style="color:#ff0000;">void sendRedirect<code><strong> </strong>(java.lang.String location)</code></span></h3>
<p><span style="text-decoration:underline;">Parámetros:</span></p>
<dl>
<dd><code>location</code> &#8211; URL de la redirección.</dd>
</dl>
<p>Este método se utiliza para reenviar la petición a otra url o servlet. La sintaxis es,</p>
<p><a rel="attachment wp-att-1731" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image2-37/"><img class="aligncenter size-full wp-image-1731" title="Image2" src="http://jtagua.files.wordpress.com/2010/10/image23.jpg?w=530" alt=""   /></a></p>
<p>la sintaxis anterior, en determinados casos, aquellos en los que tuviéramos que trasladar el identificador de sesión a la nueva página de destino habría que utilizarla con otro formato. Tendríamos que utilizar,</p>
<p><a rel="attachment wp-att-1736" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image3-30/"><img class="aligncenter size-full wp-image-1736" title="Image3" src="http://jtagua.files.wordpress.com/2010/10/image31.jpg?w=530" alt=""   /></a></p>
<p>De esta manera garantizamos que se transmita al nuevo destino el identificador de sesión.</p>
<h3><span style="color:#ff0000;"><code>void</code> sendError<code><strong></strong>(int sc,           java.lang.String msg)</code></span></h3>
<dl>
<dt><span style="text-decoration:underline;">Parametros:</span></dt>
<dd><code>sc</code> &#8211; Código de estado del error.</dd>
<dd><code>msg</code> &#8211; Mensaje</dd>
</dl>
<p>Este método envía como respuesta un error usando un estado específico.</p>
<p>Por ejemplo, si cierta página jsp debe recibir un parámetro necesariamente el siguiente scriplet enviaría al cliente un error</p>
<p><a rel="attachment wp-att-1739" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image4-23/"></a><a rel="attachment wp-att-1740" href="http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/image5-29/"><br />
</a><img class="aligncenter size-full wp-image-1739" title="Image4" src="http://jtagua.files.wordpress.com/2010/10/image43.jpg?w=530" alt=""   /></p>
<p><span style="text-decoration:underline;"><strong>Consideraciones a recordar:</strong></span></p>
<p>Concepto, sintaxis y uso del objeto response.</p>
<p>Uso de los métodos del objeto response: setContentType(),  addCookie, setHeader, sendRedirect, sendError.</p>
<br />Filed under: <a href='http://jtagua.wordpress.com/category/java/'>Java</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/objetos-implicitos/'>Objetos implícitos</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/objetos-implicitos/response/'>response</a>, <a href='http://jtagua.wordpress.com/category/java/tutorial-jsp/'>Tutorial JSP</a> Tagged: <a href='http://jtagua.wordpress.com/tag/response/'>response</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jtagua.wordpress.com/1714/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jtagua.wordpress.com/1714/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jtagua.wordpress.com/1714/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jtagua.wordpress.com&amp;blog=3105534&amp;post=1714&amp;subd=jtagua&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jtagua.wordpress.com/2010/10/17/tutorial-de-jsp-13-objeto-implicito-response/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6dc230a6411324ae02e6930144b06fe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jtagua</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image73.jpg" medium="image">
			<media:title type="html">Image7</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image62.jpg" medium="image">
			<media:title type="html">Image6</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image23.jpg" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image31.jpg" medium="image">
			<media:title type="html">Image3</media:title>
		</media:content>

		<media:content url="http://jtagua.files.wordpress.com/2010/10/image43.jpg" medium="image">
			<media:title type="html">Image4</media:title>
		</media:content>
	</item>
	</channel>
</rss>
