<?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>josemgarciatejero</title>
	<atom:link href="https://josemgarciatejero.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://josemgarciatejero.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Fri, 13 Jan 2012 19:10:35 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">28628078</site><cloud domain='josemgarciatejero.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<source:cloud xmlns:source='https://source.scripting.com/'>https://josemgarciatejero.wordpress.com/?rsscloud=notify</source:cloud>
<image>
		<url>https://s2.wp.com/i/webclip.png</url>
		<title>josemgarciatejero</title>
		<link>https://josemgarciatejero.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://josemgarciatejero.wordpress.com/osd.xml" title="josemgarciatejero" />
	<atom:link rel='hub' href='https://josemgarciatejero.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Primera semana del nuevo año!</title>
		<link>https://josemgarciatejero.wordpress.com/2012/01/13/primera-semana-del-nuevo-ano/</link>
					<comments>https://josemgarciatejero.wordpress.com/2012/01/13/primera-semana-del-nuevo-ano/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 13 Jan 2012 19:05:30 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=52</guid>

					<description><![CDATA[La verdad es que en esta primera semana de curso de este nuevo año ha costado coger el ritmo de trabajo que teniamos en las semanas anteriores. Respecto a las clases de Java  se han hecho cortas, ya que hemos tenido dos días en la semana en los que hemos tenido clases de Inglés y otra de [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>La verdad es que en esta primera semana de curso de este nuevo año ha costado coger el ritmo de trabajo que teniamos en las semanas anteriores.</p>
<p>Respecto a las clases de Java  se han hecho cortas, ya que hemos tenido dos días en la semana en los que hemos tenido clases de Inglés y otra de Orientación Laboral.</p>
<p>El primer día de esta semana lo dedicamos a crear los dos grupos de trabajo que vamos a a trabajar en el proyecto final, con el objetivo de tener una primera aproximación al proyecto y decidir los roles que cada uno va a desempeñar.</p>
<p>El segundo día lo dedicamos a escuchar los podcast y videotutoriales que los distintos compañeros creamos vacaciones. La mayoría de podcast trataron sobre el examen de certificación de Oracle, de esta manera tendremos resumidos los distintos temas que tendremos que estudiar para el examen. En cuanto a los temas de los videos tutoriales eran muy variados y hablaban desde realizar un CRUD hasta tratar la clase MySQL. Para finalizar este segundo día, entregamos la tienda virtual que ya ha sido comentada con anterioridad en este blog, pero añadiendolo un control de stock en la parte del administrador y el generar una factura utilizando el iReport, una herramienta que conecta directamente con la base de datos que deseemos y que tiene una gran utilidad para realizar todo tipo de reportes.</p>
<p>Para finalizar la semana, hoy hemos estudiado los Enterprise JavaBeans (EJB), que es una herramienta para tratar la capa de negocio.</p>
<p>Enterprise JavaBeans (EJB) es una especificación completa de arquitectura para componentes de servicio y entre sus funcionalidades están:</p>
<p>– Ejecutan lógica de negocio<br />
– Acceden a bases de datos<br />
– Se integran con otros sistemas</p>
<p>Las  Ventajas de EJB son:</p>
<ul>
<li>El desarrollador se concentra en la lógica de negocio y</li>
<li>utiliza los servicios proporcionados por el contenedor:transacciones, seguridad, gestión del ciclo de concurrencia, “pooling” de instancias, despliegue, etc.</li>
<li>Componentes: reusabilidad y abstracción</li>
<li>Es compatible con otras APIs de Java</li>
</ul>
<p>Las aplicaciones empresariales se organizan mediante componentes que representan</p>
<ul>
<li>Entidades de negocio = información de la empresa</li>
<li> Procesos de negocio = cómo se manipula la información</li>
</ul>
<p>La tecnología Java EE ofrece soporte para entidades de negocio y procesos de negocio mediante EJBs</p>
<ul>
<li>Session Beans representan procesos de negocio</li>
<li>Entity Beans representan datos de negocio</li>
</ul>
<p>Explicado un poco más en profundidad:</p>
<p>– procesos ejecutados en respuesta a una solicitud del cliente (ej.<br />
transacciones bancarias, cálculos, realización de pedidos, …)<br />
– Típicamente usan entity beans para el procesado de datos<br />
– recibe llamadas síncronas a los métodos definidos en la interfaz<br />
del componente</p>
<p>• Entity Beans:</p>
<p>– objetos persistentes asociados a datos (ej. cuenta bancaria,<br />
producto, pedido, …)<br />
– ofrece métodos para las operaciones sobre los datos (soporte de<br />
información pasiva)<br />
– recibe llamadas síncronas a los métodos definidos en la interfaz<br />
del componente</p>
<p>• Message-Driven Beans:</p>
<p>– procesos ejecutados como respuesta a la recepción de un<br />
mensaje<br />
– recibe llamadas asíncronas enviadas sobre un canal</p>
<p>Esto es todo por esta semana seguiremos informando&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2012/01/13/primera-semana-del-nuevo-ano/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">52</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Podcast</title>
		<link>https://josemgarciatejero.wordpress.com/2012/01/08/podcast/</link>
					<comments>https://josemgarciatejero.wordpress.com/2012/01/08/podcast/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Sun, 08 Jan 2012 21:34:43 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=49</guid>

					<description><![CDATA[Podcast]]></description>
										<content:encoded><![CDATA[<p><a href="http://dl.dropbox.com/u/990719/podcast.mp3">Podcast</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2012/01/08/podcast/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="http://dl.dropbox.com/u/990719/podcast.mp3" length="6258712" type="audio/mpeg" />

		<post-id xmlns="com-wordpress:feed-additions:1">49</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Video tutorial</title>
		<link>https://josemgarciatejero.wordpress.com/2012/01/08/video-tutorial/</link>
					<comments>https://josemgarciatejero.wordpress.com/2012/01/08/video-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Sun, 08 Jan 2012 13:20:40 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=46</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<iframe class="youtube-player" width="510" height="287" src="https://www.youtube.com/embed/3FAnnUV8NhY?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=es&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2012/01/08/video-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">46</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Décima Semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/12/16/decima-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/12/16/decima-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 16 Dec 2011 19:09:25 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=38</guid>

					<description><![CDATA[Esta semana ha resultado algo rara ya que hemos dispuesto de solo tres días para aplicar los conocimientos que adquirimos  la semana pasada. Al final de la comentada semana aprendimos lo que es un web services. Concretamente la arquitectura  llamada SOA na definición forma de este servicio sería la siguiente: Permite la creación de sistemas [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Esta semana ha resultado algo rara ya que hemos dispuesto de solo tres días para aplicar los conocimientos que adquirimos  la semana pasada.</p>
<p>Al final de la comentada semana aprendimos lo que es un web services. Concretamente la arquitectura  llamada SOA na definición forma de este servicio sería la siguiente:</p>
<p><em>Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicio webs), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.</em></p>
<p>Por otro lado estaría el SOAP o Simple Object Access Protocol que es un <a title="Protocolo (informática)" href="http://es.wikipedia.org/wiki/Protocolo_(inform%C3%A1tica)" rel="nofollow">protocolo</a> <a title="Estándar" href="http://es.wikipedia.org/wiki/Est%C3%A1ndar" rel="nofollow">estándar</a> que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos <a title="XML" href="http://es.wikipedia.org/wiki/XML" rel="nofollow">XML</a>. Este protocolo deriva de un protocolo creado por <a title="David Winer (aún no redactado)" href="http://es.wikipedia.org/w/index.php?title=David_Winer&amp;action=edit&amp;redlink=1" rel="nofollow">David Winer</a> en 1998, llamado <a title="XML-RPC" href="http://es.wikipedia.org/wiki/XML-RPC" rel="nofollow">XML-RPC</a>. SOAP fue creado por <a title="Microsoft" href="http://es.wikipedia.org/wiki/Microsoft" rel="nofollow">Microsoft</a>, <a title="IBM" href="http://es.wikipedia.org/wiki/IBM" rel="nofollow">IBM</a> y otros y está actualmente bajo el auspicio de la <a title="World Wide Web Consortium" href="http://es.wikipedia.org/wiki/World_Wide_Web_Consortium" rel="nofollow">W3C</a>. Es uno de los protocolos utilizados en los <a title="Servicios Web" href="http://es.wikipedia.org/wiki/Servicios_Web" rel="nofollow">servicios Web</a>.</p>
<p>Es muy útil este sistema porque permite comunicar máquinas o servidores que traten con distintos lenguajes utilizar los llamados web services entre ellas&#8230;.</p>
<p>A lo largo de esta semana en la que solo tuvimos tres días de java lo dedicamos a la realización de un nuevo proyecto en el que implementamos una tienda utilizando los llamados web services. Utilizamos estas herramientas para la parte de logeo de usuario y para entre otras cosas insertar pedidos y productos.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/12/16/decima-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">38</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Quinta semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/11/18/quinta-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/11/18/quinta-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 18 Nov 2011 18:54:59 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=33</guid>

					<description><![CDATA[La quinta semana ha venido marcada por la aparición un nuevo lenguaje llamado XML. XML es un lenguaje de los llamados, lenguajes de marcado, y es utilizado para definir documentos que contienen datos estructurados, proporcionándonos extensibilidad y una estructura más precisa, ya que cada documento tiene su nodo padre, entre otros muchos beneficios que aporta este lenguaje. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>La quinta semana ha venido marcada por la aparición un nuevo lenguaje llamado XML. XML es un lenguaje de los llamados, lenguajes de marcado, y es utilizado para definir documentos que contienen datos estructurados, proporcionándonos extensibilidad y una estructura más precisa, ya que cada documento tiene su nodo padre, entre otros muchos beneficios que aporta este lenguaje. Un ejemplo de fichero xml sería el que se muestra a continuación:</p>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;?xml version=»1.0&#8243; encoding=»UTF-8&#8243;?&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;portfolio&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;symbol&gt;SUNW&lt;/symbol&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;name&gt;Sun Microsystems&lt;/name&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;price&gt;17.1&lt;/price&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;/stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;symbol&gt;AOL&lt;/symbol&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;name&gt;America Online&lt;/name&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;price&gt;51.05&lt;/price&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;/stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;symbol&gt;IBM&lt;/symbol&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;name&gt;International Business Machines&lt;/name&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;price&gt;116.10&lt;/price&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;/stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;symbol&gt;MOT&lt;/symbol&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;name&gt;MOTOROLA&lt;/name&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">    &lt;price&gt;15.20&lt;/price&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;/stock&gt;</span></div>
<div><span style="font-family:verdana, sans-serif;font-size:x-small;">&lt;/portfolio&gt;</span></div>
<div></div>
<div></div>
<div>También aprendimos a generar fichero xml utilizando un jsp y una clase javaBean. Para ello metimos en un vector una serie de objetos, que tenian los atributos necesarios para posteriormente en el jsp y recorriendo el comentado vector, poder generar las distintas etiquetas del fichero que queremos crear.</div>
<div></div>
<div>A lo largo de la semana también aprendimos a serializar, que un procedimientos en el que creamos un fichero fisico a través de los datos que tenemos en memoria</div>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/11/18/quinta-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">33</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Cuarta semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/11/11/cuarta-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/11/11/cuarta-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 11 Nov 2011 19:07:46 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=30</guid>

					<description><![CDATA[La cuarta semana del curso de Experto en desarrollo Java comenzó añadiendo una nueva funcionalidad al ya comentado, en entradas anterior, método de inicio de sesión. La novedad que insertamos es nada más y nada menos que una confirmación de registro a través del envio de un e-mail, con ello pretendíamos proporcionar al usuario algo más [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>La cuarta semana del curso de Experto en desarrollo Java comenzó añadiendo una nueva funcionalidad al ya comentado, en entradas anterior, método de inicio de sesión. La novedad que insertamos es nada más y nada menos que una confirmación de registro a través del envio de un e-mail, con ello pretendíamos proporcionar al usuario algo más de seguridad en el proceso de registro.</p>
<p>Para ello, utilizamos la clase de java llamada JavaMail, que nos permite enviar un e-mail con el contenido que deseemos al usuario que quiera registrase en nuestra aplicación. De esta manera el administrador puede mediante el comentado enlace mandar información o bien a un servlet o a un jsp para actualizar su tabla de contactos y dar de alta al usuario cuando lea el e-mail y pulse sobre el enlace.</p>
<p>A lo largo de la semana aprendimos la manera que tiene java de tratar los errores, para ello utiliza las llamadas Excepciones. Una excepcion nos sirve para controlar el flujo de un programa en java y controlar de esta manera los posibles fallos que cometamos.</p>
<p align="justify">Mediante la gestión de excepciones se prescindirá de sentencias de control de errores del tipo:</p>
<p>if ( error == true )</p>
<p>return ERROR;</p>
<p>Existen tres tipo de excepciones:</p>
<ul>
<li>Error</li>
</ul>
<ul>
<ul>:Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas.</ul>
</ul>
<ul>
<li>Exception</li>
</ul>
<ul>
<ul>:Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecución.</ul>
</ul>
<ul>
<li>RuntimeException</li>
</ul>
<ul>
<ul>:Excepciones que se dan durante la ejecución del programa.</ul>
</ul>
<p align="justify">Para que el sistema de gestión de excepciones funcione, se ha de trabajar en dos partes de los programas:</p>
<ul>
<ul>
<ul>
<li>Definir qué partes de los programas crean una excepción y bajo qué condiciones. Para ello se utilizan las palabras reservadas <em>throw</em> y <em>throws</em>.</li>
<li>Comprobar en ciertas partes de los programas si una excepción se ha producido, y actuar en consecuencia. Para ello se utilizan las palabras reservadas <em>try, catch</em> y<em> finally</em>.</li>
</ul>
</ul>
</ul>
<div>Entre las ventajas que nos da esta el que podemos crear nuestras propias excepciones y lanzarlas cuando encontremos los errores que creamos conveniente tratar.Un ejemplo de creación de excepción:</div>
<div>
<p>class MiExcepcion extends Exception {</p>
<p>&nbsp;</p>
<p>MiExcepcion(){</p>
<p>super(); // constructor por defecto de Exception</p>
<p>}</p>
<p>MiExcepcion( String cadena ){</p>
<p>super( cadena ); // constructor param. de Exception</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p>Por ultimo para finalizar la semana desarrollamos una clase MySQL que contenia todo lo necesario para realizar las consultas a una base de datos, y utilizamos esta nueva clase en un nuevo ejemplo de CRUD algo más complejo en el que mostramos un al usuario un catalogo de productos los cuales se pueden votar. En este ejemplo empleamos todos los conocimientos de la semana excepciones, clase mysql y javamail.</p>
<p>Un saludo y hasta la semana que viene.</p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/11/11/cuarta-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">30</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Tercera semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/11/04/tercera-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/11/04/tercera-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 04 Nov 2011 19:03:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=26</guid>

					<description><![CDATA[Al comenzar esta semana seguimos tratando el tema de los CRUD que comentamos en la entrada anterior, para ello creamos una nueva versión de nuestra agenda en la que realizábamos un inicio de sesión real. Una vez que tuvimos más o menos claros los conceptos de inicio de sesión realizamos un ejercicio bastante interesante.  En él implementamos [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Al comenzar esta semana seguimos tratando el tema de los CRUD que comentamos en la entrada anterior, para ello creamos una nueva versión de nuestra agenda en la que realizábamos un inicio de sesión real.</p>
<p>Una vez que tuvimos más o menos claros los conceptos de inicio de sesión realizamos un ejercicio bastante interesante.  En él implementamos un chat en tiempo real, en nuestro chat creamos una sala en la que tras registrarnos nos daba la posibilidad de hablar con todos lo usuarios que estuvieran conectados en ese instante de tiempo. Para que nuestra aplicación hiciera lo que hemos comentado realizamos en un archivo jsp 2 consultas SELECT a nuestra base de datos en la que tenemos almacenadas los usuarios con su contraseña y si esta conectado o no y otra base de datos en la que insertamos lo que cada usuario conectado escribe en el chat. A continuación muestro trozo  de código donde se realizan las consultas:</p>
<pre>sql = "SELECT nombreusuario FROM tablausuarios WHERE estado='1' AND nombreusuario !='" + usuario + "'";
sql2 = "SELECT conversacion,nomusuario FROM conversaciones WHERE conversacion !='null'";</pre>
<p>Para tratar con los emoticonos utilizamos la etiqueta &lt;img&gt; de html y el método replaceAll que nos proporciona la clase String, con este método cada vez que encontrábamos la cadena que queremos reemplazar la sustituía por un emoticono.</p>
<p>Hacia mediados de la semana estudiamos las posibilidades que nos dan la clase de Java String,StringBuffer y StringBuilder.</p>
<p>Aprendimos que los objetos de la clase String no se modifican una vez que se ha asignado un valor, ya que el espacio de memoria no se modifica, así si yo hago String cad=»Hola» y posteriormente cad=»H», el espacio de cad(Hola) se destruye y se crea uno nuevo con «H».</p>
<p>También aprendimos que cuando queramos manipular cadenas java nos da las utilidades de la clase StringBuffer, que aparte de la mayoría de los métodos de la clase String tiene algunos más interesantes: alguno nos permite insertar un carácter en un lugar determinado o devolver la cadena a la que le pasemos el método al revés.</p>
<p>Comentar que la diferencia que tiene StringBuffer respecto a StringBuilder es que el primero es thread-safe, esto quiere decir que esta preparado para tratar con aplicaciones en la que tengamos varios hilos de ejecución o thread.</p>
<p>Para afianzar estos conocimientos realizamos un pequeño test sobre los métodos de String y realizamos como ejercicio el conocido juego del ahorcado.</p>
<pre>Para finalizar la semana aprendimos lo que es un JavaBeans. Un JavaBeans no es más que una clase plana con atributos con los métodos set/get.
Estos métodos se utilizan para pasar información.Se utiliza en los jsp y tiene una gran utilidad a la hora de recoger información de un formulario.
Si queremos utilizar un JavaBean en un momento determinado tenemos que utilizar una etiqueta de jsp</pre>
<p align="justify">&lt;jsp:useBean id=»Est» beanName=»estudiante.ser» type=»Estudiante» /&gt;</p>
<p align="justify">Para que tenga utilidad previamente debemos haber creado la clase Estudiante</p>
<p align="justify">Continuara&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/11/04/tercera-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">26</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Segunda semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/10/28/segunda-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/10/28/segunda-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 28 Oct 2011 18:10:29 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=17</guid>

					<description><![CDATA[En esta segunda semana hemos aprendido a través de la realización de un listado de ejercicios el funcionamiento de los llamados CRUD, que son ejercicios en los que se manipulan las bases de datos, bien actualizando, insertando o borrando las mismas. También a través de la realización de la comentada lista de ejercicios en el [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>En esta segunda semana hemos aprendido a través de la realización de un listado de ejercicios el funcionamiento de los llamados CRUD, que son ejercicios en los que se manipulan las bases de datos, bien actualizando, insertando o borrando las mismas.</p>
<p>También a través de la realización de la comentada lista de ejercicios en el funcionamiento de las aplicaciones web, viendo como se comunican entre si las distintas clases Servlet, también con páginas jsp, que facilitan el programar la parte más gráfica de la aplicación y el paso de parámetros entre ellas.</p>
<p>En cuanto a los ejercicios que hemos realizado han sido muy variados aunque hemos utilizado una misma estrategia en la realización de los mismos. Entre ellos destacan la elaboración de un blog en el que para poder observar, comentar o borrar las distintas noticias le pediamos a los usuario que realizaran un inicio de sesión en caso de que ya estuvieran registrados en nuestro blog.</p>
<p>Para el final de semana vimos el ejemplo más completo. Para ellos creamos una agenda de teléfonos siguiendo la misma tónica que en ejercicios anteriores, pero con la novedad de que utilizamos lo que en java se llama sesión que no es más que una variable que es global para el servidor y que nos permite guardar todo tipo de objetos en la sesión para poder recupera los en las distintas paginas de nuestra aplicación web.</p>
<p>Como ejemplo de código de esta semana voy a dejar el trozo de código en el que se comprueba que un usuario está registrado o no, para ello realizamos dos consultas sql a la base de datos donde tenemos almacenados los usuarios y sus contraseñas. En la primera contamos los usuarios que coinciden con el nombre que no da el usuario y en la segunda devolvemos el numero de usuarios de la tabla que coinciden en usuario y con esa contraseña.</p>
<p>Código:</p>
<pre> String sql;

            sql = "SELECT COUNT(nombreusuario) as count from tablausuarios where nombreusuario='" + usuario + "'";

            ResultSet rst = stm.executeQuery(sql);

            rst.next();

            if (rst.getString("count").equals("1")) {

                String sql2;

                sql2 = "SELECT COUNT(nombreusuario) AS count2 FROM tablausuarios WHERE nombreusuario ='" + usuario + "' AND contraseña='" + pass + "'";
                ResultSet rst2 = stm.executeQuery(sql2);

                rst2.next();

                if (rst2.getString("count2").equals("1")) {
                    ServletContext sc = getServletContext();
                    sc.getRequestDispatcher("/muestraagenda.jsp").forward(request, response);
                }

Vemos que tras encontrar que el usuario y la contraseña coinciden con la que a insertado el usuario mandamos la aplicación a un jsp que le muestra al usuario la agenda.
Continuamos con más información la semana que viene.
Un saludo</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/10/28/segunda-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">17</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Primera semana</title>
		<link>https://josemgarciatejero.wordpress.com/2011/10/21/primera-semana/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/10/21/primera-semana/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Fri, 21 Oct 2011 18:06:16 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=10</guid>

					<description><![CDATA[En el primer día del curso tras explicarnos un poco los temas que íbamos a tratar a lo largo del mismo, pasamos a crearnos un grupo en la red social Facebook, con el objetivo de mantener a los distintos alumnos conectados y poder acceder a listas de ejercicios. También se nos propuso la creación de un blog [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>En el primer día del curso tras explicarnos un poco los temas que íbamos a tratar a lo largo del mismo, pasamos a crearnos un grupo en la red social Facebook, con el objetivo de mantener a los distintos alumnos conectados y poder acceder a listas de ejercicios. También se nos propuso la creación de un blog como este, en el que ir contando lo que vamos aprendiendo cada semana.</p>
<p>Tras estos pasos y después de un breve repaso de las ventajas de lenguaje de programación java , estudiamos los conceptos básicos del mismo y lleguamos al estudio de la llamada programación de aplicaciones web. Para ello, nos centramos en el funcionamiento de las clases de java llamadas «<em>Servlet</em>«(también se le conoce como clases controladoras). Estas clases heredan de una superclase llamada HttpServlet y su funcionamiento a gran escala es simple, una clase Servlet recibe una petición y devuelve una página html, que se pueda mostrar en un navegador web. Esta clase contiene dos métodos que facilitan la interacción entre el cliente y el servidor y son los métodos Get y Post, ambos tiene un funcionamiento parecido pero en el método Post los parámetros que utilicemos no están visibles para el cliente.</p>
<p>Una vez que comprendido el funcionamiento de las clases Servlet, aprendimos a encirptar código java en los archivos .jsp, lo que se conoce como scriplet. Para ello utilizamos la expreciones &lt;%= %&gt; para indicar una salida, &lt;%!%&gt; para declaraciones y &lt;%@%&gt; para las directivas. Esta herramienta resulta de mucha utilidad sobre todo cuando hay que tratar con una gran cantidad de código.</p>
<p>El segundo día lo dedicamos a poner en práctica los conocimientos que adquirimos en el día anterior realizando un listado de ejercicios. Así resolvimos un primer ejemplo simple en el que mostrábamos en una web los datos que un usuario cualquiera introdujo en un formulario. El funcionamiento de este primer ejemplo era muy simple, creamos un archivo .jsp en el que utilizando HTML le creábamos un formulario con sus cajas de texto para que el usuario introdujera sus datos, una vez que estos eran introducidos conectamos la página .jsp con una clase FormServlet, aquí utilizando los parámetros request y response mostrábamos la información del usuario. A continuación mostramos el código de ambos fichero:</p>
<p>idex.jsp</p>
<pre>&lt;%--
    Document   : index
    Created on : 21-oct-2011, 16:37:52
    Author     : Tarde
--%&gt;

&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;
&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
        &lt;title&gt;Formulario&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;h1&gt;Formulario&lt;/h1&gt;
        &lt;form method="post" action="FormServlet"&gt;
            &lt;p&gt;Nombre:&lt;/p&gt;
            &lt;input type="text" id="txtNombre" name="txtNombre"/&gt;
            &lt;p&gt;Email:&lt;/p&gt;
            &lt;input type="text" id="txtMail" name="txtMail"/&gt;
            &lt;p&gt;Motivo:&lt;/p&gt;
            &lt;input type="text" id="txtMotivo" name="txtMotivo"/&gt;
            &lt;p&gt;Mensaje:&lt;/p&gt;
            &lt;input type="text" id="txtNombre" name="txtMensaje"/&gt;&lt;br&gt;&lt;br&gt;

            &lt;input type="submit" value="Enviar"/&gt;
        &lt;/form&gt;
    &lt;/body&gt;
&lt;/html&gt;

Aquí el código del Servlet:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejem1;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Tarde
 */
@WebServlet(name = "FormServlet", urlPatterns = {"/FormServlet"})
public class FormServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP &lt;code&gt;GET&lt;/code&gt; and &lt;code&gt;POST&lt;/code&gt; methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            // TODO output your page here
            out.println("&lt;html&gt;");
            out.println("&lt;head&gt;");
            out.println("&lt;title&gt;Formulario&lt;/title&gt;");
            out.println("&lt;/head&gt;");
            out.println("&lt;body&gt;");
            out.println("&lt;h1&gt;Nombre:" + request.getParameter("txtNombre") + "&lt;/h1&gt;");
            out.println("&lt;h1&gt;E-Mail:" + request.getParameter("txtMail") + "&lt;/h1&gt;");
            out.println("&lt;h1&gt;Motivo:" + request.getParameter("txtMotivo") + "&lt;/h1&gt;");
            out.println("&lt;h1&gt;Mensaje:" + request.getParameter("txtMensaje") + "&lt;/h1&gt;");
            out.println("&lt;/body&gt;");
            out.println("&lt;/html&gt;");

        } finally {
            out.close();
        }
    }

    // &lt;editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."&gt;
    /**
     * Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP &lt;code&gt;POST&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// &lt;/editor-fold&gt;
}</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/10/21/primera-semana/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
		<item>
		<title>Hola!</title>
		<link>https://josemgarciatejero.wordpress.com/2011/10/20/hola/</link>
					<comments>https://josemgarciatejero.wordpress.com/2011/10/20/hola/#respond</comments>
		
		<dc:creator><![CDATA[pepemanuelgarcia]]></dc:creator>
		<pubDate>Thu, 20 Oct 2011 14:41:28 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://josemgarciatejero.wordpress.com/?p=3</guid>

					<description><![CDATA[Bienvenidos a este blog en el que iré comentando los conocimientos que adquiera a lo largo del curso de de experto en desarrollo Java(J2SEE).]]></description>
										<content:encoded><![CDATA[<p>Bienvenidos a este blog en el que iré comentando los conocimientos que adquiera a lo largo del curso de de experto en desarrollo Java(J2SEE).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://josemgarciatejero.wordpress.com/2011/10/20/hola/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3</post-id>
		<media:content url="https://0.gravatar.com/avatar/cd84595cc4f6360d4072c96f9e1663fd1c58a580d268f2d20224f13eb4419e70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pepemanuelgarcia</media:title>
		</media:content>
	</item>
	</channel>
</rss>
