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

<channel>
	<title>Manual Web &#187; init</title>
	<atom:link href="http://www.manualweb.net/tag/init/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.manualweb.net</link>
	<description>www.manualweb.net</description>
	<lastBuildDate>Tue, 24 Aug 2010 00:26:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Applets en Java</title>
		<link>http://www.manualweb.net/java/applets-en-java/</link>
		<comments>http://www.manualweb.net/java/applets-en-java/#comments</comments>
		<pubDate>Sun, 23 May 2010 22:27:19 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[appletviewer]]></category>
		<category><![CDATA[awt]]></category>
		<category><![CDATA[garbage collector]]></category>
		<category><![CDATA[gc]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[java virtual machine]]></category>
		<category><![CDATA[java.applet]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[paint]]></category>
		<category><![CDATA[repaint]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=236</guid>
		<description><![CDATA[¿Qué es un applet? Creando un applet Ciclo de vida del applet Mi primer applet Código HTML de un applet Utilizar el visor de applets (Appletviewer) ¿Qué es un applet? Un applet es una pequeña aplicación java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-que-es-un-applet">¿Qué es un applet?</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-creando-un-applet">Creando un applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-ciclo-de-vida-del-applet">Ciclo de vida del applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-mi-primer-applet">Mi primer applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-codigo-html-de-un-applet">Código HTML de un applet</a></li>
<li><a href="http://www.manualweb.net/java/applets-en-java/#toc-utilizar-el-visor-de-applets-appletviewer">Utilizar el visor de applets (Appletviewer)</a></li>
</ol>
</div>
<h3 id="toc-que-es-un-applet">¿Qué es un applet?</h3>
<p>Un applet es una pequeña aplicación java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una página web.</p>
<p>Algunas de sus características son:</p>
<ul>
<li><strong>Tamaño pequeño</strong>, esto es debido a que se requiere su descarga a través de la red. Aunque existen applets de gran tamaño.</li>
<li><strong>Uso de interfaces gráficos</strong>, utiliza las clases AWT y Swing, las cuales dotan al interface del applet de una gran versatilidad y operabilidad para el usuario.</li>
<li>...</li>
</ul>
<p>Podríamos decir que es un componente, ya que va a ir incluido dentro de otras aplicaciones.</p>
<h3 id="toc-creando-un-applet">Creando un applet</h3>
<p>Lo primer que hay que tener en cuenta es que la definición de los applet se encuentra dentro de la librería <a title="java.applet" href="http://w3api.com/wiki/Categor%C3%ADa:Java_Applet">java.applet</a>, la cual deberemos de importar para poder utilizarla. Además necesitaremos de la librería <a title="java.awt" href="http://w3api.com/wiki/Categor%C3%ADa:Java_AWT">java.awt</a> que es la que gestionará los recursos gráficos que se incluyan dentro del applet.</p>
<p>La librería <a title="java.applet" href="http://w3api.com/wiki/Categor%C3%ADa:Java_Applet">java.applet</a> cuenta con una clase abstracta Applet, de la que deberemos de heredar en la clase principal de nuestra aplicación.</p>
<pre class="java"><span style="color: #a1a100;">import java.applet.*;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> miApplet <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AApplet+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Applet</span></a> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #808080; font-style: italic;">//variables y métodos</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3 id="toc-ciclo-de-vida-del-applet">Ciclo de vida del applet</h3>
<p>Un applet de java pasa por diversos estados:</p>
<ol>
<li>El applet se carga por primera vez, es decir, se inicializa. Esto sucede cuando el usuario entra en la página por primera vez.</li>
<li>Seguidamente el applet empieza a funcionar.</li>
<li>En el caso de que el usuario abandone la página, para desaplazarse a otra, lo que se hace es detener al applet, pero no descargarlo de memoria.</li>
<li>Si el usuario recarga la página donde se encuentra el applet, este se descarga de memoria el applet actual y sus recursos asociados. Posteriormente se carga una nueva instancia del applet.</li>
<li>Cuando se cierra el navegador o la aplicación que visualiza el applet, se detiene la ejecución y se libera el applet de memoria.</li>
</ol>
<p>Cada uno de los estados lleva asociado un método:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> init <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Este método se llama cuando se inicializa el applet por primera vez. En este método es aconsejable fijar el tamaño (ancho y alto) del applet. Además se suelen instanciar los elementos que utilice el applet, ya sean botones, cajas de texto, imágenes,...</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> start <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Es el método que arranca la ejecución del applet cada vez que se visita, siempre y cuando el applet esté expuesto a la visión del usuario.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> stop <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Para la ejecución del applet. Se ejecuta cuando el applet desaparece de la pantalla.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> destroy <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Destruye el applet cuando este ya no se vaya a utilizar. En este método deberemos de poner a null todas las variables que maneje el applet para que puedan ser descargadas de memoria por el Garbage Collector (GC), que es el encargado de liberar memoria dentro de la JVM (Java Virtual Machine).</p>
<blockquote><p>Estos métodos al heredarlos no hacen nada, es por ello que deben de ser sobrecargados para dotarles de funcionalidad.</p></blockquote>
<p>Otros métodos que utiliza el applet son:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> paint <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Este método se ejecuta cada vez que el área de dibujo del applet es refrescada, ya sea porque es la primera vez que se visualiza el applet, porque el usuario ha movido el applet por la pantalla, porque se ha redimensionado el navegador,.... Inicialmente, el área de dibujo es un rectángulo gris.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> update <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Esta función es la que realmente se llama cuando se refresca el área de dibujo del applet. Lo que hace es limpiar el área de dibujo y llamar a paint. Si estamos realizando aplicaciones que trabajen con gráficos, veremos que esta función habrá que sobrecargarla para que la pantalla no parpadee.</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> repaint <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> … <span style="color: #66cc66;">&#125;</span></pre>
<p>Una llamada a este método fuerza a la actualización del applet, es decir, se llama a su método update.</p>
<h3 id="toc-mi-primer-applet">Mi primer applet</h3>
<p>En nuestro primer applet, lógicamente, deberemos de codificar la aplicación que nos muestre la cadena de texto "Hola Mundo". Veamos el código:</p>
<pre class="java"><span style="color: #a1a100;">import java.awt.*;</span>
<span style="color: #a1a100;">import java.applet.*;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> miApplet <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AApplet+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Applet</span></a> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> paint <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">Graphics</span></a> g<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    g.<span style="color: #006600;">drawString</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hola Mundo&quot;</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3 id="toc-codigo-html-de-un-applet">Código HTML de un applet</h3>
<p>Para poder visualizar un applet dentro de una página web deberemos de introducir su código <a title="HTML" href="http://www.manualweb.net/tutorial-html/">HTML</a> correspondiente, este se referencia mediante la etiqueta .</p>
<p>Esta etiqueta cuenta con una serie de atributos:</p>
<ul>
<li><strong>code</strong>, indica el fichero .class que representa el applet.</li>
<li><strong>height</strong>, indica el alto del área donde se representará el applet.</li>
<li><strong>width</strong>, representa el ancho del área donde se representa el applet.</li>
</ul>
<p>Veamos el código que cargaría el applet codificado anteriormente:</p>
<p>miApplet.html</p>
<pre class="html4strict"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/applet.html"><span style="color: #000000; font-weight: bold;">&lt;applet</span></a> <span style="color: #000066;">code</span>=<span style="color: #ff0000;">&quot;miapplet.class&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #cc66cc;">100</span> <span style="color: #000066;">width</span>=<span style="color: #cc66cc;">300</span>&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/applet&gt;</span></span></div></li></ol></pre>
<h3 id="toc-utilizar-el-visor-de-applets-appletviewer">Utilizar el visor de applets (Appletviewer)</h3>
<p>En vez de utilizar un navegador web, podemos visualizar el applet mediante una de las herramientas que se incorpora en el kit de desarrollo de Java SUN. Esta herramienta es el appletviewer. Esta herramienta se ejecutará en línea de comandos. Para poder ver nuestra aplicación deberemos de poner en línea de comandos:</p>
<pre>C:\jdk1.4\bin\appletviewer miApplet.html</pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;bodytext=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;notes=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;t=Applets%20en%20Java" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java&amp;annotation=%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0ACreando%20un%20applet%0ACiclo%20de%20vida%20del%20applet%0AMi%20primer%20applet%0AC%C3%B3digo%20HTML%20de%20un%20applet%0AUtilizar%20el%20visor%20de%20applets%20%28Appletviewer%29%0D%0A%C2%BFQu%C3%A9%20es%20un%20applet%3F%0D%0AUn%20applet%20es%20una%20peque%C3%B1a%20aplicaci%C3%B3n%20java%2C%20la%20cual%20esta%20disponible%20en%20un%20s" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F&amp;title=Applets%20en%20Java" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fapplets-en-java%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/applets-en-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducción a los Servlets</title>
		<link>http://www.manualweb.net/java-ee/introduccion-a-los-servlets/</link>
		<comments>http://www.manualweb.net/java-ee/introduccion-a-los-servlets/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 23:18:48 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java EE]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[cgi]]></category>
		<category><![CDATA[ciclo de vida]]></category>
		<category><![CDATA[destroy]]></category>
		<category><![CDATA[doGet]]></category>
		<category><![CDATA[doPost]]></category>
		<category><![CDATA[get]]></category>
		<category><![CDATA[HttpServlet]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[javax.servlet]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[servlet]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=143</guid>
		<description><![CDATA[¿Qué son los servlets? Para qué podemos utilizar los servlets Ciclo de vida del servlet Escribiendo un primer servlet ¿Qué son los servlets? Los servlets son modulos java que nos sirven para extender las capacidades de los servidores web. Aunque es una definición un poco ambigua los servlets son programas para los servidores, mientras que los applets [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java-ee/introduccion-a-los-servlets/#toc-que-son-los-servlets">¿Qué son los servlets?</a></li>
<li><a href="http://www.manualweb.net/java-ee/introduccion-a-los-servlets/#toc-para-que-podemos-utilizar-los-servlets">Para qué podemos utilizar los servlets</a></li>
<li><a href="http://www.manualweb.net/java-ee/introduccion-a-los-servlets/#toc-ciclo-de-vida-del-servlet">Ciclo de vida del servlet</a></li>
<li><a href="http://www.manualweb.net/java-ee/introduccion-a-los-servlets/#toc-escribiendo-un-primer-servlet">Escribiendo un primer servlet</a></li>
</ol>
</div>
<h3 id="toc-que-son-los-servlets">¿Qué son los servlets?</h3>
<p>Los servlets son modulos java que nos sirven para extender las capacidades de los servidores web. Aunque es una definición un poco ambigua los servlets son programas para los servidores, mientras que los applets son programas para los clientes y los middlets los programas para microdispositivos.</p>
<p>Dentro de una evolución cronologica los servlets son la siguiente etapa de los CGI. En algunas bibliografias son referenciados como CGI de 2ª generación, la cual comparten con lenguajes como <a title="ASP" href="http://www.manualweb.net/tutorial-asp/">ASP</a>, <a title="PHP" href="http://www.manualweb.net/tutorial-php/">PHP</a> y <a title="JSP" href="http://www.manualweb.net/tutorial-jsp/">JSP</a> (que al fin y al cabo son servlets).</p>
<p>El uso de los servlets viene a ser en un tanto por ciento elevando el del desarrollo de páginas web dinámicas (en contenido y diseño) apoyandose además en la potencia que nos proporciona el lenguaje Java.</p>
<h3 id="toc-para-que-podemos-utilizar-los-servlets">Para qué podemos utilizar los servlets</h3>
<p>Podremos desarrollar desde un simple servlet que nos muestre una página web simple saludandonos hasta uno que se conecte a una base de datos utilizando un pool de conexiones, encriptando la información en su envio, accediendo a bases de datos distribuidas y manteniendo su información de forma persistente en un EJB. Todo ello para conseguir una información dinámica. A partir de aqui las posibilidades son "infinitas".</p>
<h3 id="toc-ciclo-de-vida-del-servlet">Ciclo de vida del servlet</h3>
<p>Describir un servlet es como describir una maquina de estados. Desde el momento que inicializamos el servlet hasta que el servlet es destruido, este, pasará por una serie de estados dependiendo de cada una de las situaciones ante las que se encuentre.</p>
<p>Muy por encima podríamos decir que la secuencia de acciones que se producen en un servlet son las siguientes. La primera vez que realicemos una petición sobre el servlet se ejecutará un método de inicio, denominado <a title="init()" href="http://www.w3api.com/wiki/Java:Servlet.init()">init</a>, en el cual inicializaremos las variables generales. Una vez que nos hemos inicializado nos pondremos a la escucha en espera de peticiones. Cada una de las peticiones que recibamos serán atendidas en hilos de ejecución diferentes, a no ser que indiquemos lo contrario. Dependiendo de como llegen los datos (mediante post o get) al servlet se ejecutará un método u otro <a title="doPost()" href="http://w3api.com/wiki/Java:HttpServlet.doPost()">doPost</a> o <a title="doGet()" href="http://www.w3api.com/wiki/Java:HttpServlet.doGet()">doGet</a>. Por último el servlet tendrá un estado de finalización en el cual eliminará las variables creadas en su inicialización, conexiones a bases de datos,... este el el método destroy.</p>
<h3 id="toc-escribiendo-un-primer-servlet">Escribiendo un primer servlet</h3>
<p>A la hora de codificar lo primero que debemos de saber es que nuestro servlet deberá de heredar de la clase <a title="HttpServlet" href="http://www.w3api.com/wiki/Java:HttpServlet">HttpServlet</a> la cual contendrá todos los métodos necesarios para generar un servlet. Dicha clase la podemos encontrar en el <a title="javax.servlet" href="http://w3api.com/wiki/Categor%C3%ADa:Java_Servlet">paquete javax.servlet</a>.</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #a1a100;">import javax.servlet.*;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MiServlet <span style="color: #000000; font-weight: bold;">extends</span> HttpServlet <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span></div></li></ol></pre>
<p>Solamente deberemos de sobrescribir aquellos métodos que consideremos oportunos a implementar en el servlet. Si por ejemplo no necesitasemos realizar ninguna inicialización, no haría falta el reescribir el método <a title="init()" href="http://www.w3api.com/wiki/Java:Servlet.init()">init</a>.</p>
<p>Así un primer servlet que mostrase la frase, como no, de "Hola Mundo" quedaría de la siguiente forma:</p>
<pre class="java"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #a1a100;">import javax.servlet.*;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #a1a100;">import javax.servlet.http.*;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MiPrimerServlet <span style="color: #000000; font-weight: bold;">extends</span> HttpServlet <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> doGet <span style="color: #66cc66;">&#40;</span>HttpServletRequest req, HttpServletResponse res<span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> ServletException, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AIOException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> <span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3APrintWriter+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">PrintWriter</span></a> out; out = res.<span style="color: #006600;">getWriter</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    res.<span style="color: #006600;">setContentType</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;text/html&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&lt;html&gt;&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&lt;head&gt;&lt;title&gt;Mi Primer Servlet&lt;/title&gt;&lt;/head&gt;&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    out.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&lt;body&gt;);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">    out.println(&quot;</span>Este es mi Primer Servlet<span style="color: #ff0000;">&quot;);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">    out.println(&quot;</span>&lt;/body&gt;&lt;/html&gt;<span style="color: #ff0000;">&quot;);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">  }</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">}</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;"</span></div></li></ol></pre>
<p>Como se puede apreciar, la salida que se está generando es una página web (sus etiquetas). Es decir, recalcamos la idea de que generamos el contenido de una página web dinamicamente.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;title=Introducci%C3%B3n%20a%20los%20Servlets&amp;bodytext=%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0APara%20qu%C3%A9%20podemos%20utilizar%20los%20servlets%0ACiclo%20de%20vida%20del%20servlet%0AEscribiendo%20un%20primer%20servlet%0D%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0D%0ALos%20servlets%20son%20modulos%20java%20que%20nos%20sirven%20para%20extender%20las%20capacidades%20de%20los%20servidores%20web.%20Aun" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;title=Introducci%C3%B3n%20a%20los%20Servlets&amp;notes=%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0APara%20qu%C3%A9%20podemos%20utilizar%20los%20servlets%0ACiclo%20de%20vida%20del%20servlet%0AEscribiendo%20un%20primer%20servlet%0D%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0D%0ALos%20servlets%20son%20modulos%20java%20que%20nos%20sirven%20para%20extender%20las%20capacidades%20de%20los%20servidores%20web.%20Aun" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;t=Introducci%C3%B3n%20a%20los%20Servlets" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;title=Introducci%C3%B3n%20a%20los%20Servlets" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;title=Introducci%C3%B3n%20a%20los%20Servlets&amp;annotation=%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0APara%20qu%C3%A9%20podemos%20utilizar%20los%20servlets%0ACiclo%20de%20vida%20del%20servlet%0AEscribiendo%20un%20primer%20servlet%0D%0A%C2%BFQu%C3%A9%20son%20los%20servlets%3F%0D%0ALos%20servlets%20son%20modulos%20java%20que%20nos%20sirven%20para%20extender%20las%20capacidades%20de%20los%20servidores%20web.%20Aun" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F&amp;title=Introducci%C3%B3n%20a%20los%20Servlets" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava-ee%2Fintroduccion-a-los-servlets%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java-ee/introduccion-a-los-servlets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
