<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-437512517890005964</id><updated>2012-02-16T09:51:04.016-08:00</updated><category term='java foreach'/><category term='Transacciones en jdbc'/><category term='calendario para java'/><category term='Genéricos para colecciones.'/><title type='text'>un aporte a java</title><subtitle type='html'>un pequeño aporte , para los que inician en java</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>90</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7019943335245528485</id><published>2010-01-01T18:05:00.000-08:00</published><updated>2010-01-01T18:23:42.874-08:00</updated><title type='text'>actions en struts2</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CWindows%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"&gt;&lt;/o:smarttagtype&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Verdana; 	panose-1:2 11 6 4 3 5 4 4 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:536871559 0 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.longtext 	{mso-style-name:long_text;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span class="longtext"  style="font-family:arial;"&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;Bueno en este pequeño articulo vamos hablar de&lt;br /&gt;las acciones en struts, una accion es una una clase&lt;br /&gt;de java normal, en las cuales podemos tener metodos,&lt;br /&gt;atributos, etc., pero &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt; tenemos que respetar las&lt;br /&gt;normas de los javaBean.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;br /&gt;como primera observacion podemo decir que si&lt;br /&gt;tenemos una sobrecarga de contructor es necesario&lt;br /&gt;escribir el contructor implicito, puesto que si no&lt;br /&gt;tendremos problema de ejecucion , una accion puede&lt;br /&gt;ser llamada por multiples acciones y&lt;span style=""&gt;  &lt;/span&gt;como otro&lt;br /&gt;detalle podemos decir que struts2&lt;span style=""&gt;  &lt;/span&gt;por defecto&lt;br /&gt;no crea un objeto HttpSession, pero añadiendo &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;br /&gt;en la pagina jsp el siguiente tag&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(31, 73, 125);font-family:arial;font-size:10pt;"  &gt; &lt;code&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page session="false"%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:10pt;color:black;"   &gt; &lt;/span&gt;&lt;span class="longtext"  style="font-family:arial;"&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;lo tenemos resuelto &lt;/span&gt;&lt;span style=";font-size:10pt;color:black;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/o:p&gt;nuestra clase accion debe heredar de &lt;st1:personname productid="La Clase ActionSupport" st="on"&gt;La Clase&lt;br /&gt;ActionSupport&lt;/st1:personname&gt;, esta clase nos proporciona&lt;span style=""&gt;  &lt;/span&gt;unos&lt;br /&gt;campos estaticos que son utilizados constatementes&lt;br /&gt;en nuestra configuracion struts.xml , estos campos&lt;br /&gt;son importantes porque al principio podemos verlos&lt;br /&gt;en el archivo de configuracion y no saber a que se&lt;br /&gt;referencia.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span class="longtext"&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span class="longtext"&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;o:p&gt;&lt;span style="font-size:85%;"&gt;SUCCESS&lt;/span&gt;: el proceso es un exito y se accede a&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span class="longtext"&gt;&lt;span style="background: white none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;o:p&gt;                   la peticion del usuario.&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;NONE : &lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="• NONE." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action execution was successful but no result view should be shown to the user." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Indica que la ejecución de la acción fue un éxito,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action execution was successful but no result view should be shown to the user." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;             pero el resultado no es mostrado al usuario.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;ERROR: &lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="• ERROR." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that that action execution failed and an error view should be sent to the user." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Indica que la ejecución de la acción  fracasó.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that that action execution failed and an error view should be sent to the user." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;          &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;INPUT: &lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="• INPUT." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that input validation failed and the form that had been used to take user input should be shown again." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; la validacion no corresponde y la entrada&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that input validation failed and the form that had been used to take user input should be shown again." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;           del usuario&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that input validation failed and the form that had been used to take user input should be shown again." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; se debe tomar denuevo.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:10pt;"&gt;LOGIN:&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="• LOGIN." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Indica que la acción no se pudo ejecutar&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span id="result_box" class="long_text"  style="font-family:arial;"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;              porque el usuario&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt; no ha iniciado la sesión.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt;estos parametros son utilizados en el archivo de configuracion&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt;struts.xml&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Indicates that the action could not execute because the user was not logged in and the login view should be shown." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7019943335245528485?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7019943335245528485/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7019943335245528485' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7019943335245528485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7019943335245528485'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2010/01/actions-en-struts2.html' title='actions en struts2'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8424130943824174601</id><published>2009-12-30T20:34:00.000-08:00</published><updated>2009-12-30T21:28:44.751-08:00</updated><title type='text'>interceptors en struts2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SzwqpRjKadI/AAAAAAAAAac/oTTVlCKxFNw/s1600-h/ciclo+interceptors.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 239px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SzwqpRjKadI/AAAAAAAAAac/oTTVlCKxFNw/s320/ciclo+interceptors.JPG" alt="" id="BLOGGER_PHOTO_ID_5421254940021123538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzwqN14tcDI/AAAAAAAAAaU/evPPCQf-jdw/s1600-h/struts2+framework.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 237px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzwqN14tcDI/AAAAAAAAAaU/evPPCQf-jdw/s320/struts2+framework.JPG" alt="" id="BLOGGER_PHOTO_ID_5421254468738838578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Los interceptores en struts2 son procedimientos que se ejecutan&lt;br /&gt;antes o despues que se invoque una accion, existen algunos&lt;br /&gt;definidos que podemos utilizar directamente o crear nuevas e&lt;br /&gt;implementarlas, estos dos esquemas que tenemos nos sirve&lt;br /&gt;para entender mejor los famosos interceptor de struts2.&lt;br /&gt;&lt;br /&gt;Pero que mejor que un ejemplo para entender mejor este&lt;br /&gt;concepto.&lt;br /&gt;&lt;br /&gt;vamos a desarrollar un programa que pasa una palabra de una&lt;br /&gt;pagina a otra y que el momento de hacer la solicitud de cambio&lt;br /&gt;de pagina nos muestre un mensaje que se ejecuta&lt;br /&gt;automaticamente mediante un interceptor.&lt;br /&gt;&lt;br /&gt;1.- primiero vamos a crear nuestra pagina inicio, como siempre&lt;br /&gt;la pagina index.jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ taglib uri="/struts-tags" prefix="s" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&lt;br /&gt; "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;title&amp;gt;struts2&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;traspasar la siguiente palabra&amp;lt;/h1&amp;gt; &lt;br /&gt;&lt;br /&gt;   &amp;lt;s:form action="proceso"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;s:textfield name="palabra" label="palabra"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;s:submit/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Szw0-wCurKI/AAAAAAAAAak/aIJopMrD4HY/s1600-h/formulario.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 232px; height: 83px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Szw0-wCurKI/AAAAAAAAAak/aIJopMrD4HY/s320/formulario.JPG" alt="" id="BLOGGER_PHOTO_ID_5421266304100117666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.- creamos las siguientes clases&lt;br /&gt;&lt;br /&gt;import com.opensymphony.xwork2.ActionSupport;&lt;br /&gt;&lt;br /&gt;public class parametro extends ActionSupport {&lt;br /&gt;&lt;br /&gt; private String palabra;&lt;br /&gt;&lt;br /&gt;// @Override&lt;br /&gt; public String execute()  {&lt;br /&gt;     System.out.println("entro a axecute");&lt;br /&gt;     return SUCCESS;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getPalabra() {&lt;br /&gt;     return palabra;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setPalabra(String palabra) {&lt;br /&gt;     this.palabra = palabra;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-------------------------------------------&lt;br /&gt;esta clase es el interceptor, como cosas claves&lt;br /&gt;podemos decir que implementa de  la interfaz&lt;br /&gt;Interceptor y el metodo invoke() es el que nos&lt;br /&gt;delimita los procesos antes o despues de la accion.&lt;br /&gt;&lt;br /&gt;import com.opensymphony.xwork2.ActionInvocation;&lt;br /&gt;import com.opensymphony.xwork2.interceptor.Interceptor;&lt;br /&gt;&lt;br /&gt;public class PruebaInterceptor  implements Interceptor{&lt;br /&gt;&lt;br /&gt; public String intercept(ActionInvocation next) throws Exception {&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;             String s= next.invoke();&lt;br /&gt;             System.out.println("intercept");&lt;br /&gt; &lt;br /&gt;     return s;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void init() {&lt;br /&gt; }&lt;br /&gt; public void destroy() {&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;si colocamos el System.out.println("intercept"); antes de&lt;br /&gt;String s= next.invoke(); se mostrara el mensaje antes de&lt;br /&gt;System.out.println("entro a axecute"); encontrado en la&lt;br /&gt;clase parametro&lt;br /&gt;&lt;br /&gt;3.- creamos la pagina respuesta, que es la asociada a la accion&lt;br /&gt;parametro.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;%@ taglib uri="/struts-tags" prefix="s" %&amp;gt;&lt;br /&gt;  &amp;lt;html&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;  parametro &amp;lt;s:property value="palabra"/&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;  &amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;4.- ahora vamos a lo mas importante que seria&lt;br /&gt;nuestro archivo strust.xml, el que tiene toda nuestra&lt;br /&gt;configuracion.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;!DOCTYPE struts PUBLIC&lt;br /&gt;"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"&lt;br /&gt;"http://struts.apache.org/dtds/struts-2.0.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;struts&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Configuration for the default package. --&amp;gt;&lt;br /&gt;  &amp;lt;package name="default" extends="struts-default"&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;interceptors&amp;gt;&lt;br /&gt;                    &amp;lt;interceptor name="tiempo_servidor"          class="PruebaInterceptor"/&amp;gt;&lt;br /&gt;&lt;br /&gt;           &amp;lt;/interceptors&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;action name="proceso" class="parametro"&amp;gt;&lt;br /&gt;&lt;br /&gt;           &amp;lt;interceptor-ref name="tiempo_servidor"/&amp;gt;&lt;br /&gt;           &amp;lt;interceptor-ref name="defaultStack" /&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;result name="success" &amp;gt;/resultado.jsp&amp;lt;/result&amp;gt;&lt;br /&gt;         &amp;lt;/action&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/package&amp;gt;&lt;br /&gt;&amp;lt;/struts&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;de este codigo podemos decir que es importante que este&lt;br /&gt;interceptor-ref name="defaultStack" en nuestra accion, puesto&lt;br /&gt;que si no esta el parametro palabra no llega a nuestra pagina&lt;br /&gt;respuesta.jsp&lt;br /&gt;&lt;br /&gt;ahora al momento de ejecutar nuestro codigo, podemos&lt;br /&gt;apreciar que a simple vista podemos ver que se pasa&lt;br /&gt;el parametro desde una pagina a la otra, pero si vemos&lt;br /&gt;nuestra consola podemos ver que se muestra lo siguiente.&lt;br /&gt;&lt;br /&gt;entro a axecute&lt;br /&gt;intercept&lt;br /&gt;&lt;br /&gt;bueno trate de hacer un ejemplo lo mas sencillo, para&lt;br /&gt;entender e iniciar los conocimientos de este framework,&lt;br /&gt;creo que lo mas recomendable es leer mucho y tratar&lt;br /&gt;de entender como funciona para evitar estar pegado en&lt;br /&gt;problemas de configuracion, principalmente en el&lt;br /&gt;archivo struts.xml&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8424130943824174601?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8424130943824174601/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8424130943824174601' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8424130943824174601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8424130943824174601'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/interceptors-en-struts2.html' title='interceptors en struts2'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SzwqpRjKadI/AAAAAAAAAac/oTTVlCKxFNw/s72-c/ciclo+interceptors.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3521785959356729314</id><published>2009-12-29T12:34:00.000-08:00</published><updated>2009-12-29T12:56:19.024-08:00</updated><title type='text'>struts.xml</title><content type='html'>Struts2 utiliza un archivo de configuración llamado&lt;br /&gt;struts.xml, este archivo xml es utilizado para&lt;span style=""&gt;  &lt;/span&gt;iniciar&lt;br /&gt;los recursos del proyecto. Que pueden ser interceptors,&lt;br /&gt;actions, results y otros , también se pueden definir&lt;br /&gt;variables globales, validaciones ósea en pocas palabras&lt;br /&gt;es como el corazon de nuestro proyecto.&lt;br /&gt;&lt;br /&gt;se puede trabajar con mas archivos xml, pero todos&lt;br /&gt;tienen que estar incluidos en el archivo struts.xml&lt;br /&gt;de la siguiente forma&lt;include file="archivo.xml"&gt; include file (de forma de tag),&lt;br /&gt;&lt;/include&gt;&lt;include file="archivo.xml"&gt;separar este archivo en mas pequeño creo que es&lt;br /&gt;recomendable cuando estamos presentes de un&lt;br /&gt;proyecto muy grande, porque así nos quedaría mas&lt;br /&gt;ordenado y mas fácil de trabajar, se podria de decir&lt;br /&gt;que realizamos un &lt;span style=""&gt; &lt;/span&gt;modularizacion de nuestro archivo.&lt;br /&gt;&lt;br /&gt;en la practica el archivo yo siempre lo guardo en src&lt;br /&gt;no es necesario tenerlo guardado en la carpeta web-inf&lt;br /&gt;tenemos que tener en cuenta que la estructura de nuestro&lt;br /&gt;struts.xml tiene que respetar las reglas de formato de un&lt;br /&gt;xml, puesto que será trasformado a DTD (archivo xml&lt;br /&gt;bien formado, es como un validador de nuestro archivo xml&lt;br /&gt;y sirve para recorrerlo )para poder leer, en&lt;span style=""&gt;  &lt;/span&gt;mi copa&lt;br /&gt;experiencia me he percatado que muchos errores son&lt;br /&gt;generados al formar mal o definir mal este famoso archivo,&lt;br /&gt;tenemos que en cuenta que la lectura de este archivo&lt;br /&gt;es secuencial.&lt;br /&gt;&lt;br /&gt;además existe el archivo strustdefault.xml y&lt;br /&gt;struts-plugin.xml, estos dos archivos se incluyen&lt;br /&gt;implicitamente (un parecido a la clase Object ) y&lt;br /&gt;tienen la configuracion por defecto y son cargados&lt;br /&gt;en el inicio, en la practica puedo decir que no se ven&lt;br /&gt;en nuestro proyecto, yo trabajo con netbeans, y a&lt;br /&gt;veces con eclipce, pero muy poco&lt;br /&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;viendo la estructura de este archivo podemos&lt;br /&gt;ver que su principal tag es &lt;struts&gt;, ósea su&lt;br /&gt;raíz y dentro de ella encontramos otras como:&lt;span style=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;package este define el grupo de trabajo, su&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;tag es &lt;pachage&gt; podemos compartir atributos&lt;br /&gt;o utilizarlos de forma organizativa, una condición&lt;br /&gt;obligatoria es su nombre y una de sus caracteristicas&lt;br /&gt;es que se puede extender&lt;br /&gt;&lt;br /&gt;siguiendo con algunas etiquetas importantes,&lt;br /&gt;podemos encontrar la tag bean, estos son creados&lt;br /&gt;por el por el framework e utilizado y por ultimo&lt;br /&gt;vamos hablar de las constantes(constant), esta&lt;br /&gt;son muy útiles, ya que pueden ser usadas para&lt;br /&gt;definir configuraciones, puede definir que tipo de&lt;br /&gt;bean se debe utilizar, etc . Como dato podemos&lt;br /&gt;decir que en el archivo web.xml los parametros&lt;br /&gt;de inicialización FilterDispatchir se cargan como&lt;br /&gt;constantes. este famoso FilterDispatcher es el punto&lt;br /&gt;de entrada de nuestro proyecto y se configura en&lt;br /&gt;el archivo web.xml&lt;br /&gt;&lt;br /&gt;para trabajar con las constantes debe estar&lt;br /&gt;devMode=true, bueno esto lo pueden ver en los&lt;br /&gt;miles de ejemplos que se pueden encontrar en&lt;br /&gt;internet, pero ya saben a que se refiere esta&lt;br /&gt;configuración.&lt;br /&gt;&lt;br /&gt;como siempre voy a dejar su buen link, para entrar&lt;br /&gt;en detalle mas sobre strust2, porque podemos encontrar&lt;br /&gt;muchos ejemplos pero si no entendemos lo que hacemos&lt;br /&gt;vamos a dar siempre palos de ciego&lt;br /&gt;&lt;br /&gt;link : &lt;a href="http://www.epidataconsulting.com/tikiwiki/tiki-index.php?page=Struts2#Principales_componentes"&gt;struts2&lt;/a&gt;  muy bueno este link y esta en español, explica bien&lt;br /&gt;la arquitectura de este framework y con solo ver la siguiente imagen&lt;br /&gt;podemos entender muchas cosas de este framework.&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzpsqHREJgI/AAAAAAAAAaM/M16fLYRQEls/s1600-h/arquitectura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzpsqHREJgI/AAAAAAAAAaM/M16fLYRQEls/s320/arquitectura.JPG" alt="" id="BLOGGER_PHOTO_ID_5420764572254742018" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;/pachage&gt;&lt;/struts&gt;&lt;/include&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3521785959356729314?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3521785959356729314/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3521785959356729314' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3521785959356729314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3521785959356729314'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/strutsxml.html' title='struts.xml'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SzpsqHREJgI/AAAAAAAAAaM/M16fLYRQEls/s72-c/arquitectura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1311687429925589833</id><published>2009-12-26T12:33:00.000-08:00</published><updated>2009-12-26T12:52:59.914-08:00</updated><title type='text'>Empezando con struts 2</title><content type='html'>espero dar varios ejemplos de este framework, y para comenezar&lt;br /&gt;tenemos que añadir struts2 a nuestro netbeans y entender como&lt;br /&gt;funciona.&lt;br /&gt;&lt;br /&gt;el link oficial es &lt;a href="http://struts.apache.org/2.x/index.html"&gt;struts2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pero no prentendo explicar este framework porque existe muchos&lt;br /&gt;blog y paginas que explican, solamente en este articulo pretendo&lt;br /&gt;dar el punto de inicio para comenzar a trabajar con este framework.&lt;br /&gt;&lt;br /&gt;1.-encontre este blog que explica de forma buena como empezar&lt;br /&gt;&lt;div style="text-align: left;"&gt;  &lt;a href="http://www.masterdlabs.es/2009/plugin-de-struts-2-para-netbeans-creando-un-nuevo-proyecto/"&gt;Aqui&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.-  como siempre tenemos que comenzar con el famoso "hola&lt;br /&gt;mundo " jejeje  aqui esta el &lt;a href="http://mundogeek.net/archivos/2009/02/08/struts-2/"&gt;link&lt;/a&gt;  (la idea no es escribir ya mas de lo&lt;br /&gt;mismo, mejor aprobechamos lo que existe.)&lt;br /&gt;&lt;br /&gt;3.- y por ultimo este link explicando varias etiquetas &lt;a href="http://mundogeek.net/archivos/2009/02/13/etiquetas-struts-2/"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.masterdlabs.es/2009/plugin-de-struts-2-para-netbeans-creando-un-nuevo-proyecto/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1311687429925589833?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1311687429925589833/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1311687429925589833' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1311687429925589833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1311687429925589833'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/empezando-con-struts-2.html' title='Empezando con struts 2'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7672433287035081566</id><published>2009-12-25T13:52:00.000-08:00</published><updated>2009-12-25T18:22:58.582-08:00</updated><title type='text'>segundo ejemplo de jquery con jsp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzVQcpGjklI/AAAAAAAAAZ8/zrCupIyCktQ/s1600-h/ejemplo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 241px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzVQcpGjklI/AAAAAAAAAZ8/zrCupIyCktQ/s320/ejemplo.JPG" alt="" id="BLOGGER_PHOTO_ID_5419326179610169938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;el siguiente ejemplo  utilizaremos jsp con jdbc , hoja de estilo,&lt;br /&gt;se trata de ir capturando un texto, guardarlo y rescatarlo, para&lt;br /&gt;despues mostrarlo en secuencia hacia abajo&lt;br /&gt;&lt;br /&gt;insert.jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page language="java" import="java.sql.*" errorPage="" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/jquery-1.3.1.js"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="code.css" type="text/css" media="all" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript" &amp;gt;&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;&lt;br /&gt;$(".update_button").click(function() {&lt;br /&gt;&lt;br /&gt;var boxval = $("#content").val();&lt;br /&gt;&lt;br /&gt;var dataString = 'content='+ boxval;&lt;br /&gt;&lt;br /&gt;if(boxval=='')&lt;br /&gt;{&lt;br /&gt;alert("introduzca texto");&lt;br /&gt;&lt;br /&gt;}else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;$.ajax({&lt;br /&gt;&lt;br /&gt;type: "POST",&lt;br /&gt;url: "demo.jsp",&lt;br /&gt;data: dataString,&lt;br /&gt;cache: false,&lt;br /&gt;success: function(html){&lt;br /&gt;&lt;br /&gt;$("ol#update").prepend(html);&lt;br /&gt;$("ol#update li:first").slideDown("slow");&lt;br /&gt;$("#content").value('');&lt;br /&gt;$("#content").focus(); $("#flash").hide();&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;} return false;&lt;br /&gt;});&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;&amp;lt;form method="post" name="form" action=""&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;ingrese Comuna&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;textarea cols="30" rows="2" name="content" id="content" maxlength="145" &amp;gt;&lt;br /&gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;lt;input type="submit" value="Ingresar" name="submit" class="update_button"/&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id="flash"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;ol id="update" class="timeline"&amp;gt;&lt;br /&gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;demo.jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&amp;lt;%@ page language="java" import="java.sql.*" errorPage="" %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;&lt;br /&gt;String content=request.getParameter("content");&lt;br /&gt;try{&lt;br /&gt;Class.forName("org.postgresql.Driver");&lt;br /&gt;Connection con =&lt;br /&gt;DriverManager.getConnection&lt;br /&gt;("jdbc:postgresql://localhost/ejemplo","postgres","1234");&lt;br /&gt;Statement st = con.createStatement();&lt;br /&gt;int i=st.executeUpdate&lt;br /&gt;("insert into comuna(nombre) values('"+content+"')");&lt;br /&gt;&lt;br /&gt;ResultSet rs=st.executeQuery&lt;br /&gt;("select * from comuna order by nombre desc");&lt;br /&gt;&lt;br /&gt;if(rs.next())&lt;br /&gt;{&lt;br /&gt;while(rs.next())&lt;br /&gt;{&lt;br /&gt;String msg=rs.getString("nombre");&lt;br /&gt;%&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&lt;br /&gt;&amp;lt;div align="left"&amp;gt;&lt;br /&gt;&amp;lt;span &amp;gt;&amp;lt;%= msg %&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;}&lt;br /&gt;}else{&lt;br /&gt;&lt;br /&gt;out.println("error");}&lt;br /&gt;}&lt;br /&gt;catch(Exception e){&lt;br /&gt;&lt;br /&gt;Exception ex = e;&lt;br /&gt;out.println("error de conexion con postgres:"+ex);&lt;br /&gt;}&lt;br /&gt;%&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;la base de dato es una tabla sencilla llamada comuna,&lt;br /&gt;con un campo llamado nombre y nada mas.&lt;br /&gt;&lt;br /&gt;ahora creamos la hoja de estilo en&lt;br /&gt;netbeans lo podemos crear en nuevo, web ,&lt;br /&gt;cascading style sheet.&lt;br /&gt;&lt;br /&gt;root {&lt;br /&gt;display: block;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;*{margin:0;padding:0;}&lt;br /&gt;ol.timeline{&lt;br /&gt;list-style:none;font-size:0.8em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ol.timeline li{&lt;br /&gt;display:none;position:relative;&lt;br /&gt;padding:.7em 0 .6em 0;&lt;br /&gt;border-bottom:1px dashed #000;&lt;br /&gt;line-height:0.8em;&lt;br /&gt;background-color:#D3E7F5;&lt;br /&gt;height:25px}&lt;br /&gt;&lt;br /&gt;ol.timeline li:first-child{&lt;br /&gt;border-top:1px dashed #000;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;encontre estos ejemplos muy intersantes tambien como son:&lt;br /&gt;&lt;br /&gt;auto llenado de un text con java &lt;a href="http://viralpatel.net/blogs/2009/06/tutorial-create-autocomplete-feature-with-java-jsp-jquery.html"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzVxTnr7ZhI/AAAAAAAAAaE/CdEOxkGDjFc/s1600-h/llenado.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 218px; height: 180px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzVxTnr7ZhI/AAAAAAAAAaE/CdEOxkGDjFc/s320/llenado.JPG" alt="" id="BLOGGER_PHOTO_ID_5419362308494943762" border="0" /&gt;&lt;/a&gt;para entrar mas en detalle tenemos este otro &lt;a href="http://www.roseindia.net/ajax/jquery/"&gt;link&lt;/a&gt;,&lt;br /&gt;ademas este ejemplo el cual es un combo dependiente con jsp y&lt;br /&gt; ajax &lt;a href="http://sites.google.com/site/apuntesdejava/Home/combo-dependiente-con-jsp-ajax"&gt;link&lt;/a&gt; y por ultimo para entrar mas endetalle de jquery &lt;a href="http://www.javascriptya.com.ar/jquery/index.php?inicio=0"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 xmlns="http://www.w3.org/1999/xhtml" id="sites-page-title-header" style="" align="left"&gt;&lt;span id="sites-page-title" dir="ltr"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7672433287035081566?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7672433287035081566/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7672433287035081566' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7672433287035081566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7672433287035081566'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/segundo-ejemplo-de-jquery-con-jsp.html' title='segundo ejemplo de jquery con jsp'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SzVQcpGjklI/AAAAAAAAAZ8/zrCupIyCktQ/s72-c/ejemplo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-566624022397070048</id><published>2009-12-25T08:13:00.000-08:00</published><updated>2009-12-25T09:04:28.406-08:00</updated><title type='text'>org.apache.commons</title><content type='html'>esta es una libreria super interesante y nos puede ayudar&lt;br /&gt;mucho en nuestro desarrollo,  para utilizar esta libreria&lt;br /&gt;debemos bajar  el jar correspondiente, el cual lo&lt;br /&gt;podemos encontrar &lt;a href="http://commons.apache.org/downloads/download_lang.cgi"&gt;aqui&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;esta libreria nos brinda ayuda en manejo de String,&lt;br /&gt;numeros, fecha, etc.&lt;br /&gt;&lt;br /&gt;despues de bajar el jar lo agregamos a nuestro&lt;br /&gt;proyecto y estamos listos para utilizarlo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzTuHIDk56I/AAAAAAAAAZ0/jHiOiuosQMM/s1600-h/libreria.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzTuHIDk56I/AAAAAAAAAZ0/jHiOiuosQMM/s320/libreria.JPG" alt="" id="BLOGGER_PHOTO_ID_5419218057822529442" border="0" /&gt;&lt;/a&gt;en el siguiente &lt;a href="http://www.dosideas.com/java/432-a-no-repetirse-con-apache-commons-lang.html"&gt;link&lt;/a&gt; podemos encontrar mas detalle sobre esta libreria&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-566624022397070048?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/566624022397070048/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=566624022397070048' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/566624022397070048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/566624022397070048'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/orgapachecommons.html' title='org.apache.commons'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SzTuHIDk56I/AAAAAAAAAZ0/jHiOiuosQMM/s72-c/libreria.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1897230337213940205</id><published>2009-12-25T06:09:00.000-08:00</published><updated>2009-12-25T08:08:37.263-08:00</updated><title type='text'>transmision de datos mediante ajax con jquery</title><content type='html'>vamos a desarrollar el siguiente ejemplo&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SzTJYNzXw4I/AAAAAAAAAZs/IgykwO4RIBc/s1600-h/Dibujo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 268px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SzTJYNzXw4I/AAAAAAAAAZs/IgykwO4RIBc/s320/Dibujo.JPG" alt="" id="BLOGGER_PHOTO_ID_5419177669492720514" border="0" /&gt;&lt;/a&gt;a diferencia del ejemplo anterior es que ahora vamos a trabajar&lt;br /&gt;con un archivo estructurado , ademas vamos a trabajar con&lt;br /&gt;un controlador para nuestro ejemplo. pero vamos al ejemplo.&lt;br /&gt;&lt;br /&gt;1.- primero vamos a crear nuestra clase libro,  encapsulada&lt;br /&gt;como dios manda, solomante los get de los atributos de la&lt;br /&gt;clase,  puesto que vamos a setiar mediante un contructor.&lt;br /&gt;&lt;br /&gt;public class libro {&lt;br /&gt;  private String titulo;&lt;br /&gt; private String tipo;&lt;br /&gt; private int qty;&lt;br /&gt; private String comentario;&lt;br /&gt;&lt;br /&gt;libro(){&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;libro(String titulo,String tipo, int qty, String comentario){&lt;br /&gt;&lt;br /&gt;   this.titulo=titulo;&lt;br /&gt;   this.tipo=tipo;&lt;br /&gt;   this.qty=qty;&lt;br /&gt;   this.comentario=comentario;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; public String getTitulo() {&lt;br /&gt;     return titulo;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getTipo() {&lt;br /&gt;     return tipo;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getQty() {&lt;br /&gt;     return qty;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;  public String getComentario() {&lt;br /&gt;     return comentario;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.- como segundo paso creamos la clase libros, el cual&lt;br /&gt;nos gestionara los objetos de la clase libro.&lt;br /&gt;&lt;br /&gt;import java.util.*;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class libros {&lt;br /&gt;&lt;br /&gt;  Map&lt;integer,libro&gt; books = new LinkedHashMap&lt;integer,libro&gt;();&lt;br /&gt;&lt;br /&gt;public libros() {&lt;br /&gt;&lt;br /&gt;books.put(11, new libro(&lt;br /&gt;  "Java Swing", "java", 1 ," para aplicaciones de escritorio"));&lt;br /&gt;books.put(27, new libro(&lt;br /&gt;  "php","daniel",1," libro para iniciar php"&lt;br /&gt;&lt;br /&gt;  )&lt;br /&gt;  );&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;public libro fetch(int id) {  return books.get(id); }&lt;br /&gt;public Set&lt;integer&gt; fetchIds() { return books.keySet(); }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;3.- despues vamos a crear nuestro archivo getbook_as_table.js de&lt;br /&gt;tipo  javascript y añadimos lo siguiente.&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;$("#button").click(function() {&lt;br /&gt; $.ajax({&lt;br /&gt;   type: "GET",&lt;br /&gt;   url: "book_table.jsp",&lt;br /&gt;   data: { id: $("#sel").val() },&lt;br /&gt;   success: function(data) {&lt;br /&gt;     $("#out").html( data )&lt;br /&gt;   }&lt;br /&gt; })&lt;br /&gt;})&lt;br /&gt;})&lt;br /&gt;&lt;br /&gt;4.- ahora vamos a crear las paginas jsp, la primera sera&lt;br /&gt;getbook_as_table.jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&lt;br /&gt;&lt;br /&gt;"http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="java.util.*" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="modelo.*" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jsp:useBean id="books" scope="session" class="modelo.libros"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Seleccion de libro &amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;script type="text/javascript" src="js/jquery-1.3.1.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;script type="text/javascript" src="js/errors.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;script type="text/javascript" src="js/getbook_as_table.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h3&amp;gt;Buscar libro&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;select id="sel"&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;% for( Integer i: books.fetchIds() ) { %&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;option value="&amp;lt;%=i%&amp;gt;"&amp;gt;&amp;lt;%=i%&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;button id="button"&amp;gt;Buscar libro&amp;lt;/button&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;  Seleccion de libro:&lt;br /&gt;&lt;br /&gt;  &amp;lt;div id="out"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;y por ultimo la pagina book_table.jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="modelo.*" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jsp:useBean id="libros" scope="session" class="modelo.libros"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;&lt;br /&gt;String id = request.getParameter("id");&lt;br /&gt;&lt;br /&gt;int num_id = Integer.parseInt(id);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;libro book = libros.fetch(num_id);&lt;br /&gt;&lt;br /&gt;String comentario = book.getComentario();&lt;br /&gt;&lt;br /&gt;String titulo = book.getTitulo();&lt;br /&gt;&lt;br /&gt;String tipo = book.getTipo();&lt;br /&gt;&lt;br /&gt;int qty=book.getQty();&lt;br /&gt;&lt;br /&gt;%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;table border="1" cellpadding="5"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;td&amp;gt;Titulo:&amp;lt;/td&amp;gt;     &amp;lt;td&amp;gt;&amp;lt;%=titulo%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;td&amp;gt;tipo:&amp;lt;/td&amp;gt;      &amp;lt;td&amp;gt;&amp;lt;%=tipo%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;td&amp;gt;qty:&amp;lt;/td&amp;gt;       &amp;lt;td&amp;gt;&amp;lt;%=qty%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;td&amp;gt;comentario:&amp;lt;/td&amp;gt;  &amp;lt;td&amp;gt;&amp;lt;%=comentario%&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/integer&gt;&lt;/integer,libro&gt;&lt;/integer,libro&gt;&lt;div style="text-align: left;"&gt;&lt;integer,libro&gt;&lt;integer,libro&gt;&lt;integer&gt;sobre el codigo, si no entienden como trabaja useBean pu&lt;/integer&gt;&lt;/integer,libro&gt;&lt;/integer,libro&gt;eden buscar&lt;br /&gt;en este blok como se trabaja. &lt;a href="http://ungranoparajava.blogspot.com/2009/05/beans-en-jsp.html"&gt;Aqui&lt;/a&gt;&lt;br /&gt;&lt;integer,libro&gt;&lt;integer,libro&gt;&lt;integer&gt;&lt;jsp:usebean puden="" ver="" el="" tema="" en="" este="" mismo="" blog=""&gt;&lt;/jsp:usebean&gt;&lt;/integer&gt;&lt;/integer,libro&gt;&lt;/integer,libro&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1897230337213940205?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1897230337213940205/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1897230337213940205' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1897230337213940205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1897230337213940205'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/transmision-de-datos-ajax-con-jquery.html' title='transmision de datos mediante ajax con jquery'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SzTJYNzXw4I/AAAAAAAAAZs/IgykwO4RIBc/s72-c/Dibujo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5102706109995818290</id><published>2009-12-24T07:55:00.000-08:00</published><updated>2009-12-24T09:16:36.592-08:00</updated><title type='text'>Ejemplo de jquery  seleccion  en  base a un combobox</title><content type='html'>en el articulo anterior solamente explique una introduccion,&lt;br /&gt;pero realmente lo que importa es la implementacion es por&lt;br /&gt;ello que vamos a dar unos ejemplos que encontre muy&lt;br /&gt;interesante para empezar a entender mejor lo que es jquery&lt;br /&gt;y como trabajar con ella.&lt;br /&gt;&lt;br /&gt;primero tenemos que tener nuestro proyecto con la&lt;br /&gt;carpeta js en la cual encontramos jquery-1.3.1.js, esto lo&lt;br /&gt;podemos ver en el articulo anterior.&lt;br /&gt;&lt;br /&gt;en la misma carpeta creamos un archivo para trabajar&lt;br /&gt;con javascript esto lo hacemos asi:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SzOYRRUJzcI/AAAAAAAAAZc/s9QgPSiytnU/s1600-h/javascript.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SzOYRRUJzcI/AAAAAAAAAZc/s9QgPSiytnU/s320/javascript.JPG" alt="" id="BLOGGER_PHOTO_ID_5418842199129968066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;creamos el archivo client_getperson y dentro de ella introducimos&lt;br /&gt;el siguiente codigo:&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;$("#button").click(function() {&lt;br /&gt;  $("#out").html( $("#sel").val() )&lt;br /&gt;})&lt;br /&gt;})&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;luego  en souce parckage creamos el paquete modelo,&lt;br /&gt;en donde creamos la clase People&lt;br /&gt;&lt;br /&gt;package modelo;&lt;br /&gt;&lt;br /&gt;public class People {&lt;br /&gt;&lt;br /&gt;  private String people[]&lt;br /&gt;        = new String[] { "jorge", "felipe", "hector", "enzo", "sergio", };&lt;br /&gt;public int getNumPeople() { return people.length; }&lt;br /&gt;public String getPerson(int num) { return people[num]; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ahora en nuestra pagina jsp&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&lt;br /&gt;&lt;br /&gt; "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="java.util.*" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="modelo.People" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jsp:useBean id="people" scope="request" class="modelo.People"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;title&amp;gt;Seleccion con javascript&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;script type="text/javascript" src="js/jquery-1.3.1.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;script type="text/javascript" src="js/client_getperson.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;h3&amp;gt;Seleccion de Persona&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;select id="sel"&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;% for( int i = 0; i &amp;lt; people.getNumPeople(); ++i ) { %&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;option value="&amp;lt;%=people.getPerson(i)%&amp;gt;"&amp;gt;&amp;lt;%=i%&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;button id="button"&amp;gt;Ver persona&amp;lt;/button&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;   Persona Seleccionada: &amp;lt;span id="out"&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;y la salida nos queda asi:&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzOa648IGII/AAAAAAAAAZk/AHuJDocMUro/s1600-h/pagina.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 315px; height: 158px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzOa648IGII/AAAAAAAAAZk/AHuJDocMUro/s320/pagina.JPG" alt="" id="BLOGGER_PHOTO_ID_5418845113164503170" border="0" /&gt;&lt;/a&gt;bueno este es el ejemplo mas simple, pero el mismo de otra forma&lt;br /&gt;mas completa es asi.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@ page import="java.util.*" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ page import="modelo.People" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jsp:useBean id="people" scope="request" class="modelo.People"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;title&amp;gt;Selection con ajax&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;script type="text/javascript" src="js/jquery-1.3.1.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;script type="text/javascript" src="js/server_getperson.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;h3&amp;gt;AJAX " Obtener Persona "&amp;lt;/h3&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;select id="sel"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;% for( int i = 0; i &amp;lt; people.getNumPeople(); ++i ) { %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;option value="&amp;lt;%=i%&amp;gt;"&amp;gt;&amp;lt;%=i%&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;button id="button"&amp;gt;buscar persona&amp;lt;/button&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;persona Seleccionada: &amp;lt;span id="out"&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;en el archivo server_getperson.js temos  que escribir :&lt;br /&gt;&lt;br /&gt;$(function() {&lt;br /&gt;  $("#button").click(function() {&lt;br /&gt;    $.ajax( {&lt;br /&gt;      type: "GET",       // the default&lt;br /&gt;      url: "GetPerson",&lt;br /&gt;      data: { id: $("#sel").val() },&lt;br /&gt;      success: function(data) {&lt;br /&gt;        $("#out").html( data )&lt;br /&gt;      }&lt;br /&gt;    } )&lt;br /&gt;&lt;br /&gt;luego tenemos un servlet llamado GetPerson&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.PrintWriter;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import modelo.People;&lt;br /&gt;&lt;br /&gt;public class GetPerson extends HttpServlet {&lt;br /&gt;  &lt;br /&gt;      private People people = new People();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;    throws ServletException, IOException {&lt;br /&gt;        response.setContentType("text/html;charset=UTF-8");&lt;br /&gt;        PrintWriter out = response.getWriter();&lt;br /&gt;        try {&lt;br /&gt;&lt;br /&gt;             String id = request.getParameter("id");&lt;br /&gt;      out.print(people.getPerson(Integer.parseInt(id)));&lt;br /&gt;&lt;br /&gt;        } finally {&lt;br /&gt;            out.close();&lt;br /&gt;        }&lt;br /&gt;//.....&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5102706109995818290?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5102706109995818290/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5102706109995818290' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5102706109995818290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5102706109995818290'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/ejemplo-de-jquery-seleccion-en-base-un.html' title='Ejemplo de jquery  seleccion  en  base a un combobox'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SzOYRRUJzcI/AAAAAAAAAZc/s9QgPSiytnU/s72-c/javascript.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8666350497704357244</id><published>2009-12-23T07:30:00.000-08:00</published><updated>2009-12-23T08:30:51.119-08:00</updated><title type='text'>jquery con jsp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzI4kgBsrKI/AAAAAAAAAZE/zhBpjq7v1SQ/s1600-h/jquery.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 254px; height: 257px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SzI4kgBsrKI/AAAAAAAAAZE/zhBpjq7v1SQ/s320/jquery.JPG" alt="" id="BLOGGER_PHOTO_ID_5418455501403630754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jquery.com/"&gt; jquery&lt;/a&gt; es una libreria javascript que se esta utilizando mucho,&lt;br /&gt;una de las caracteristicas de esta libreria es su version bien&lt;br /&gt;comprimida y comparte muchas de caracteristicas de prototype&lt;br /&gt;(una de las diferencias son la llamada de metodos).&lt;br /&gt;&lt;br /&gt;en un link anterior explico un poco de ajax y si existe alguna duda&lt;br /&gt;seria bueno ver este tema, ademas tengo unos link para profundizar&lt;br /&gt;mas el tema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ungranoparajava.blogspot.com/2009/05/empezando-con-ajax.html"&gt;http://ungranoparajava.blogspot.com/2009/05/empezando-con-ajax.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;si ya tenemos entendemos ajax o queremos ir directo a lo practico&lt;br /&gt;podemos  ver este manual de jquery muy bueno( en la pagina oficial&lt;br /&gt;existe mucha documentacion e incluso en español)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.librosweb.es/ajax/capitulo10/la_libreria_jquery.html"&gt;http://www.librosweb.es/ajax/capitulo10/la_libreria_jquery.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;en el link anterior podemos encontrar tambien  un manual de&lt;br /&gt;prototype y de ajax, es muy bueno este link.&lt;br /&gt;&lt;br /&gt;ahora vamos a los que nos reune  jajajaja, a lo entretenido a lo&lt;br /&gt;que es codigo.&lt;br /&gt;&lt;br /&gt;como siempre vamos a utilizar nuestro netbeans y lo primero&lt;br /&gt;que vamos hacer es un proyecto web, el cual no incluimos&lt;br /&gt;ningun framework ( como hibernate, jsf, struts, etc aunque&lt;br /&gt;se puede utilizar con jsf , struts , spring etc).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SzI85b8unlI/AAAAAAAAAZM/e4TdVHWjPMY/s1600-h/proyecto.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 272px; height: 244px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SzI85b8unlI/AAAAAAAAAZM/e4TdVHWjPMY/s320/proyecto.JPG" alt="" id="BLOGGER_PHOTO_ID_5418460259132808786" border="0" /&gt;&lt;/a&gt;como podemos apreciar  nuestro proyecto tiene una carpeta js, esta&lt;br /&gt;la creamos en nuevo-&gt;otro-&gt;carperta. Para trabajar con esta libreria&lt;br /&gt;tenemos que bajar el archivo jquery-1.3.1.js , esta es la version&lt;br /&gt;pero podemos trabajar con la anterior que es la 1.2.1 bueno existen&lt;br /&gt;muchas.  este archivo lo guardamos en la carpeta js que creamos en&lt;br /&gt;nuestro proyecto , asi de simple es.&lt;br /&gt;&lt;br /&gt;y ahora trabajamos como uno lo hace con javascript , pero tenemos&lt;br /&gt;que definir nuestro jquery en el codigo.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;%@page pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&lt;br /&gt;&lt;br /&gt;  "http://www.w3.org/TR/html4/loose.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;script src="js/jquery-1.3.1.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;          $(document).ready(function() {&lt;br /&gt;&lt;br /&gt;alert("CARGADO");&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;       &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;title&amp;gt;JSP Page&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;h1&amp;gt;JSP Page&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;podemos ver en el codigo anterior un pequeño ejemplo&lt;br /&gt;de como implementar la libreria jquery en netbeans&lt;br /&gt;&lt;br /&gt;En el siguiente link podemos ver que podemos&lt;br /&gt;lograr con esta libreria , &lt;a href="http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html"&gt;ejemplos buenos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora vamos a dar un link de este ejemplo que esta muy bueno, la idea&lt;br /&gt;es comunicar jsp y jquery.  solamente date este link porque encontre&lt;br /&gt;muy bueno el ejemplo para empezar y la idea no es copiar, sino reutilizar&lt;br /&gt;codigo jejejej la idea es dar una manito a la comudidad java.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rekkeb.wordpress.com/2009/03/15/comunicar-jsp-y-jquery/"&gt;http://rekkeb.wordpress.com/2009/03/15/comunicar-jsp-y-jquery/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzJDj1eRanI/AAAAAAAAAZU/j96hb91zX28/s1600-h/ejemplo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 311px; height: 244px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SzJDj1eRanI/AAAAAAAAAZU/j96hb91zX28/s320/ejemplo.JPG" alt="" id="BLOGGER_PHOTO_ID_5418467584608660082" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;como el tema es interesante  creo que vamos a crear otra entrada sobre el tema, con unos ejemplos  mas interesantes.&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jquery.com/" class="urlextern" title="http://jquery.com/" rel="nofollow"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8666350497704357244?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8666350497704357244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8666350497704357244' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8666350497704357244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8666350497704357244'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/12/jquery-con-jsp.html' title='jquery con jsp'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SzI4kgBsrKI/AAAAAAAAAZE/zhBpjq7v1SQ/s72-c/jquery.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4888277397615160020</id><published>2009-11-24T12:07:00.000-08:00</published><updated>2009-11-24T12:39:38.052-08:00</updated><title type='text'>llamar un ejb desde un jsp</title><content type='html'>bueno llamar un ejb desde un servlet es sumamente facil y es una&lt;br /&gt;de las facilidades que nos proporciona la version ejb 3 , pero desde&lt;br /&gt;un jsp no es  lo mismo puesto que  hay que llamarlo mediante JNDI&lt;br /&gt;(igual no es complicado)&lt;br /&gt;&lt;br /&gt;primero vamos a crear nuestro ejb.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package ejb;&lt;br /&gt;&lt;br /&gt;import javax.ejb.Remote;&lt;br /&gt;&lt;br /&gt;@Remote&lt;br /&gt;public interface saludoRemote {&lt;br /&gt;&lt;br /&gt;public String saludo();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;&lt;br /&gt;package ejb;&lt;br /&gt;&lt;br /&gt;import javax.ejb.Stateless;&lt;br /&gt;&lt;br /&gt;@Stateless(name="saludoRemote")&lt;br /&gt;public class saludoBean implements saludoRemote {&lt;br /&gt;&lt;br /&gt;public String saludo() {&lt;br /&gt;&lt;br /&gt;    return "hola desde ejb";&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;asi nos queda el proyecto&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sww_2G_asoI/AAAAAAAAAY0/GcbkXNNkRAo/s1600/ejb.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 218px; height: 244px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sww_2G_asoI/AAAAAAAAAY0/GcbkXNNkRAo/s320/ejb.JPG" alt="" id="BLOGGER_PHOTO_ID_5407767451387212418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ahora vamos a nuestro proyecto web&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwxBfdjM7tI/AAAAAAAAAY8/KBOaaH8FCQI/s1600/llamado.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 253px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwxBfdjM7tI/AAAAAAAAAY8/KBOaaH8FCQI/s320/llamado.JPG" alt="" id="BLOGGER_PHOTO_ID_5407769261329149650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;bueno desde un servlet solamente  tenemos que llamarlo mediante&lt;br /&gt;la opcion del boton derecho  insert code-&gt;call enterprise bean&lt;br /&gt;y seleccionamos nuestro ejb y nos genera el siguiente codigo&lt;br /&gt;&lt;br /&gt;   @EJB&lt;br /&gt;    private saludoRemote saludoBean;&lt;br /&gt;&lt;br /&gt;el @EJB  nos ahorra utilizar jndi,  ademas este llamado tiene&lt;br /&gt;que ser afuera de cualquier metodo de la clase servlet.&lt;br /&gt;&lt;br /&gt;otra observacion que encontre en la red es la implementacion&lt;br /&gt;distinta en el servidor glassfish  y JBoss en el momento de ocupar&lt;br /&gt;lookup en distintos servidores.&lt;br /&gt;&lt;br /&gt;ejemplo:  para jboss&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New,Courier,mono;"&gt;Context context = new InitialContext();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New,Courier,mono;"&gt;        HelloWorld helloWorld = (HelloWorld) context.lookup(&lt;span style="font-weight: bold;"&gt;"HelloWorldBean/remote"&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ejemplo: para glassfish&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-family: Courier New,Courier,mono;"&gt;    Context context = new InitialContext();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New,Courier,mono;"&gt;        HelloWorld helloWorld = (HelloWorld) context.lookup(&lt;span style="font-weight: bold;"&gt;HelloWorld.class.getName()&lt;/span&gt;);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4888277397615160020?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4888277397615160020/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4888277397615160020' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4888277397615160020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4888277397615160020'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/11/llamar-un-ejb-desde-un-jsp.html' title='llamar un ejb desde un jsp'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/Sww_2G_asoI/AAAAAAAAAY0/GcbkXNNkRAo/s72-c/ejb.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2506211122561707424</id><published>2009-11-19T13:51:00.000-08:00</published><updated>2009-11-19T14:19:17.973-08:00</updated><title type='text'>Struts 1.x   y Struts 2.x</title><content type='html'>los cambios que podemos encontrar entre estas dos&lt;br /&gt;versiones son  muy importantes, como primera impresion&lt;br /&gt;puede decir que no es la misma. Las principales diferencias&lt;br /&gt;son :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="1." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Servlet Dependency:" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Dependencia del Servlet :&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Actions in Struts1 have dependencies on the servlet API since the HttpServletRequest and HttpServletResponse objects are passed to the execute method when an Action is invoked but in case of Struts 2, Actions are not container dependent because they are made simple POJOs." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Las acciones en Struts1 tienen dependencias con el  servlet&lt;br /&gt;( HttpServletRequest y HttpServletResponse)  estos objetos&lt;br /&gt; se pasan al método de ejecución,  en  Struts 2, "Acciones no son&lt;br /&gt;dependientes de contenedores porque están hechos POJOs simple.&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="In struts 2, the servlet contexts are represented as simple Maps which allows actions to be tested in isolation." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;En Struts 2, los contextos de servlets son representados como&lt;br /&gt;mapas sencillos, tambien &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts 2 Actions can access the original request and response, if required." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; las acciones se puede acceder a la&lt;br /&gt;solicitud original&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Acction class&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="2." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Action classes" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Programming the abstract classes instead of interfaces is one of design issues of struts1 framework that has been resolved in the struts 2 framework." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;Se soluciono el problema de las clases abstractas en Struts 2, en&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts1 Action classes needs to extend framework dependent abstract base class." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Struts1 la clase de accion  necesita ampliar el marco puesto que&lt;br /&gt;depende de la clase base abstracta. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="But in case of Struts 2 Action class may or may not implement interfaces to enable optional and custom services." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Pero en el caso de Struts 2,&lt;br /&gt;la  clase de acción puede  implementar interfaces&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="In case of Struts 2 , Actions are not container dependent because they are made simple POJOs." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;En el caso de Struts 2, "Acciones no son dependientes de contenedores&lt;br /&gt;porque están hechos POJOs simple. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts 2 provides a base ActionSupport class to implement commonly used interfaces." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Struts 2 proporciona una&lt;br /&gt;clase ActionSupport base para implementar interfaces de uso común.&lt;br /&gt;&lt;/span&gt;&lt;span title="Albeit, the Action interface is not required." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Si bien, la interfaz de acción no es necesario. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Any POJO object with an execute signature can be used as an Struts 2 Action object." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Cualquier objeto POJO&lt;br /&gt;con una ejecución de la firma puede ser utilizado como un&lt;br /&gt;objeto de 2 Struts Acción.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="3." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Validation" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Validación&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts1 and Struts 2 both supports the manual validation via a validate method." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;En las dos versiones podemos hacer validaciones manuales, en&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts1 uses validate method on the ActionForm, or validates through an extension to the Commons Validator." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Struts1  se utiliza  el método de la ActionForm, o valida a través&lt;br /&gt;de una ampliación de la Validator Commons. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="However, Struts 2 supports manual validation via the validate method and the XWork Validation framework." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Sin embargo, Struts 2,&lt;br /&gt;Se utuliza el marco de validación XWork. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="The Xwork Validation Framework supports chaining validation into sub-properties using the validations defined for the properties class type and the validation context." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;El marco de validación Xwork&lt;br /&gt;apoya el encadenamiento de validación. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="4." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Threading Model" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Modelo de subprocesos&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="In Struts1, Action resources must be thread-safe or synchronized." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;En Struts1, los recursos de acción deben ser flujos seguros o sincronizada. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="So Actions are singletons and thread-safe, there should only be one instance of a class to handle all requests for that Action." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;Lo que las acciones son únicos y multi-hilo, &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="The singleton strategy places restrictions on what can be done with Struts1 Actions and requires extra care to develop." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;El patron de diseño Singleton se&lt;br /&gt;impone, &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="However in case of Struts 2, Action objects are instantiated for each request, so there are no thread-safety issues." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; en caso de Struts 2, los objetos se crean instancias de acción para&lt;br /&gt;cada solicitud, así que no hay hilo( esto genera menos impacto)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="5." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Testability" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Comprobabilidad&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Testing Struts1 applications are a bit complex." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Prueba de aplicaciones Struts1 son un poco complejo&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="A major hurdle to test Struts1 Actions is that the execute method because it exposes the Servlet API." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="A third-party extension, Struts TestCase, offers a set of mock object for Struts1." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;, &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="But the Struts 2 Actions can be tested by instantiating the Action, setting properties and invoking methods." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;pero Struts 2&lt;br /&gt;Las acciones pueden ser probados.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="6." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Harvesting Input" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; recolección de entrada&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts1 uses an ActionForm object to capture input." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Struts1 utiliza un objeto ActionForm para captar de entrada. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="And all ActionForms needs to extend a framework dependent base class." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;Y todos ActionForms necesita extender un marco de base&lt;br /&gt;dependientes de clase. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="JavaBeans cannot be used as ActionForms, so the developers have to create redundant classes to capture input." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;JavaBeans no puede ser utilizado como&lt;br /&gt;ActionForms, por lo que los desarrolladores tienen que crear&lt;br /&gt;clases redundantes para captar de entrada.&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="However Struts 2 uses Action properties (as input properties independent of underlying framework) that eliminates the need for a second input object, hence reduces redundancy." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Sin embargo Struts 2 utiliza las propiedades de acción (como las&lt;br /&gt;propiedades de entrada independiente de la estructura subyacente)&lt;br /&gt;que elimina la necesidad de un objeto, por lo tanto reduce la&lt;br /&gt;redundancia.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Additionally in struts2, Action properties can be accessed from the web page via the taglibs." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Además, en struts2, las propiedades de acción se puede acceder desde&lt;br /&gt;la página web a través de la taglibs. &lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Struts 2 also supports the ActionForm pattern, as well as POJO form objects and POJO Actions." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;Struts 2 también soporta el patrón&lt;br /&gt;ActionForm, así como objetos de formulario POJO y Acciones POJO.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bueno  existen mas diferencias pero considero que estas son las mas&lt;br /&gt;importantes , despues cuando me maneje mas y encuentre que falta otro&lt;br /&gt;modificare  estos puntos.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2506211122561707424?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2506211122561707424/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2506211122561707424' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2506211122561707424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2506211122561707424'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/11/struts-1x-y-struts-2x.html' title='Struts 1.x   y Struts 2.x'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2011806017413810511</id><published>2009-11-19T04:20:00.000-08:00</published><updated>2009-11-19T05:05:34.736-08:00</updated><title type='text'>Proyecto Strust en Netbeans</title><content type='html'>Para empezar a desarrollar en Struts, primero tenemos que&lt;br /&gt;empezar con los conceptos basicos.&lt;br /&gt;&lt;br /&gt;1.- primero vamos a crear nuestro proyecto en netbeans&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SwU6RqS1iYI/AAAAAAAAAYU/Bhp-NDxROgM/s1600/proyecto+struts.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 186px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SwU6RqS1iYI/AAAAAAAAAYU/Bhp-NDxROgM/s320/proyecto+struts.JPG" alt="" id="BLOGGER_PHOTO_ID_5405791002813630850" border="0" /&gt;&lt;/a&gt;En esta ultima ventana encontramos lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Action Servlet name :&lt;/span&gt;  Aqui encontramos &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;el descriptor de&lt;br /&gt;despliegue &lt;code&gt;web.xml,&lt;/code&gt; contiene una entrada para el servlet de&lt;br /&gt;acción y especifica el  Struts y sus parámetros específicos,&lt;br /&gt;como la ruta de acceso a la clase servlet dentro de la biblioteca&lt;br /&gt;Struts y el &lt;code&gt;struts-config.xml&lt;/code&gt; de configuración.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Action Url Pattern :&lt;/span&gt; &lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; Especifica los patrones de las solicitudes&lt;br /&gt;de entrada que se asignan a la controladora de acciones de Struts&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Aplication Resource:&lt;/span&gt; Especifica los paquetes que seran utilizados&lt;br /&gt;por struts-config.xml&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add struts TLDs:&lt;/span&gt; &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Le permite generar descriptores de&lt;br /&gt;biblioteca de etiquetas,&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; Un descriptor de biblioteca de etiquetas es&lt;br /&gt;un documento XML que contiene información adicional.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bueno ahora generado el proyecto encontramos  lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwU9PEAA65I/AAAAAAAAAYc/2jO5fgYdL3o/s1600/estructura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 236px; height: 320px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwU9PEAA65I/AAAAAAAAAYc/2jO5fgYdL3o/s320/estructura.JPG" alt="" id="BLOGGER_PHOTO_ID_5405794256709282706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;aqui podemos  ver que tenemos el archivo config-struts.xml , este&lt;br /&gt;archivo es donde vamos a guardar nuestras configuraciones, con un&lt;br /&gt;un formato xml, aqui podemos confgurar el action-mappings, form-beans&lt;br /&gt;y muchas cosas mas.&lt;form-beans&gt;&lt;/form-beans&gt;&lt;br /&gt;&lt;action-mappings&gt;     &lt;/action-mappings&gt;&lt;br /&gt;Este archivo de configuracion es el cordinador de nuestro proyecto.&lt;br /&gt;&lt;br /&gt;tambien podemos ver el archivo : ApplicationResource.propierties,&lt;br /&gt;este archivo vamos a guardar propiedades que seran llamadas&lt;br /&gt;mediente la implementacion de nuestro proyecto, ej:&lt;br /&gt;&lt;br /&gt;errors.usuario= La variable usuario ingresada no corresponde.&lt;br /&gt;&lt;br /&gt;bueno existen mas archivos y los podemos apreciar, pero solamente&lt;br /&gt;estamos empezando.&lt;br /&gt;&lt;br /&gt;Otro proceso muy importante en el desarrollo de nuestro proyecto&lt;br /&gt;es crear los ActionFormbeans y los Action estos lo podemos encontrar&lt;br /&gt; aqui:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwU_r4DRQjI/AAAAAAAAAYk/nJg-ggLRcmQ/s1600/action+y+beans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 246px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SwU_r4DRQjI/AAAAAAAAAYk/nJg-ggLRcmQ/s320/action+y+beans.JPG" alt="" id="BLOGGER_PHOTO_ID_5405796950741172786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para finalizar y entender mejor  este framework, podemos apreciar&lt;br /&gt;en la siguiente figura  como es el comportamiento  de nuestro&lt;br /&gt;futuro proyecto.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SwVAQoqzs1I/AAAAAAAAAYs/roKff5lHkIg/s1600/arquitectura+struts.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 215px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SwVAQoqzs1I/AAAAAAAAAYs/roKff5lHkIg/s320/arquitectura+struts.JPG" alt="" id="BLOGGER_PHOTO_ID_5405797582267200338" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2011806017413810511?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2011806017413810511/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2011806017413810511' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2011806017413810511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2011806017413810511'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/11/proyecto-strust-en-netbeans.html' title='Proyecto Strust en Netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SwU6RqS1iYI/AAAAAAAAAYU/Bhp-NDxROgM/s72-c/proyecto+struts.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-147042739909812842</id><published>2009-10-13T06:59:00.000-07:00</published><updated>2009-10-14T07:05:45.161-07:00</updated><title type='text'>Entender mejor la libreria JPA de J2EE</title><content type='html'>Bueno antes en el ejemplo de JPA en netbeans mostre un&lt;br /&gt;ejemplo muy sencillo del uso de esta libreria, pero es necesario&lt;br /&gt;entrar a entender mejor esta libreria, puesto que en la realidad&lt;br /&gt;no nos enfrentaremos a ejemplos sencillos.&lt;br /&gt;&lt;br /&gt;encontre este video para compartir, ademas otros link interesantes sobre&lt;br /&gt;el tema.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="460" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/nzFIzIQyoCA&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/nzFIzIQyoCA&amp;amp;hl=es&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="460" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;y ademas unos buenos link para poder entrar mas en detalle.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javadabbadoo.org/cursos/infosintesis.net/javaee/implementarJPA/consultarUsuariosVWJSF/index.html"&gt;http://www.javadabbadoo.org/cursos/infosintesis.net/javaee/implementarJPA/consultarUsuariosVWJSF/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaguicodexample.com/javavisualwebdatabaseappdev.html"&gt;http://www.javaguicodexample.com/javavisualwebdatabaseappdev.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://schuchert.wikispaces.com/JPA+Tutorial+1+-+Getting+Started"&gt;http://schuchert.wikispaces.com/JPA+Tutorial+1+-+Getting+Started&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.pragmasoftware.com.mx/wikijava/en/Special:History?topicVersionId=100&amp;amp;topic=Java_Persistance_API"&gt;http://java.pragmasoftware.com.mx/wikijava/en/Special:History?topicVersionId=100&amp;amp;topic=Java_Persistance_API&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/software-tutorials/detail/24071"&gt;http://www.roseindia.net/software-tutorials/detail/24071&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/ias/toplink/jpa/examples/jsf-jpa-example.html"&gt;http://www.oracle.com/technology/products/ias/toplink/jpa/examples/jsf-jpa-example.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/60/web/jsf-jpa-crud-part1.html"&gt;http://www.netbeans.org/kb/60/web/jsf-jpa-crud-part1.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/5/docs/tutorial/doc/bnbpz.html"&gt;http://java.sun.com/javaee/5/docs/tutorial/doc/bnbpz.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://luchorondon.blogspot.com/2009/04/jpa-java-persistence-api.html"&gt;http://luchorondon.blogspot.com/2009/04/jpa-java-persistence-api.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;un link para trabajar en eclipse&lt;br /&gt;&lt;a href="http://wiki.eclipse.org/EclipseLink/Examples/JPA"&gt;http://wiki.eclipse.org/EclipseLink/Examples/JPA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;tambien existe el concepto de relacion entre las entidades&lt;br /&gt;&lt;br /&gt;&lt;a href="http://es.debugmodeon.com/articulo/relaciones-en-jpa"&gt;http://es.debugmodeon.com/articulo/relaciones-en-jpa&lt;/a&gt;&lt;a href="http://www.roseindia.net/jpa/eclipsejpaexamples/jparelationship/index.shtml"&gt;&lt;br /&gt;http://www.roseindia.net/jpa/eclipsejpaexamples/jparelationship/index.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-147042739909812842?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/147042739909812842/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=147042739909812842' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/147042739909812842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/147042739909812842'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/10/entender-mejor-la-libreria-jpa-de-j.html' title='Entender mejor la libreria JPA de J2EE'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5345760160643762136</id><published>2009-10-05T09:40:00.000-07:00</published><updated>2009-11-05T16:56:06.819-08:00</updated><title type='text'>manejo de table en jsf con hibernate</title><content type='html'>bueno este ejemplo es muy sencillo, vamos a llenar&lt;br /&gt;una tabla de visual web de netbeans con los datos&lt;br /&gt;de una tabla de base de datos.&lt;br /&gt;&lt;br /&gt;primero tenemos que generar a configuracion de hibernate&lt;br /&gt;con jsf(el cual se puede ver en &lt;a href="http://ungranoparajava.blogspot.com/2009/10/jsp-con-framework-hibernate.html"&gt;http://ungranoparajava.blogspot.com/2009/10/jsp-con-framework-hibernate.html&lt;/a&gt;) y ademas tenemos que agregar&lt;br /&gt;como framework el visual web.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsouAM3w47I/AAAAAAAAAX8/biXt4XlNaN8/s1600-h/empre.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5389170485092213682" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: pointer; HEIGHT: 254px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsouAM3w47I/AAAAAAAAAX8/biXt4XlNaN8/s320/empre.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;aqui tenemos que tener en cuenta que ocuparemos Query y no&lt;br /&gt;SQLquery, porque tenemos que ocuapar hql que corresponde al&lt;br /&gt;primero que mencionamos, porque estamos trabajando con objetos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;despues en el metodo init añadimos la llamada&lt;br /&gt;al metodo mostrarEmpresa()&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void init() {&lt;br /&gt;&lt;br /&gt;super.init();&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;_init();&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;log("SessionBean1 Initialization Failure", e);&lt;br /&gt;throw e instanceof FacesException ? (FacesException) e: new FacesException(e);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;mostrarEmpresa();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;la clase Empresa la encontramos aqui, que es la representacion&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsoxX8Q1L0I/AAAAAAAAAYE/fRx_zH6qOX0/s1600-h/archivos.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5389174191485693762" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 230px; CURSOR: pointer; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsoxX8Q1L0I/AAAAAAAAAYE/fRx_zH6qOX0/s320/archivos.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;luego en la tabla buscamos la propiedad table layout&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsoyhftEsLI/AAAAAAAAAYM/5T7G8Xow2vA/s1600-h/layout.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5389175455129841842" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 254px; CURSOR: pointer; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsoyhftEsLI/AAAAAAAAAYM/5T7G8Xow2vA/s320/layout.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5345760160643762136?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5345760160643762136/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5345760160643762136' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5345760160643762136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5345760160643762136'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/10/table-de-jsf-e-hinbernate.html' title='manejo de table en jsf con hibernate'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SsouAM3w47I/AAAAAAAAAX8/biXt4XlNaN8/s72-c/empre.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6615094122252064073</id><published>2009-10-02T11:53:00.000-07:00</published><updated>2009-10-13T09:32:18.997-07:00</updated><title type='text'>hibernate parte 2</title><content type='html'>En el ejemplo anterior vimos como se configura un proyecto jsp&lt;br /&gt;y el framewor Hibernate, pero nos falto ver como guardar( insert)&lt;br /&gt;en la base de datos, este proceso es muy sencillo y lo vamos a realizar&lt;br /&gt;de la siguiente manera:&lt;br /&gt;&lt;br /&gt;en la clase: consulta_empresa creamos un metodo guardar empresa&lt;br /&gt;&lt;br /&gt;public String guardar_empresa(Empresa em){&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     try {&lt;br /&gt;      org.hibernate.Transaction tx = session.beginTransaction();&lt;br /&gt;      session.save(em);&lt;br /&gt;&lt;br /&gt;      tx.commit();&lt;br /&gt;      return "Empresa guardada";&lt;br /&gt;&lt;br /&gt;  } catch (Exception e) {&lt;br /&gt;      e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; return "Error";&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;el tipo que retorna el metodo lo podemos dejar como nos mas&lt;br /&gt;nos acomode, pero lo importate es que pasamos un objeto tipo&lt;br /&gt;empresa que esta setiados sus parametros con los set que posee&lt;br /&gt;este objeto que ya lo creamos  y que es la representacion de la&lt;br /&gt;de la tabla de la base de datos.&lt;br /&gt;&lt;br /&gt;la clase consulta_empresa posee lo siguiente.&lt;br /&gt;&lt;br /&gt;Session session = null;&lt;br /&gt;&lt;br /&gt;  public consulta_empresa() {&lt;br /&gt;      this.session = NewHibernateUtil.getSessionFactory().getCurrentSession();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;y el newHibernateUtil es la clase que creamos anteriormente&lt;br /&gt;(para entender bien es necesario ver el articulo anterior)&lt;br /&gt;&lt;br /&gt;este es el codigo que tengo en una pagina jsp para poder llamar&lt;br /&gt;el metodo guardar_empresa.&lt;br /&gt;&lt;%          if(request.getParameter("guardar")!=null){            out.println("nombre: "+request.getParameter("nombre"));            Empresa e=new Empresa();           e.setNombre(""+request.getParameter("nombre"));           e.setDireccion(""+request.getParameter("direccion"));           e.setRut(""+request.getParameter("rut"));            consulta_empresa co=new consulta_empresa();           String respuesta;           respuesta=co.guardar_empresa(e);           out.println("br ");           out.println("center "+respuesta+" /center");          }          %&gt;&lt;br /&gt;&lt;br /&gt;Como paso siguiente es entrar a entender mejor el lenguaje que tiene&lt;br /&gt;Hibernate HQL.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/Code/Java/Hibernate/CatalogHibernate.htm"&gt;http://www.java2s.com/Code/Java/Hibernate/CatalogHibernate.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.acsinet-solutions.com/es/tutoriales/hibernate/01-mapeo_sencillo.html"&gt;http://www.acsinet-solutions.com/es/tutoriales/hibernate/01-mapeo_sencillo.html&lt;/a&gt;&lt;br /&gt;        &lt;center&gt;&lt;h4 style="text-align: left;" class="style22v"&gt;&lt;span style="font-size:85%;"&gt;Mapeo Sencillo con Configuración Básica de Spring Framework:&lt;a href="http://www.acsinet-solutions.com/es/tutoriales/hibernate/02-mapeo_sencillo.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4 style="text-align: left;" class="style22v"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.acsinet-solutions.com/es/tutoriales/hibernate/02-mapeo_sencillo.html"&gt;http://www.acsinet-solutions.com/es/tutoriales/hibernate/02-mapeo_sencillo.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/h4&gt;  &lt;/center&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6615094122252064073?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6615094122252064073/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6615094122252064073' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6615094122252064073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6615094122252064073'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/10/hibernate-parte-2.html' title='hibernate parte 2'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8951856049769986875</id><published>2009-10-01T09:44:00.000-07:00</published><updated>2009-10-01T10:49:11.735-07:00</updated><title type='text'>JSP con Framework Hibernate</title><content type='html'>Hibernate es una herramienta que realiza el &lt;i&gt;mapping&lt;/i&gt; entre el mundo&lt;br /&gt;orientado a objetos de las aplicaciones y el mundo entidad-relación de&lt;br /&gt;las bases de datos en entornos Java.  El término utilizado es ORM&lt;br /&gt;(object/relational mapping) y consiste en la técnica de realizar la&lt;br /&gt;transición de una representación de los datos de un modelo relacional&lt;br /&gt;a un modelo orientado a objetos y viceversa. &lt;p&gt;Hibernate no solo realiza esta esta transformación sino que nos                                                        proporciona                           capacidades para la obtención y almacenamiento de                                                      datos de la base de                                      datos que nos reducen el tiempo de desarrollo.&lt;/p&gt;&lt;p&gt;la estructura de este framework la podemos ver en un  articulo                                                                                                                   de mi blog :&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://ungranoparajava.blogspot.com/2009/06/arquitectura-de-la-persistencia.html"&gt;http://ungranoparajava.blogspot.com/2009/06/arquitectura-de-la-persistencia.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;vamos a ver un pequeño ejemplo de este framework con jsp y como                                             siempre con el IDE Netbeans&lt;/p&gt;&lt;p&gt;1.- creamos nuestro proyecto web&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTmatPVg8I/AAAAAAAAAWM/qGvzBoN6AOc/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTmatPVg8I/AAAAAAAAAWM/qGvzBoN6AOc/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684400736863170" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2.- asignamos el nombre , next y seleccionamos el framework hibernate                                           y ademas la base de dato que vamos a trabajar&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTmhE_KrJI/AAAAAAAAAWU/BRivJm2SUR4/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTmhE_KrJI/AAAAAAAAAWU/BRivJm2SUR4/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684510190709906" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2.1- la base de dato tiene que estar registrada, como lo podemos ver en la figura&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTmnEFxztI/AAAAAAAAAWc/G1SZ0g0_gQM/s1600-h/tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 309px; height: 318px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTmnEFxztI/AAAAAAAAAWc/G1SZ0g0_gQM/s320/tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684613029220050" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;3.- añadimos estas dos configuraciones que se ven en la figura en el archivo                           hibernate.cfg.xml&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTmrK8nVnI/AAAAAAAAAWk/Mq6USKpn0f0/s1600-h/cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTmrK8nVnI/AAAAAAAAAWk/Mq6USKpn0f0/s320/cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684683589310066" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTmutYs5XI/AAAAAAAAAWs/M6UNQGxXD-Y/s1600-h/cinco.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 171px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTmutYs5XI/AAAAAAAAAWs/M6UNQGxXD-Y/s320/cinco.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684744373527922" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;la configuracion se puede ver en el formato de xml, es aqui donde se guardan&lt;br /&gt;las configuraciones  del framework.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTm4qPHrhI/AAAAAAAAAW0/GYSNJtYJHdQ/s1600-h/seis.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 78px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTm4qPHrhI/AAAAAAAAAW0/GYSNJtYJHdQ/s320/seis.JPG" alt="" id="BLOGGER_PHOTO_ID_5387684915326725650" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;4.- vamos a crear los objetos relacionados a la base de dato que seleccionamos&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTm-5CAIpI/AAAAAAAAAW8/nQS13VhYhkc/s1600-h/siete.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 210px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTm-5CAIpI/AAAAAAAAAW8/nQS13VhYhkc/s320/siete.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685022377452178" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTnDs4QuAI/AAAAAAAAAXE/-onqwcqV6Kc/s1600-h/ocho.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 211px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTnDs4QuAI/AAAAAAAAAXE/-onqwcqV6Kc/s320/ocho.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685105014716418" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;5.- ahora los generamos los hbm.xml de cada tabla que se encuentra                                     relacionado con un objeto de tipo beans&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SsTnHtL2rOI/AAAAAAAAAXM/22xo0izAacc/s1600-h/nueve.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 211px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SsTnHtL2rOI/AAAAAAAAAXM/22xo0izAacc/s320/nueve.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685173816372450" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTnNMZ1IxI/AAAAAAAAAXU/IGpQlJ6gU5M/s1600-h/diez.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTnNMZ1IxI/AAAAAAAAAXU/IGpQlJ6gU5M/s320/diez.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685268095836946" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;5.1 asi nos queda el proyecto&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTnTAQjCuI/AAAAAAAAAXc/8pzql6Cqp7E/s1600-h/once.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 178px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTnTAQjCuI/AAAAAAAAAXc/8pzql6Cqp7E/s320/once.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685367914892002" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;6.- generamos la clase newhibernateUtil&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTnXXUIL9I/AAAAAAAAAXk/XwLX492UbNI/s1600-h/doce.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SsTnXXUIL9I/AAAAAAAAAXk/XwLX492UbNI/s320/doce.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685442823401426" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;7.- generamos una clase: consulta_empresa, la cual consta de un contructor y                            metodo que entrega una Query (obs: hibernate ocupa HQL para realizar consultas)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SsTnc_zNGDI/AAAAAAAAAXs/P0cPittfx3Q/s1600-h/trece.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 259px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SsTnc_zNGDI/AAAAAAAAAXs/P0cPittfx3Q/s320/trece.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685539590510642" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;8.- ahora vamos a nuestro index e insertamos este codigo bien sencillo&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTngNJeEEI/AAAAAAAAAX0/ZTW0Jc4kMoM/s1600-h/catorce.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 254px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SsTngNJeEEI/AAAAAAAAAX0/ZTW0Jc4kMoM/s320/catorce.JPG" alt="" id="BLOGGER_PHOTO_ID_5387685594713165890" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;para mayor informacion &lt;a href="https://www.hibernate.org/"&gt;https://www.hibernate.org/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8951856049769986875?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8951856049769986875/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8951856049769986875' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8951856049769986875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8951856049769986875'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/10/jsp-con-framework-hibernate.html' title='JSP con Framework Hibernate'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SsTmatPVg8I/AAAAAAAAAWM/qGvzBoN6AOc/s72-c/uno.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8724485513081793300</id><published>2009-09-24T09:50:00.000-07:00</published><updated>2009-09-26T15:20:32.304-07:00</updated><title type='text'>JPA hibernate en netbeans</title><content type='html'>quiero dar una introduccion y ejemplo simple de como&lt;br /&gt;implementar esta tecnologia,  simpre recomiendo leer&lt;br /&gt;un poco, porque si no vamos a dar puro jugo al intentar&lt;br /&gt;de implementar estas tecnologias.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntulife.wordpress.com/2008/10/20/introduccion-a-jpa-java-persistence-api/"&gt;http://ubuntulife.wordpress.com/2008/10/20/introduccion-a-jpa-java-persistence-api/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/jamslug/introduccin-a-java-persistence-api"&gt;http://www.slideshare.net/jamslug/introduccin-a-java-persistence-api&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.softwarelibre.net/ibatis_hibernate_y_jpa_%C2%BFcu%C3%A1l_es_el_que_tu_necesitas"&gt;http://www.softwarelibre.net/ibatis_hibernate_y_jpa_%C2%BFcu%C3%A1l_es_el_que_tu_necesitas&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/software-tutorials/detail/24071"&gt;http://www.roseindia.net/software-tutorials/detail/24071&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/tutorialsearch/?t=jpa&amp;amp;image.x=0&amp;amp;image.y=0"&gt;http://www.roseindia.net/tutorialsearch/?t=jpa&amp;amp;image.x=0&amp;amp;image.y=0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;bueno en el siguiente link tenemos un ejemplo&lt;br /&gt;muy bueno pero con ejb&lt;br /&gt;&lt;a href="http://nachxs.wordpress.com/2009/04/28/tutorial-ejb-persistencia-y-postgresql-en-netbeans-65/"&gt;http://nachxs.wordpress.com/2009/04/28/tutorial-ejb-persistencia-y-postgresql-en-netbeans-65/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pero yo lo voy hacer sin un ejb&lt;br /&gt;&lt;br /&gt;1: en nuestro proyecto web&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SruqzQAVmaI/AAAAAAAAAVk/eXw63NF_Tc8/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 75px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SruqzQAVmaI/AAAAAAAAAVk/eXw63NF_Tc8/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5385085576897993122" border="0" /&gt;&lt;/a&gt;2:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrurduGNL-I/AAAAAAAAAVs/pF3fEIf7t5I/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 313px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrurduGNL-I/AAAAAAAAAVs/pF3fEIf7t5I/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5385086306530176994" border="0" /&gt;&lt;/a&gt;3:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Srur__k0_VI/AAAAAAAAAV0/gyvvaUkWtzE/s1600-h/tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Srur__k0_VI/AAAAAAAAAV0/gyvvaUkWtzE/s320/tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5385086895337569618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Luego next, next&lt;br /&gt;&lt;br /&gt;4: en nuestro nuevo servlet&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrussbEbv_I/AAAAAAAAAV8/Ob41alzPaK4/s1600-h/cua.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 303px; height: 320px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrussbEbv_I/AAAAAAAAAV8/Ob41alzPaK4/s320/cua.JPG" alt="" id="BLOGGER_PHOTO_ID_5385087658632134642" border="0" /&gt;&lt;/a&gt;ahora tenemos este codigo medular&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrutC0JA4uI/AAAAAAAAAWE/Q_R9TbmRwjE/s1600-h/codi.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 91px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrutC0JA4uI/AAAAAAAAAWE/Q_R9TbmRwjE/s320/codi.JPG" alt="" id="BLOGGER_PHOTO_ID_5385088043319354082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;en este codigo vamos  ingresar datos a nuestra base de datos&lt;br /&gt;&lt;br /&gt;-&gt; dentro de nuestro servlet ingresamos el siguiente codigo&lt;br /&gt; &lt;br /&gt;         Empresa e=new Empresa();&lt;br /&gt;&lt;br /&gt;          e.setNombre("el mejor");&lt;br /&gt;          e.setDireccion("santiago");&lt;br /&gt;          e.setRut("1111");&lt;br /&gt;          persist(e); // llamamos a nuestro codigo anterior&lt;br /&gt;&lt;br /&gt;recordar que las entidades son las representaciones de tipo beans de&lt;br /&gt;nuestras tablas de nuestra base de dato&lt;br /&gt;&lt;br /&gt;y por ultimo para recuperar informacion tenemos que ocupar&lt;br /&gt;&lt;code&gt;&lt;span style="font-family:verdana;"&gt;el objeto Query q = em.createNativeQuery....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;todo este proceso es muy parecido al codigo mostrado en&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;la foto y para recorrerlo ocuparemos la coleccion List&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8724485513081793300?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8724485513081793300/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8724485513081793300' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8724485513081793300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8724485513081793300'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/09/jpa-hibernate-en-netbeans.html' title='JPA hibernate en netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SruqzQAVmaI/AAAAAAAAAVk/eXw63NF_Tc8/s72-c/uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3862813814624844800</id><published>2009-09-22T19:14:00.000-07:00</published><updated>2009-09-22T20:00:05.719-07:00</updated><title type='text'>datasource en jsp</title><content type='html'>bueno este ejemplo es muy similar a uno hecho con un servlet,&lt;br /&gt;pero no tiene unas diferencias, los pasos son los siguientes&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SrmE52NQLbI/AAAAAAAAAU0/3jhD-9jrjkM/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SrmE52NQLbI/AAAAAAAAAU0/3jhD-9jrjkM/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5384480958836649394" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrmFCBQalZI/AAAAAAAAAU8/oc2VwqZvuqE/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 269px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrmFCBQalZI/AAAAAAAAAU8/oc2VwqZvuqE/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5384481099241657746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SrmFIyF4LzI/AAAAAAAAAVE/5pVLVK01r2I/s1600-h/tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 228px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SrmFIyF4LzI/AAAAAAAAAVE/5pVLVK01r2I/s320/tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5384481215430012722" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrmFPLxZlAI/AAAAAAAAAVM/7sjmQ2xuQ_c/s1600-h/cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 245px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SrmFPLxZlAI/AAAAAAAAAVM/7sjmQ2xuQ_c/s320/cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5384481325402657794" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrmFVrycwmI/AAAAAAAAAVU/RFWMNbt-AXk/s1600-h/cinco.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 167px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SrmFVrycwmI/AAAAAAAAAVU/RFWMNbt-AXk/s320/cinco.JPG" alt="" id="BLOGGER_PHOTO_ID_5384481437076210274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SrmFdKvE3_I/AAAAAAAAAVc/uV5-75M0E1s/s1600-h/seis.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 243px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SrmFdKvE3_I/AAAAAAAAAVc/uV5-75M0E1s/s320/seis.JPG" alt="" id="BLOGGER_PHOTO_ID_5384481565642645490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;como siempre unos link que nos ayudara a entender mejor  datasource&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/datasource.html"&gt;http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/datasource.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://doc.postgresintl.com/jdbc/ch11.html"&gt;http://doc.postgresintl.com/jdbc/ch11.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html"&gt;http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/sql/DataSource.html"&gt;http://java.sun.com/j2se/1.4.2/docs/api/javax/sql/DataSource.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3862813814624844800?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3862813814624844800/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3862813814624844800' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3862813814624844800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3862813814624844800'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/09/datasource-en-jsp.html' title='datasource en jsp'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SrmE52NQLbI/AAAAAAAAAU0/3jhD-9jrjkM/s72-c/uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1254274078550512736</id><published>2009-09-22T18:23:00.000-07:00</published><updated>2009-09-22T18:50:28.478-07:00</updated><title type='text'>conexion BD en jsp y Datadriver</title><content type='html'>bueno esta es la conexion que corresponde a la plataforma J2SE y es la&lt;br /&gt;mas sencilla, pero no es la mas recomendada para j2ee, puesto que&lt;br /&gt;para muchas conexiones simultaneas tiene un comportamiento muy&lt;br /&gt;lento y aunque se podria mejorar con un patron de diseño como un&lt;br /&gt;singleton, que en general lo implemento en una aplicacion de&lt;br /&gt;escritorio de java, la idea seria ocupar las propierdades que nos&lt;br /&gt;proporciona el contenedor web, el cual nos puede proporcionar una&lt;br /&gt;conexion de tipo pool. ( como funciona un pool de conexion lo explico&lt;br /&gt;en un articulo anterior)&lt;br /&gt;&lt;br /&gt;para una aplicacion de  pocas conexiones  unas 3 , 5 o 7&lt;br /&gt;el siguiente ejemplo considero que puede ser bueno, y lo mas importante&lt;br /&gt;que no tiene un gran impacto de pasar de j2se a j2ee.&lt;br /&gt;&lt;br /&gt;&lt;%@ page import="java.sql.*" %&gt;&lt;br /&gt;&lt;%@ page import="java.io.*" %&gt;&lt;br /&gt;&lt;br /&gt;html&lt;br /&gt;head&lt;br /&gt;&lt;br /&gt;/head&lt;br /&gt;body&lt;br /&gt; h1 conexion postgres  /h1&lt;br /&gt;&lt;%&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;String connectionURL = "jdbc:postgresql://localhost/ejemplo";&lt;br /&gt;&lt;br /&gt;Connection connection = null;&lt;br /&gt;Class.forName("org.postgresql.Driver").newInstance();&lt;br /&gt;connection = DriverManager.getConnection(connectionURL, "postgres", "1234");&lt;br /&gt;&lt;br /&gt;Statement stat = connection.createStatement();&lt;br /&gt;String unsql="select * from empresa ";&lt;br /&gt;ResultSet respuesta= stat.executeQuery(unsql);&lt;br /&gt;&lt;br /&gt;while(respuesta.next()){&lt;br /&gt;&lt;br /&gt;out.println(""+respuesta.getString("nombre"));&lt;br /&gt;}&lt;br /&gt;respuesta.close();&lt;br /&gt;stat.close();&lt;br /&gt;connection.close();&lt;br /&gt;}catch(Exception e){&lt;br /&gt;&lt;br /&gt;    out.println("error conexion base de dato");}&lt;br /&gt;&lt;br /&gt;%&gt;&lt;br /&gt;/body /html&lt;br /&gt;&lt;br /&gt;ojo no tengo las etiquetas con &lt;&gt; para que no me de problema&lt;br /&gt;el blog&lt;br /&gt;&lt;br /&gt;se puede apreciar que la conexion es la misma que ocupamos en&lt;br /&gt;j2se, pero no se preocupen, porque en una articulo anterior explico&lt;br /&gt;como generar un pool en un servlet, pero ahora en el siguiente articulo&lt;br /&gt;explicare como hacerlo en un jsp ( me parece que tengo un ejemplo con&lt;br /&gt;jstl, pero la tecnologia jstl no es de mis favoritas, perfiero jSF, Struts y spring)&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1254274078550512736?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1254274078550512736/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1254274078550512736' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1254274078550512736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1254274078550512736'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/09/conexion-bd-en-jsp-y-datadriver.html' title='conexion BD en jsp y Datadriver'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3239254090465359029</id><published>2009-07-07T10:37:00.000-07:00</published><updated>2009-07-07T10:46:52.702-07:00</updated><title type='text'>IDE  eclipse</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOIukxXB2I/AAAAAAAAAUs/RKpSGuzhWSQ/s1600-h/large_eclipse_logo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOIukxXB2I/AAAAAAAAAUs/RKpSGuzhWSQ/s320/large_eclipse_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5355774715599718242" border="0" /&gt;&lt;/a&gt;bueno no quiero dar detalles pero si encontre muy interesante&lt;br /&gt;que este link que esta en la pagina de eclipse, donde se&lt;br /&gt;puede apreciar varios videos para interiorizarse&lt;br /&gt;&lt;br /&gt;&lt;a href="http://live.eclipse.org/node/572"&gt;http://live.eclipse.org/node/572&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;todo los video estan relacionados a la plataforma&lt;br /&gt;J2EE&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3239254090465359029?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3239254090465359029/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3239254090465359029' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3239254090465359029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3239254090465359029'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/07/ide-eclipse.html' title='IDE  eclipse'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOIukxXB2I/AAAAAAAAAUs/RKpSGuzhWSQ/s72-c/large_eclipse_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5400042072174527175</id><published>2009-07-07T10:12:00.000-07:00</published><updated>2009-07-07T10:20:02.722-07:00</updated><title type='text'>uso de JOptionPane</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOCg_v-5zI/AAAAAAAAAUk/rFDnJKD-sTc/s1600-h/cuadro+de+confirmacion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 74px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOCg_v-5zI/AAAAAAAAAUk/rFDnJKD-sTc/s320/cuadro+de+confirmacion.JPG" alt="" id="BLOGGER_PHOTO_ID_5355767885253764914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;bueno regresando un poco a j2se quisiera mostrar como se utiliza&lt;br /&gt;un cruado de confirmacion muy sencillo, pero en nuestra aplicacion&lt;br /&gt;nos va ayudar mucho.&lt;br /&gt;&lt;br /&gt;int respuesta;&lt;br /&gt;                     &lt;br /&gt;   respuesta=JOptionPane.showConfirmDialog(this,"Desea Eliminar el libro "+libro_eliminar,"Confirmacion Eliminacion",JOptionPane.YES_NO_CANCEL_OPTION);&lt;br /&gt;      &lt;br /&gt;            if(respuesta==JOptionPane.YES_OPTION){&lt;br /&gt;           &lt;br /&gt;            }else{&lt;br /&gt;            &lt;br /&gt;             }&lt;br /&gt;&lt;br /&gt;como siempre para entrar en mas detalles podemos acceder a&lt;br /&gt;los siguientes  link&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JOptionPane.html"&gt;http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JOptionPane.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.chuidiang.com/chuwiki/index.php?title=JOptionPane_y_di%C3%A1logos_modales"&gt;http://www.chuidiang.com/chuwiki/index.php?title=JOptionPane_y_di%C3%A1logos_modales&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5400042072174527175?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5400042072174527175/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5400042072174527175' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5400042072174527175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5400042072174527175'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/07/uso-de-joptionpane.html' title='uso de JOptionPane'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SlOCg_v-5zI/AAAAAAAAAUk/rFDnJKD-sTc/s72-c/cuadro+de+confirmacion.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7614884748444436579</id><published>2009-06-23T09:03:00.000-07:00</published><updated>2009-06-23T09:30:27.959-07:00</updated><title type='text'>Spring Framework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SkD-iQllxhI/AAAAAAAAAUc/8VC-_1u3_Bo/s1600-h/spring.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 220px; height: 89px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SkD-iQllxhI/AAAAAAAAAUc/8VC-_1u3_Bo/s320/spring.JPG" alt="" id="BLOGGER_PHOTO_ID_5350556221837788690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Spring es un framework que facilita el desarrollo de aplicaciones j2ee,&lt;br /&gt;este framework no intenta inventar la rueda sino integra diferentes&lt;br /&gt;tecnologias existentes en un solo framework para dar un desarrollo&lt;br /&gt;mas sencillo.&lt;br /&gt;&lt;br /&gt;una de sus caracteristicas es intentar evitar el uso de EJB y fue&lt;br /&gt;creado basado en los siguientes principios:&lt;br /&gt;&lt;br /&gt;- El buen diseño es mas importante que la tecnologia&lt;br /&gt;   subyacente.&lt;br /&gt;&lt;br /&gt;- Los javabeans ligados de una manera mas libre entre&lt;br /&gt;   interfaces es un buen modelo.&lt;br /&gt;&lt;br /&gt;- El codigo debe ser facil de probar.&lt;br /&gt;&lt;br /&gt;bueno estos son detalles generales de este framework, pero&lt;br /&gt;a continuacion unos link para entrar en detalle de este&lt;br /&gt;framework.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.springsource.org/"&gt;http://www.springsource.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.palermo.edu/ingenieria/downloads/introduccion_spring_framework_v1.0.pdf"&gt;http://www.palermo.edu/ingenieria/downloads/introduccion_spring_framework_v1.0.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.comunidadjava.org/files/SegundaReunion/Spring.pdf"&gt;http://www.comunidadjava.org/files/SegundaReunion/Spring.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/sanchez_r_ma/capitulo3.pdf"&gt;http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/sanchez_r_ma/capitulo3.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7614884748444436579?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7614884748444436579/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7614884748444436579' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7614884748444436579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7614884748444436579'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/06/spring-framework.html' title='Spring Framework'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SkD-iQllxhI/AAAAAAAAAUc/8VC-_1u3_Bo/s72-c/spring.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-545647523699527820</id><published>2009-06-17T22:18:00.000-07:00</published><updated>2009-06-17T22:36:47.879-07:00</updated><title type='text'>arquitectura de la persistencia hibernate</title><content type='html'>bueno si vamos a entrar a ocupar persistencia y&lt;br /&gt;principalmente hibernate, tenemos que comprender&lt;br /&gt;su arquitectura, puesto que hacer un simple&lt;br /&gt;ejerccio no significa que sepamos utilizar esta&lt;br /&gt;persistencia.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SjnOzw7y4aI/AAAAAAAAAUU/XUkSqjLc2qM/s1600-h/arquitectura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 319px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SjnOzw7y4aI/AAAAAAAAAUU/XUkSqjLc2qM/s320/arquitectura.JPG" alt="" id="BLOGGER_PHOTO_ID_5348533421183525282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para utilizar Hibernate, es necesario para crear clases Java&lt;br /&gt;que representa la tabla en la base de datos y, a continuación,&lt;br /&gt;el mapa de variable de instancia en la clase con las columnas de&lt;br /&gt;la base de datos. Luego de Hibernate puede ser utilizado para&lt;br /&gt;realizar operaciones sobre la base de datos, como seleccionar,&lt;br /&gt;insertar, actualizar y eliminar los registros en la tabla&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hibernate posee  tres componentes principales:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Connection Management (Gestión de conexión)&lt;br /&gt;     &lt;br /&gt;Hibernate proporciona un  servicio de gestión de la conexión&lt;br /&gt;para proporcionar una eficiente conexion a la base de dato.&lt;br /&gt;La Conexión de base de datos es la parte más cara de interactuar&lt;br /&gt;ya que requiere una gran cantidad de recursos para abrir y&lt;br /&gt;cerrar la conexión&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;Transaction management: (Gestión de transacciones)&lt;br /&gt;&lt;br /&gt;Proporciona la capacidad  al usuario ejecutar más de&lt;br /&gt; una base de datos  a la vez.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Object relational mapping: (Mapeo objeto relacional)&lt;br /&gt;&lt;br /&gt;es la técnica de cartografía que representa  los datos de&lt;br /&gt;un modelo modelo de datos relacional de forma de objeto.&lt;br /&gt;Esta parte de la utiliza para seleccionar, insertar, actualizar&lt;br /&gt;y borrar los registros de la tabla subyacente.  Cuando pasamos&lt;br /&gt;de un objeto a un Session.save () método, Hibernate lee el&lt;br /&gt;estado de las variables de ese objeto y ejecuta la consulta&lt;br /&gt;necesaria.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-545647523699527820?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/545647523699527820/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=545647523699527820' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/545647523699527820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/545647523699527820'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/06/arquitectura-de-la-persistencia.html' title='arquitectura de la persistencia hibernate'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SjnOzw7y4aI/AAAAAAAAAUU/XUkSqjLc2qM/s72-c/arquitectura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2567556195281608113</id><published>2009-06-16T09:27:00.000-07:00</published><updated>2009-06-16T19:55:48.100-07:00</updated><title type='text'>jar, war , ear en J2EE</title><content type='html'>bueno encontre este articulo bien sencillo que explica&lt;br /&gt;de forma clara estas tres tipos de empaquetamiento,&lt;br /&gt;que podemos encontrar en la plataforma J2EE.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sjha1a-QBYI/AAAAAAAAAUM/AMqd9V5Ti9w/s1600-h/empaquetamiento.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 118px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sjha1a-QBYI/AAAAAAAAAUM/AMqd9V5Ti9w/s320/empaquetamiento.JPG" alt="" id="BLOGGER_PHOTO_ID_5348124431322449282" border="0" /&gt;&lt;/a&gt;estos son conceptos fundamentales que hay que manejar&lt;br /&gt;al momento de entrar al mundo de j2ee.&lt;br /&gt;&lt;a href="http://www.javadabbadoo.org/cursos/infosintesis.net/javaeeav/empaquetadoJavaEE/index.html"&gt;&lt;br /&gt;http://www.javadabbadoo.org/cursos/infosintesis.net/javaeeav/empaquetadoJavaEE/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2567556195281608113?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2567556195281608113/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2567556195281608113' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2567556195281608113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2567556195281608113'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/06/jar-war-ear-en-j2ee.html' title='jar, war , ear en J2EE'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/Sjha1a-QBYI/AAAAAAAAAUM/AMqd9V5Ti9w/s72-c/empaquetamiento.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2358754206433722339</id><published>2009-06-15T16:58:00.000-07:00</published><updated>2009-06-16T20:00:07.415-07:00</updated><title type='text'>implementar un applet</title><content type='html'>en realidad no utilizado mucho los applet, pero&lt;br /&gt;un dia implemente uno simple, en los cuales los&lt;br /&gt;pasos los podemos encontrar en el siguiente link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/61/web/applets.html"&gt;http://www.netbeans.org/kb/61/web/applets.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pero solamente  quiero compartir este detalle que&lt;br /&gt;encuentro que es importante&lt;br /&gt;&lt;br /&gt;cuando añadimos el jar a nuestro proyecto web, no&lt;br /&gt;lo tenemos que añadir en libreria, si no que en&lt;br /&gt;build-&gt; packaging&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SjcUhNtaATI/AAAAAAAAAUE/mr3dxeueCvA/s1600-h/applet.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 187px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SjcUhNtaATI/AAAAAAAAAUE/mr3dxeueCvA/s320/applet.JPG" alt="" id="BLOGGER_PHOTO_ID_5347765643374100786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;podemos apreciar que netbeans nos apoya con un editor visual&lt;br /&gt;para desarrollar applet, el cual nos podria faciliar el desarrollo de&lt;br /&gt;un applet en particular, quiero recordar que un applet no tiene&lt;br /&gt;main y su formato es muy parecido a los midlet de j2me.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2358754206433722339?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2358754206433722339/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2358754206433722339' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2358754206433722339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2358754206433722339'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/06/implementar-un-applet.html' title='implementar un applet'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SjcUhNtaATI/AAAAAAAAAUE/mr3dxeueCvA/s72-c/applet.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4082090128369756934</id><published>2009-05-26T15:18:00.000-07:00</published><updated>2009-05-26T16:02:33.125-07:00</updated><title type='text'>validadores en jsf</title><content type='html'>bueno este validador es en visual web JSF, es sumanente facil&lt;br /&gt;y los pasos son los siguientes.&lt;br /&gt;&lt;br /&gt;primero vamos a tener algo asi de sencillo, el button manda&lt;br /&gt;el numero al label&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShxtHE0Ce4I/AAAAAAAAATc/zWfXOHZ0ky8/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 287px; height: 194px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShxtHE0Ce4I/AAAAAAAAATc/zWfXOHZ0ky8/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5340263226473085826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ahora arrastramos el long range validator a nuestro texto&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShxudP4dfoI/AAAAAAAAATk/8HwjZOadgh0/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 62px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShxudP4dfoI/AAAAAAAAATk/8HwjZOadgh0/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5340264706913173122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ahora le damos los rangos a nuestro validador de tipo long, existen&lt;br /&gt;otros para float, etc&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shxv_SsTssI/AAAAAAAAATs/d9sh_uErW7E/s1600-h/cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 110px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shxv_SsTssI/AAAAAAAAATs/d9sh_uErW7E/s320/cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5340266391294685890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;agregamos un message  y  desde nuestro texto mantenemos&lt;br /&gt;apretados  &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Ctrl + Shift&lt;/span&gt; y desde el mismo texto llevamos la linea&lt;br /&gt;a nuestro mensaje.(El mensaje es automatico solo dice todo)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShxyLjjk8PI/AAAAAAAAAT0/GHpVQrzWtqI/s1600-h/cinco.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 74px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShxyLjjk8PI/AAAAAAAAAT0/GHpVQrzWtqI/s320/cinco.JPG" alt="" id="BLOGGER_PHOTO_ID_5340268801003155698" border="0" /&gt;&lt;/a&gt; despues tenemos que agregar la accion de boton&lt;br /&gt;&lt;br /&gt;String palabra=(String)textField1.getText();&lt;br /&gt;label1.setText(palabra);&lt;br /&gt;&lt;br /&gt;y por ultimo asi nos queda , el rango que yo tenia es de 50 a 100&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shx03R88HmI/AAAAAAAAAT8/rUVNAvv7Ej4/s1600-h/fin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 41px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shx03R88HmI/AAAAAAAAAT8/rUVNAvv7Ej4/s320/fin.JPG" alt="" id="BLOGGER_PHOTO_ID_5340271751215193698" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4082090128369756934?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4082090128369756934/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4082090128369756934' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4082090128369756934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4082090128369756934'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/validadores-en-jsf.html' title='validadores en jsf'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/ShxtHE0Ce4I/AAAAAAAAATc/zWfXOHZ0ky8/s72-c/uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-561598255805530485</id><published>2009-05-26T09:24:00.000-07:00</published><updated>2009-05-26T09:55:39.301-07:00</updated><title type='text'>uso de visual web jsf page fragment</title><content type='html'>bueno primero creamos nuestro page fragment&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShwcelJEjaI/AAAAAAAAAS8/Q0BSJcnRlqM/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 157px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShwcelJEjaI/AAAAAAAAAS8/Q0BSJcnRlqM/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5340174569846377890" border="0" /&gt;&lt;/a&gt;para configurar el tamaño de nuestro fragmento lo realizamos aqui&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShwcuLytKjI/AAAAAAAAATE/l2YGQQLo9b0/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 198px; height: 200px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShwcuLytKjI/AAAAAAAAATE/l2YGQQLo9b0/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5340174837919590962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;vamos a añadir un arbol y le vamos asignar un link, esto se logra con&lt;br /&gt;el url que se ve en la imagen.&lt;br /&gt;&lt;br /&gt;obs: se puede lograr tambien en el faces-config.xml ,&lt;br /&gt;con las etiquetas&lt;br /&gt;&lt;br /&gt;       &lt;managed-bean-name&gt;&lt;managed-bean-class&gt;&lt;managed-bean-name&gt;&lt;managed-bean-class&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shwc17cSmBI/AAAAAAAAATM/t0Ks1EiPe-o/s1600-h/tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 134px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shwc17cSmBI/AAAAAAAAATM/t0Ks1EiPe-o/s320/tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5340174970969561106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ahora vamos añadir nuestro fragmento en nuestra pagina , lo hacemos&lt;br /&gt;page fragment box.&lt;br /&gt;&lt;br /&gt;&lt;/managed-bean-class&gt;&lt;/managed-bean-name&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShwdqVabANI/AAAAAAAAATU/4pEDENynBV4/s1600-h/cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 133px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShwdqVabANI/AAAAAAAAATU/4pEDENynBV4/s320/cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5340175871294243026" border="0" /&gt;&lt;/a&gt;bueno ahora solamente nos queda ejecutar nuestro proyecto&lt;br /&gt;&lt;br /&gt;obs: si queremos tener otra pagina de inicio lo tenemos&lt;br /&gt;que anteponer faces/ a nuestra pagina cuando lo configuremos.&lt;/managed-bean-class&gt;&lt;/managed-bean-name&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-561598255805530485?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/561598255805530485/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=561598255805530485' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/561598255805530485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/561598255805530485'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/uso-de-visual-web-jsf-page-fragment.html' title='uso de visual web jsf page fragment'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/ShwcelJEjaI/AAAAAAAAAS8/Q0BSJcnRlqM/s72-c/uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4666221611806571666</id><published>2009-05-26T00:30:00.000-07:00</published><updated>2009-05-26T01:16:09.869-07:00</updated><title type='text'>ejemplo de visual web jsf en netbeans</title><content type='html'>bueno este ejemplo es sumamente sencillo, pero para&lt;br /&gt;empezar esta muy bueno.&lt;br /&gt;&lt;br /&gt;1 primero creamos nuestro proyecto web&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShubZaWMb0I/AAAAAAAAAR8/MpATObF-02E/s1600-h/primero.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShubZaWMb0I/AAAAAAAAAR8/MpATObF-02E/s320/primero.JPG" alt="" id="BLOGGER_PHOTO_ID_5340032644049301314" border="0" /&gt;&lt;/a&gt;2.- luego creamos otra pagina que tiene que ser de tipo&lt;br /&gt;visual web JSF page&lt;br /&gt;&lt;br /&gt;3.- en el navegador vamos a encontrar el sessionBean1, requestBean1,&lt;br /&gt;etc , pero  solamenten vamos a ocupar el sessionBean1(buscar para&lt;br /&gt;el que no sabe la naturaleza de estas variables)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShudA1agqnI/AAAAAAAAASE/X89vTlnqcDU/s1600-h/page1+navegador.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 264px; height: 285px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShudA1agqnI/AAAAAAAAASE/X89vTlnqcDU/s320/page1+navegador.JPG" alt="" id="BLOGGER_PHOTO_ID_5340034420841687666" border="0" /&gt;&lt;/a&gt;4.- en sessionBean1 , creamos las variables de tipo privadas nombres&lt;br /&gt;y apellido, con sus respectivos get y set.&lt;br /&gt;&lt;br /&gt;creamos&lt;br /&gt;&lt;br /&gt;String  nombre;&lt;br /&gt;String apellido;&lt;br /&gt;&lt;br /&gt;y luego encapsulamos los datos, de forma automatica se crean&lt;br /&gt;los get y set.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shuen6_-5vI/AAAAAAAAASM/we3UXlybvZg/s1600-h/encapsular.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shuen6_-5vI/AAAAAAAAASM/we3UXlybvZg/s320/encapsular.JPG" alt="" id="BLOGGER_PHOTO_ID_5340036191867561714" border="0" /&gt;&lt;/a&gt;luego hacemos lo mismo con el apellido&lt;br /&gt;&lt;br /&gt;5.- supuestamente este paso no sale en otros manuales, pero&lt;br /&gt;si no realizo esto no me funciona, si a ustedes le funciona sin&lt;br /&gt;este paso lo cuentan&lt;br /&gt;&lt;br /&gt;sobre el navegador de page a los atributos de nuestra pagina&lt;br /&gt;tenemos que hacer este paso uno por uno(los que vamos a usar&lt;br /&gt;en el boton)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShuhAGJ-VlI/AAAAAAAAASk/pM6Y_Ze_3dc/s1600-h/add.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 294px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShuhAGJ-VlI/AAAAAAAAASk/pM6Y_Ze_3dc/s320/add.JPG" alt="" id="BLOGGER_PHOTO_ID_5340038806202373714" border="0" /&gt;&lt;/a&gt;esto nos crea los new de los atrubutos como son los textfield&lt;br /&gt;&lt;br /&gt;6.- ahora vamos asociamos las paginas (esto es entrete jeje)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shuhjm2nivI/AAAAAAAAASs/kzOV7aPrfKU/s1600-h/page+navigation.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 213px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shuhjm2nivI/AAAAAAAAASs/kzOV7aPrfKU/s320/page+navigation.JPG" alt="" id="BLOGGER_PHOTO_ID_5340039416274979570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Shuh32iIG-I/AAAAAAAAAS0/62qNVL5g9wQ/s1600-h/asociar+paginas.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 98px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Shuh32iIG-I/AAAAAAAAAS0/62qNVL5g9wQ/s320/asociar+paginas.JPG" alt="" id="BLOGGER_PHOTO_ID_5340039764081384418" border="0" /&gt;&lt;/a&gt;7 .- ahora sobre el evento del boton , asociamos las variables a la session&lt;br /&gt;&lt;br /&gt;        getSessionBean1().setNombre((String)textField1.getText());&lt;br /&gt;        getSessionBean1().setApellido((String)textField2.getText());&lt;br /&gt;&lt;br /&gt;8.- luego asociamos los text de la pagina dos  con las variables que&lt;br /&gt;creamos, con el boton derecho y buind to data&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shuf4wuDvQI/AAAAAAAAASU/Eo-kuhRtcqg/s1600-h/asignar+variable.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 284px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Shuf4wuDvQI/AAAAAAAAASU/Eo-kuhRtcqg/s320/asignar+variable.JPG" alt="" id="BLOGGER_PHOTO_ID_5340037580677430530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y estamos listos, una observacion el return del boton es un string&lt;br /&gt; "case1" , esto lo podemos configurar en faces-config.xml, es bueno saber&lt;br /&gt;como funcionan las cosas por detras, en un articulo anterior explico como&lt;br /&gt;hacerlo a lo macho jajaja solo codigo&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4666221611806571666?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4666221611806571666/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4666221611806571666' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4666221611806571666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4666221611806571666'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/ejemplo-de-visual-web-jsf-en-netbeans.html' title='ejemplo de visual web jsf en netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/ShubZaWMb0I/AAAAAAAAAR8/MpATObF-02E/s72-c/primero.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7547587756160097531</id><published>2009-05-23T13:14:00.000-07:00</published><updated>2009-06-10T08:43:15.535-07:00</updated><title type='text'>empezando con ajax</title><content type='html'>En realidad, el término &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt; es un acrónimo de &lt;em&gt;Asynchronous&lt;br /&gt;JavaScript + &lt;acronym title="Extensible Markup Language"&gt;XML&lt;/acronym&gt;&lt;/em&gt;, que se puede traducir como "JavaScript&lt;br /&gt;asíncrono + &lt;acronym title="Extensible Markup Language"&gt;XML.&lt;br /&gt;&lt;br /&gt;&lt;/acronym&gt;Ajax no es una tecnología en sí mismo. En realidad, se trata&lt;br /&gt;de varias tecnologías independientes que se unen de formas&lt;br /&gt;nuevas y sorprendentes.&lt;br /&gt;&lt;br /&gt;&lt;p&gt; Las tecnologías que forman &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt; son: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt; &lt;acronym title="Extensible HyperText Markup Language"&gt;XHTML&lt;/acronym&gt; y &lt;acronym title="Cascading Style Sheets"&gt;CSS&lt;/acronym&gt;, para crear una presentación basada                                                                                                                                    en estándares.&lt;/li&gt;&lt;li&gt; &lt;acronym title="Document Object Model"&gt;DOM&lt;/acronym&gt;, para la interacción y manipulación dinámica                                                                        de                                                                      la presentación.&lt;/li&gt;&lt;li&gt; &lt;acronym title="Extensible Markup Language"&gt;XML&lt;/acronym&gt;, &lt;acronym title="Extensible Stylesheet Language Transformations"&gt;XSLT&lt;/acronym&gt; y JSON, para el intercambio y la manipulación                                                                                                                 de información.&lt;/li&gt;&lt;li&gt; XMLHttpRequest, para el intercambio asíncrono                                                                          de                                                          información.&lt;/li&gt;&lt;li&gt; JavaScript, para unir todas las demás tecnologías.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShhaPe6PHOI/AAAAAAAAARk/cGZ-cVHzvuE/s1600-h/ajax+1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 191px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShhaPe6PHOI/AAAAAAAAARk/cGZ-cVHzvuE/s320/ajax+1.JPG" alt="" id="BLOGGER_PHOTO_ID_5339116580289584354" border="0" /&gt;&lt;/a&gt;En las aplicaciones web tradicionales, las acciones del usuario en la&lt;br /&gt;página (pinchar en un botón, seleccionar un valor de una lista, etc.)&lt;br /&gt;desencadenan llamadas al servidor. Una vez procesada la petición&lt;br /&gt;del usuario, el servidor devuelve una nueva página &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; al&lt;br /&gt;navegador del usuario.&lt;br /&gt;&lt;br /&gt;En el siguiente esquema, la imagen de la izquierda muestra el&lt;br /&gt;modelo tradicional de las aplicaciones web. La imagen de la derecha&lt;br /&gt;muestra el nuevo modelo propuesto por &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Shhax8zDdoI/AAAAAAAAARs/Qw0MtQQ4DqE/s1600-h/ajax+2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 306px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Shhax8zDdoI/AAAAAAAAARs/Qw0MtQQ4DqE/s320/ajax+2.JPG" alt="" id="BLOGGER_PHOTO_ID_5339117172428076674" border="0" /&gt;&lt;/a&gt;Comparación gráfica del modelo tradicional de aplicación web y&lt;br /&gt;del nuevo modelo propuesto por AJAX. (Imagen original creada&lt;br /&gt;por Adaptive Path y utilizada con su permiso)&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Esta técnica tradicional para crear aplicaciones web funciona                                                correctamente, pero no crea una buena sensación al usuario.                                                                                                                          Al realizar peticiones continuas al servidor, el usuario debe                                                                                                                            esperar a que se recargue la página con los cambios solicitados.                                                                                                                       Si la aplicación debe realizar peticiones continuas, su uso se                                                                                                                     convierte en algo molesto&lt;/p&gt;  &lt;p&gt;&lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt; permite mejorar completamente la interacción del                                                                    usuario                                                          con la aplicación, evitando las recargas constantes                                                                  de la página,                                                             ya que el intercambio de información con el                                                                  servidor se produce                                                       en un segundo plano.&lt;/p&gt;  &lt;p&gt;Las aplicaciones construidas con &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX &lt;/acronym&gt;eliminan la recarga                                                                                                                       constante de páginas mediante la creación de un elemento                                                                                                                     intermedio entre el usuario y el servidor. La nueva capa                                                                                                                          intermedia de &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt; mejora la respuesta de la aplicación,                                                                                                                                        ya que el usuario nunca se encuentra con una ventana del                                                                                                                    navegador vacía esperando la respuesta del servidor.&lt;/p&gt;&lt;br /&gt;El siguiente esquema muestra la diferencia más importante&lt;br /&gt;entre una aplicación web tradicional y una aplicación web&lt;br /&gt;creada con &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt;. La imagen superior muestra la interación&lt;br /&gt;síncrona propia de las aplicaciones web tradicionales. La imagen&lt;br /&gt;inferior muestra la comunicación asíncrona de las aplicaciones&lt;br /&gt;creadas con &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shhc4kJuKcI/AAAAAAAAAR0/-4I6GzljFNk/s1600-h/ajax+3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 254px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Shhc4kJuKcI/AAAAAAAAAR0/-4I6GzljFNk/s320/ajax+3.JPG" alt="" id="BLOGGER_PHOTO_ID_5339119485094603202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Las peticiones &lt;acronym title="Hyper Text Transfer Protocol"&gt;HTTP&lt;/acronym&gt; al servidor se sustituyen por peticiones JavaScript&lt;br /&gt;que se realizan al elemento encargado de &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt;. Las peticiones más&lt;br /&gt;simples no requieren intervención del servidor, por lo que la respuesta&lt;br /&gt;es inmediata. Si la interacción requiere una respuesta del servidor, la&lt;br /&gt;petición se realiza de forma asíncrona mediante &lt;acronym title="Asynchronous JavaScript and XML"&gt;AJAX&lt;/acronym&gt;. En este caso,&lt;br /&gt;la interacción del usuario tampoco se ve interrumpida por recargas de&lt;br /&gt;página o largas esperas por la respuesta del servidor&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;como siempre unos videos, para hacer mas dinamico nuestro aprender&lt;br /&gt;jejejeje&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UQa0kdLpfqg&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/UQa0kdLpfqg&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/blueprints/ajax.html"&gt;http://java.sun.com/blueprints/ajax.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/javaserverfaces/ajax/tutorial.jsp"&gt;http://java.sun.com/javaee/javaserverfaces/ajax/tutorial.jsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.librosweb.es/ajax/"&gt;http://www.librosweb.es/ajax/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/J2EE/AJAX/"&gt;http://java.sun.com/developer/technicalArticles/J2EE/AJAX/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developers.sun.com/scripting/ajax/index.jsp"&gt;http://developers.sun.com/scripting/ajax/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ajaxpatterns.org/Java_Ajax_Frameworks"&gt;http://ajaxpatterns.org/Java_Ajax_Frameworks&lt;/a&gt;&lt;br /&gt;&lt;a href="https://ajax.dev.java.net/jmaki-plugin.html"&gt;https://ajax.dev.java.net/jmaki-plugin.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=AjaxConJavaFacil&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/Mordok/java-script-bsico-ajax-presentation"&gt;http://www.slideshare.net/Mordok/java-script-bsico-ajax-presentation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://directwebremoting.org/dwr/"&gt;http://directwebremoting.org/dwr/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/J2EE/ajax_jsf/"&gt;http://java.sun.com/developer/technicalArticles/J2EE/ajax_jsf/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ajaxya.com.ar/"&gt;http://www.ajaxya.com.ar/&lt;/a&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aFj3i8bdZHc&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/aFj3i8bdZHc&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7547587756160097531?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7547587756160097531/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7547587756160097531' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7547587756160097531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7547587756160097531'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/empezando-con-ajax.html' title='empezando con ajax'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/ShhaPe6PHOI/AAAAAAAAARk/cGZ-cVHzvuE/s72-c/ajax+1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4220253424365308416</id><published>2009-05-23T09:04:00.000-07:00</published><updated>2009-05-23T09:10:12.152-07:00</updated><title type='text'>unos videos de ejemplo de JSF</title><content type='html'>&lt;span style="font-family:georgia;"&gt;encontre estos videos muy entretenidos en youtube sobre&lt;br /&gt;como realizar aplicaciones con jsf, yo no los creeasi&lt;br /&gt;que no me llamo como dice en el video.&lt;br /&gt;&lt;br /&gt;creo que hasta el mas flojo le gusta ver un video&lt;br /&gt;explicando como hacer las cosas, asi que para empezar&lt;br /&gt;a tener nociones sobre jsf estan rebuenos&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;h1&gt;&lt;span style="font-size:100%;"&gt;JSF con Clases Entidad en Netbeans CRUD&lt;/span&gt;&lt;/h1&gt;&lt;span style="font-family:georgia;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/q9HvoF8WClQ&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/q9HvoF8WClQ&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1&gt;&lt;span style="font-size:100%;"&gt;Ejemplo JSF&lt;/span&gt;&lt;/h1&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/46baJ9rj9gg&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/46baJ9rj9gg&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4220253424365308416?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4220253424365308416/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4220253424365308416' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4220253424365308416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4220253424365308416'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/unos-videos-de-ejemplo-de-jsf.html' title='unos videos de ejemplo de JSF'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6770963095181705412</id><published>2009-05-23T08:28:00.000-07:00</published><updated>2009-05-23T09:01:21.767-07:00</updated><title type='text'>JMS (Java Message Service)</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CCONFIG%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CCONFIG%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"&gt;&lt;/o:smarttagtype&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapedefaults ext="edit" spidmax="1027"&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapelayout ext="edit"&gt;   &lt;o:idmap ext="edit" data="1"&gt;  &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;span  lang="ES-TRAD" style="font-family:arial;"&gt;&lt;span style="font-family:verdana;"&gt;El JMS (&lt;/span&gt;&lt;b style="font-family: georgia;"&gt;J&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;ava &lt;/span&gt;&lt;b style="font-family: georgia;"&gt;M&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;essage &lt;/span&gt;&lt;b style="font-family: georgia;"&gt;S&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:georgia;"&gt;ervice) fue desarrollado por&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Sun Microsystems para que en los programas en Java&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;tuviera acceso a sistemas de mensajería para empresas&lt;/span&gt;.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div style="text-align: left; font-family: arial;"&gt;  &lt;/div&gt;&lt;div style="text-align: left; font-family: arial;"&gt;  &lt;/div&gt;&lt;span style=";font-family:arial;font-size:100%;"   lang="ES-TRAD"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;style&gt;&lt;/style&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style="font-family:georgia;"&gt;J&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:georgia;"&gt;MS se situa como middleware en medio de la comunicación&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;de dos aplicaciones. En entornos cliente servidor, cuando la&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;aplicación A quiere comunicarse con la Aplicación B, necesita&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;saber donde esta B (su IP por ejemplo) y que B esté&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;escuchando en ese momento. Cuando se usa JMS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;(o cualquier otro sistema de mensajes), la aplicación A&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;envía un mensaje, el sistema de mensajes lo recibe y se lo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;envía a B cuando se conecte al servicio. De esta manera se&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;consigue una comunicación asíncrona entre A y B, es decir no&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;hace falta que B este presente en el momento del envío del&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;mensaje, y no por ello va a dejar de recibirlo&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShgZ7S2tTNI/AAAAAAAAARc/Tc1_Jun-FYg/s1600-h/jms.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 197px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShgZ7S2tTNI/AAAAAAAAARc/Tc1_Jun-FYg/s320/jms.JPG" alt="" id="BLOGGER_PHOTO_ID_5339045864711998674" border="0" /&gt;&lt;/a&gt;esto es solamente una introduccion y acontinuacion unos link para&lt;br /&gt;entrar en detalle&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/jms/"&gt;http://java.sun.com/products/jms/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javapassion.com/j2ee/JMS.pdf"&gt;http://www.javapassion.com/j2ee/JMS.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.programacion.net/java/articulo/jms/"&gt;http://www.programacion.net/java/articulo/jms/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=JMSJBOSS"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=JMSJBOSS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.softwarementors.com/arti/j2ee/IntroduccionJ2EE.pdf"&gt;http://www.softwarementors.com/arti/j2ee/IntroduccionJ2EE.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fing.edu.uy/inco/cursos/tsi/TSI3/TSI3-2007-JMS.pdf"&gt;http://www.fing.edu.uy/inco/cursos/tsi/TSI3/TSI3-2007-JMS.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xxito.wordpress.com/2007/06/07/11-jms/"&gt;http://xxito.wordpress.com/2007/06/07/11-jms/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6770963095181705412?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6770963095181705412/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6770963095181705412' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6770963095181705412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6770963095181705412'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/jms-java-message-service.html' title='JMS (Java Message Service)'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/ShgZ7S2tTNI/AAAAAAAAARc/Tc1_Jun-FYg/s72-c/jms.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-165648007659117596</id><published>2009-05-22T23:21:00.000-07:00</published><updated>2009-05-22T23:32:51.780-07:00</updated><title type='text'>instalar jboss en netbeans</title><content type='html'>la version de jboss que instale es jboss-5.0.1.GA sobre&lt;br /&gt;netbeans 6.5 y es sumamente facil, solamente que&lt;br /&gt;tiene un detalle que luego lo dare.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SheWh4oLjgI/AAAAAAAAAQs/cDFI_cx3pXU/s1600-h/paso+uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 229px; height: 229px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SheWh4oLjgI/AAAAAAAAAQs/cDFI_cx3pXU/s320/paso+uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5338901392151776770" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SheWn2jYGPI/AAAAAAAAAQ0/mH2ZRw61CnE/s1600-h/paso+dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SheWn2jYGPI/AAAAAAAAAQ0/mH2ZRw61CnE/s320/paso+dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5338901494673971442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SheWu-PRzEI/AAAAAAAAAQ8/B5D1hQh83EI/s1600-h/paso+tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SheWu-PRzEI/AAAAAAAAAQ8/B5D1hQh83EI/s320/paso+tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5338901616996240450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;bueno aqui esta el detalle, porque nos da un error al tratar de&lt;br /&gt;instalar jboss, para solucionarlo tenemos que copiar algunos archivos&lt;br /&gt;("jboss-javaee.jar", "jboss.jar", "jbosssx.jar", "jmx-adaptor-plugin.jar",&lt;br /&gt;"jnpserver.jar", "log4j.jar") que se ubican en &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;jboss-5.0.0.GA\common\lib\&lt;/span&gt;&lt;br /&gt;a&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;jboss-5.0.0.GA\server\default\lib\&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SheW1hJn7OI/AAAAAAAAARE/roHPEpun-E8/s1600-h/paso+cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 140px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SheW1hJn7OI/AAAAAAAAARE/roHPEpun-E8/s320/paso+cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5338901729446980834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SheXehdY2AI/AAAAAAAAARM/DGPhEVDHHYs/s1600-h/paso+cinco.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SheXehdY2AI/AAAAAAAAARM/DGPhEVDHHYs/s320/paso+cinco.JPG" alt="" id="BLOGGER_PHOTO_ID_5338902433904515074" border="0" /&gt;&lt;/a&gt;y ahora estamos listos y ahora aprobar el servidor jejejejje&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SheXmfYbd8I/AAAAAAAAARU/-Z9_YmairqI/s1600-h/paso+seis.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 231px; height: 237px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SheXmfYbd8I/AAAAAAAAARU/-Z9_YmairqI/s320/paso+seis.JPG" alt="" id="BLOGGER_PHOTO_ID_5338902570785798082" border="0" /&gt;&lt;/a&gt;Descarga del servidor :&lt;br /&gt;&lt;a href="http://www.jboss.org/jbossas/downloads/"&gt;http://www.jboss.org/jbossas/downloads/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/"&gt;http://www.jboss.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/readme-es-ES.html#issue3"&gt;http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/readme-es-ES.html#issue3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/55/ejb30-jboss.html"&gt;http://www.netbeans.org/kb/55/ejb30-jboss.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-165648007659117596?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/165648007659117596/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=165648007659117596' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/165648007659117596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/165648007659117596'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/instalar-jboss-en-netbeans.html' title='instalar jboss en netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SheWh4oLjgI/AAAAAAAAAQs/cDFI_cx3pXU/s72-c/paso+uno.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6650297822313836735</id><published>2009-05-21T19:13:00.001-07:00</published><updated>2009-05-21T19:48:51.295-07:00</updated><title type='text'>Certificacion java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShYKtNR6ekI/AAAAAAAAAQk/Si-RHXC76Bc/s1600-h/certificacion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 137px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShYKtNR6ekI/AAAAAAAAAQk/Si-RHXC76Bc/s320/certificacion.JPG" alt="" id="BLOGGER_PHOTO_ID_5338466180069489218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El programa de certificación Sun en tecnología Java, que goza de reconocimiento&lt;br /&gt;mundial, se centra en funciones críticas en el desarrollo de aplicaciones y&lt;br /&gt;arquitectura de la empresa.. Dado que las certificaciones tratan sobre la tecnología,&lt;br /&gt;los conocimientos y habilidades adquiridos durante la preparación para las&lt;br /&gt;mismas pueden trasladarse de una compañía a otra.. &lt;p&gt;El criterio de Sun es que la certificación es esencial para el proceso de aprendizaje,                            ya que convalida la preparación para realizar tareas específicas. La certificación                              de Sun también ofrece una evolución natural para la consolidación de los objetivos               profesionales.&lt;/p&gt;&lt;p&gt;Lo imortante es que existe una promocion muy buena que si compras un examen                            de certificación de Sun antes del 19 de junio, podrá repetir el examen totalmente                       gratis en caso de que lo necesite.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Certificación Básica en Plataforma Java (SCJA)&lt;/b&gt;&lt;/p&gt;68% (35 de 51 preguntas)&lt;br /&gt;Time limit: 115&lt;br /&gt;En español&lt;br /&gt;&lt;h5&gt;Objetivos del examen&lt;/h5&gt;  &lt;b&gt;Sección 1: Conceptos fundamentales de la programación&lt;br /&gt; orientada a objetos&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Describir, comparar y contrastar las primitivas (entero, coma flotante,                              booleano y carácter), los tipos de enumeración y los objetos.&lt;/li&gt;&lt;li&gt;Describir, comparar y contrastar las clases concretas, las clases                                        abstractas y las interfaces, así como la forma de aplicarles la función                                          de herencia.&lt;/li&gt;&lt;li&gt;Describir, comparar y contrastar las composiciones de clases, las                                               asociaciones (incluida la multiplicidad: (uno a uno, uno a muchos y                                        muchos a muchos) y la exploración de asociaciones.&lt;/li&gt;&lt;li&gt;Describir la ocultación de información (mediante atributos y                                                   métodos privados), la encapsulación y la presentación de la                                           funcionalidad de objeto utilizando métodos públicos. Describir                                                   las convenciones de programación de JavaBeans para los                                                      métodos setter y getter.&lt;/li&gt;&lt;li&gt;Describir la función de polimorfismo que se aplica a clases e                                                         interfaces, y describir y aplicar el principio de "programación                                                      en interfaz".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 2: Representación UML de conceptos de programación                            orientados a objetos&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reconocer la representación UML de clases (incluidos atributos y                               operaciones, clases abstractas e interfaces), de herencia                                          (implementación e interfaz) y de modificadores de visibilidad de                                      miembros de clases (-/privado y +/público).&lt;/li&gt;&lt;li&gt;Reconocer la representación UML de asociaciones de clases,                                         composiciones, indicadores de multiplicidad de asociaciones e                                          indicadores de exploración de asociaciones.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 3: Implementación de conceptos de programación                                              Java orientados a objetos&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Notas: Los ejemplos de códigos pueden utilizar el operador 'new'.&lt;/li&gt;&lt;li&gt;Desarrollar código que utilice primitivas, tipos de enumeración                                                   y referencias de objeto, así como reconocer literales de estos tipos.&lt;/li&gt;&lt;li&gt;Desarrollar código que declare clases concretas, clases abstractas e                                interfaces, que admita herencia de implementación e interfaz, que                                   declare atributos y métodos de instancia y que utilice modificadores                                       de acceso Java privados y públicos.&lt;/li&gt;&lt;li&gt;Desarrollar código que implemente asociaciones de clases simples y                                      código que implemente multiplicidad mediante matrices. Reconocer                                        el código que implementa composiciones frente a asociaciones                                                     simples y el código que implementa correctamente la exploración                                               de asociaciones.&lt;/li&gt;&lt;li&gt;Desarrollar código que utilice la función de polimorfismo para                                                     clases e interfaces, y reconocer el código que utiliza el principio de                                     "programación en interfaz".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 4: Diseño e implementación de un algoritmo&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Describir, comparar y contrastar estos tres tipos fundamentales                                                 de instrucciones: asignación, condicional e iteración. Dada la descripción                                    de un algoritmo, seleccionar el tipo adecuado de instrucción para                                          diseñar el algoritmo.&lt;/li&gt;&lt;li&gt;Con un algoritmo como seudocódigo, determinar el ámbito correcto                                           de una variable empleada en el algoritmo y desarrollar código para                                    declarar variables en cualquier de los ámbitos siguientes: variable de                               instancia, parámetro de método y variable local.&lt;/li&gt;&lt;li&gt;Con un algoritmo como seudocódigo, desarrollar código de método que                          implemente el algoritmo utilizando instrucciones condicionales                                                 (if y switch), instrucciones de iteración (for, for-each, while y do-while),                          instrucciones de asignación, e instrucciones break y continue para                                       controlar el flujo en las instrucciones switch e iteration.&lt;/li&gt;&lt;li&gt;Dado un algoritmo con múltiples entradas y una salida, desarrollar                                       código de método que implemente el algoritmo utilizando parámetros                                       de método, un tipo de retorno y la instrucción return. Reconocer los                                 efectos que produce cuando las referencias y primitivas de objeto se                                  pasan a los métodos que las modifican.&lt;/li&gt;&lt;li&gt;Con un algoritmo como seudocódigo, desarrollar código que aplique                      correctamente los operadores adecuados para obtener el resultado                                   deseado, incluidos los operadores de asignación (limitados a: =, +=,                                            -=), los operadores aritméticos (limitado a: +, -, *, /, %, ++, --), los                                  operadores relacionales (limitado a: &lt;, &lt;=, &gt;, &gt;=, ==, !=) y los                                            operadores lógicos (limitado a: !, &amp;amp;&amp;amp;, ||). Asimismo, escribir código                                         que determine la igualdad de dos objetos o dos primitivas.&lt;/li&gt;&lt;li&gt;Desarrollar código que utilice el operador de concatenación (+) y los                               siguientes métodos de la clase String: charAt, indexOf, trim, substring,                           replace, length, startsWith y endsWith.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 5: Aspectos básicos del desarrollo Java&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Describir la finalidad de los paquetes en el lenguaje Java y examinar                                          el uso adecuado de las instrucciones import y package.&lt;/li&gt;&lt;li&gt;Conocer el uso adecuado del comando "javac" (incluidas las opciones                                       de la línea de comandos -d y –classpath) y del comando "java" (incluidas                             las opciones de la línea de comandos -classpath, -D y –version).&lt;/li&gt;&lt;li&gt;Describir la finalidad y los tipos de clases de los paquetes de Java                                      siguientes: java.awt, javax.swing, java.io, java.net y java.util.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 6: Plataformas Java y tecnologías de integración&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Distinguir las características básicas de las tres plataformas Java                                          (J2SE, J2ME y J2EE) y seleccionar la plataforma o plataformas                                      adecuadas cuando se requiera una arquitectura de alto nivel.&lt;/li&gt;&lt;li&gt;Describir con detalle las ventajas y características básicas de RMI.&lt;/li&gt;&lt;li&gt;Describir con detalle las ventajas y características básicas de las                                   tecnologías JDBC, SQL y RDBMS.&lt;/li&gt;&lt;li&gt;Describir con detalle las ventajas y características básicas de las                                     tecnologías JNDI, de mensajería y JMS.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 7: Tecnologías de cliente&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Describir con detalle las características básicas, las ventajas y                                                 las desventajas de la creación de arquitecturas thin-client con HTML                                       y JavaScript, así como los problemas de implementación y las soluciones                correspondientes.&lt;/li&gt;&lt;li&gt;Describir con detalle las características básicas, las ventajas, las desventajas                            y los problemas de implementación relacionados con la creación de                                     clientes utilizando midlets J2ME.&lt;/li&gt;&lt;li&gt;Describir con detalle las características básicas, las ventajas, las                                       desventajas y los problemas de implementación relacionados con la                                       creación de arquitecturas fat-client mediante el uso de miniaplicaciones. &lt;/li&gt;&lt;li&gt;Describir con detalle las características básicas, las ventajas, las                                      desventajas y los problemas de implementación relacionados con la                                      creación de arquitecturas fat-client mediante el uso de Swing. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Sección 8: Tecnologías de servidor&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Describir con detalle las características básicas de EJB, servlets,                                             JSP, JMS, JNDI, SMTP, JAX-RPC, servicios Web (incluidos SOAP,                                       UDDI, WSDL y XML) y JavaMail.&lt;/li&gt;&lt;li&gt;Describir con detalles las características básicas de compatibilidad                                          de servlet y JSP con thin-clients HTML.&lt;/li&gt;&lt;li&gt;Describir con detalle el uso y las características básicas de los beans                                       de sesión, entidad y controlados por mensajes de EJB.&lt;/li&gt;&lt;li&gt;Describir con detalles las ventajas y los inconvenientes más                                            importantes de utilizar tecnologías del lado de servidor J2EE, y                                         describir y comparar  las características básicas de la capa                                                         Web, la capa de negocio y la capa EIS.&lt;/li&gt;&lt;/ul&gt;&lt;a href="https://www.suntrainingcatalogue.com/eduserv/client/learningPath.do?p=/training/certification/java/index.html&amp;amp;d=t&amp;amp;l=es_CL"&gt;https://www.suntrainingcatalogue.com/eduserv/client/learningPath.do?p=/training/certification/java/index.html&amp;amp;d=t&amp;amp;l=es_CL&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.suntrainingcatalogue.com/eduserv/client/viewPromo.do?pr_id=4399&amp;amp;l=es_CL&amp;amp;intcmp=2382"&gt;https://www.suntrainingcatalogue.com/eduserv/client/viewPromo.do?pr_id=4399&amp;amp;l=es_CL&amp;amp;intcmp=2382&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6650297822313836735?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6650297822313836735/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6650297822313836735' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6650297822313836735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6650297822313836735'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/certificacion-java.html' title='Certificacion java'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/ShYKtNR6ekI/AAAAAAAAAQk/Si-RHXC76Bc/s72-c/certificacion.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7604062975786448389</id><published>2009-05-21T15:22:00.000-07:00</published><updated>2009-05-21T15:45:58.140-07:00</updated><title type='text'>JNDI, Java Naming and Directory Interface</title><content type='html'>El Java Naming and Directory Interface (JNDI) es un interface de&lt;br /&gt;programación (API) que proporciona funcionalidades de nombrado&lt;br /&gt;y directorio a las aplicaciones escritas usando Java. Está definido&lt;br /&gt;para ser independiente de cualquier implementación de servicio&lt;br /&gt;de directorio. Así se puede acceder a una gran variedad de&lt;br /&gt;directorios, -- nuevos, emergentes, y ya desarrollados --&lt;br /&gt;de una forma común.&lt;br /&gt;&lt;br /&gt;en este ejemplo vamos a quedar mas claros:&lt;br /&gt;&lt;br /&gt;los discos duros trabajana con pistas y sectores, aunque el&lt;br /&gt;usuario se preocupa solamente del fichero y el directorio, el&lt;br /&gt;sistema asocia el fichero(nombre) dado con una localizacion&lt;br /&gt;especifica en el disco duro. bueno algo asi es la idea de JNDI.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;La arquiectura JNDI consiste en un API y un "service provider&lt;br /&gt;interface (SPI)". Las aplicaciones Java usan el API JNDI para&lt;br /&gt;acceder a una gran variedad de servicios de nombres y directorios.&lt;br /&gt;El SPI permite conectar de forma transparente una gran&lt;br /&gt;variedad de servicios de nombres y directorios, por lo tanto&lt;br /&gt;permite a las aplicaciones Java usar el API JNDI para acceder&lt;br /&gt;a sus servicios&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShXW9_AwDyI/AAAAAAAAAQc/aYgI4qzRpao/s1600-h/jndi+arquitectura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 194px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShXW9_AwDyI/AAAAAAAAAQc/aYgI4qzRpao/s320/jndi+arquitectura.JPG" alt="" id="BLOGGER_PHOTO_ID_5338409293692538658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;como esto es solamente una introduccion y el tema es más complejo&lt;br /&gt;e importante, dare los siguientes link&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/jndi/"&gt;http://java.sun.com/products/jndi/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/jndi/tutorial/"&gt;http://java.sun.com/products/jndi/tutorial/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://programacion.com/tutorial/jndi/"&gt;http://programacion.com/tutorial/jndi/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xxito.wordpress.com/2007/06/06/10-jndi/"&gt;http://xxito.wordpress.com/2007/06/06/10-jndi/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzatz/51/program/jndicorba.htm"&gt;http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzatz/51/program/jndicorba.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sophia.javeriana.edu.co/%7Ecbustaca/Arquitectura%20Software/J2EE/Presentaciones/JNDI.pdf"&gt;http://sophia.javeriana.edu.co/~cbustaca/Arquitectura%20Software/J2EE/Presentaciones/JNDI.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7604062975786448389?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7604062975786448389/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7604062975786448389' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7604062975786448389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7604062975786448389'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/jndi-java-naming-and-directory.html' title='JNDI, Java Naming and Directory Interface'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/ShXW9_AwDyI/AAAAAAAAAQc/aYgI4qzRpao/s72-c/jndi+arquitectura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3681662508002465097</id><published>2009-05-19T19:10:00.000-07:00</published><updated>2009-05-19T21:45:50.162-07:00</updated><title type='text'>ejemplo ejb, persistencia y servlet</title><content type='html'>bueno en mi aprendizaje diario en la plataforma j2ee, encontre&lt;br /&gt;este manual muy practico, sobre como realizar utilizar un ejb,&lt;br /&gt;persistencia y servlet, no quiero decir nada mas porque todo&lt;br /&gt;sale explicado en el manual.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nachxs.wordpress.com/2009/04/28/tutorial-ejb-persistencia-y-postgresql-en-netbeans-65/"&gt;http://nachxs.wordpress.com/2009/04/28/tutorial-ejb-persistencia-y-postgresql-en-netbeans-65/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;aplicando el ejemplo en la parte de llamar el ejb desde el servlet&lt;br /&gt;no me aparece la opcion que me muestra el ejemplo, pero lo realize&lt;br /&gt;asi&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShOJ8bbX_MI/AAAAAAAAAQU/xDEQUZ71oMc/s1600-h/obser.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 182px; height: 320px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShOJ8bbX_MI/AAAAAAAAAQU/xDEQUZ71oMc/s320/obser.JPG" alt="" id="BLOGGER_PHOTO_ID_5337761654611901634" border="0" /&gt;&lt;/a&gt;ademas en el servlet se llama al objeto que representa a la tabla de&lt;br /&gt;la base de dato, para ello tenemos que importar desde el ejb y el&lt;br /&gt;mismo netbeans nos pregunta si queremos importar este objeto.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3681662508002465097?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3681662508002465097/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3681662508002465097' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3681662508002465097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3681662508002465097'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/ejemplo-ejb-persistencia-y-servlet.html' title='ejemplo ejb, persistencia y servlet'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/ShOJ8bbX_MI/AAAAAAAAAQU/xDEQUZ71oMc/s72-c/obser.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7472663928993656750</id><published>2009-05-19T16:12:00.000-07:00</published><updated>2009-05-19T16:22:23.921-07:00</updated><title type='text'>XDoclet  concepto importante para EJB</title><content type='html'>&lt;span style="font-family: Arial,sans-serif;"&gt;XDoclet es una herramienta de código abierto, diseñada&lt;br /&gt;para generar código java. Está diseñada según la programación&lt;br /&gt;orientada a atributos, de tal manera que podemos añadir más&lt;br /&gt;funcionalidad simplemente agregando nuevos atributos (metadata)&lt;br /&gt;al código Java. Los atributos no son más que tags de JavaDoc.&lt;br /&gt;&lt;br /&gt;Esta herramienta es suamamente utilizada en los ejb 2.0, pero&lt;br /&gt;en ejb 3.0 ya viene incorporado no como XDoclet, esta herramienta&lt;br /&gt;viene a solucionar la complejidad de los ejb 2.0.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xdoclet.sourceforge.net/xdoclet/index.html"&gt;http://xdoclet.sourceforge.net/xdoclet/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=strutsxdoclet"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=strutsxdoclet&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XDocletJBossIDE"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=XDocletJBossIDE&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.imaginaworks.com/publicaciones/10-programacion-orientada-a-aspectos"&gt;http://www.imaginaworks.com/publicaciones/10-programacion-orientada-a-aspectos&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7472663928993656750?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7472663928993656750/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7472663928993656750' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7472663928993656750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7472663928993656750'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/xdoclet-concepto-importante-para-ejb.html' title='XDoclet  concepto importante para EJB'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-532621516509618683</id><published>2009-05-19T14:07:00.000-07:00</published><updated>2009-05-22T20:49:57.240-07:00</updated><title type='text'>Empezando con los EJB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShMrJ5h1zsI/AAAAAAAAAQM/PEOpPH9vvpg/s1600-h/ejb+estructura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 282px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShMrJ5h1zsI/AAAAAAAAAQM/PEOpPH9vvpg/s320/ejb+estructura.JPG" alt="" id="BLOGGER_PHOTO_ID_5337657432425746114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);font-family:Arial,Helvetica,Times;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Los EJB son componentes del contexto de servidor que cubren&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;la necesidad de intermediar entre la  capa web y diversos sistemas&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;empresariales, ademas tenemos que tener claro que no tienen nada&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;que ver con los java beans( de las clases con get y set), bueno como&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;el tema es muy largo y muy tecnico solamente dejare unos buenos link&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;para entrar bien en detalle sobre el tema.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;observacion: la version de ejb 2.0 y 3.0 son diferentes, la forma que&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ellos acceden a los datos es la principal diferencias, hay muchas&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;empresas que ocupan todavia ejb 2.0 asi que no seria&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;malo saber manipular las dos versiones de ejb. (en j2ee 1.5 se&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;añade ejb 3.0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss"&gt;&lt;br /&gt;http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.di.uniovi.es/%7Edflanvin/docencia/dasdi/teoria/Transparencias/13.%20Introducci%C3%B3n%20EJBs.pdf"&gt;http://www.di.uniovi.es/~dflanvin/docencia/dasdi/teoria/Transparencias/13.%20Introducci%C3%B3n%20EJBs.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jtech.ua.es/j2ee/ejemplos/ejb/sesion01-apuntes.htm"&gt;http://www.jtech.ua.es/j2ee/ejemplos/ejb/sesion01-apuntes.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://educnet.decom-uv.cl/educnet/uploads/C19_EJB3.pdf?nombre=p284/C19_EJB3.pdf"&gt;http://educnet.decom-uv.cl/educnet/uploads/C19_EJB3.pdf?nombre=p284/C19_EJB3.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/ejb/"&gt;http://java.sun.com/products/ejb/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dosideas.com/java/528-ejb-31-un-paso-importante-hacia-la-madurez.html"&gt;http://www.dosideas.com/java/528-ejb-31-un-paso-importante-hacia-la-madurez.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://soyunjuncohueco.wordpress.com/2009/04/23/introduccion-a-ejb-3/"&gt;http://soyunjuncohueco.wordpress.com/2009/04/23/introduccion-a-ejb-3/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.devarticles.com/c/a/Java/Getting-Started-with-Enterprise-Java-Beans-EJB-30/"&gt;http://www.devarticles.com/c/a/Java/Getting-Started-with-Enterprise-Java-Beans-EJB-30/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/j-ejb3jpa.html"&gt;http://www.ibm.com/developerworks/java/library/j-ejb3jpa.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-532621516509618683?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/532621516509618683/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=532621516509618683' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/532621516509618683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/532621516509618683'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/empezando-con-los-ejb.html' title='Empezando con los EJB'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/ShMrJ5h1zsI/AAAAAAAAAQM/PEOpPH9vvpg/s72-c/ejb+estructura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1641978501868128465</id><published>2009-05-18T17:34:00.000-07:00</published><updated>2009-05-18T20:57:57.378-07:00</updated><title type='text'>login para JSF</title><content type='html'>Como siempre ocuparemos nuestro querido IDE netbeans, lo&lt;br /&gt;primer a destacar que este ejemplo esta desarrollado sin BD y&lt;br /&gt;sin el visual web, osea a lo machito jajajaj&lt;br /&gt;&lt;br /&gt;para empezar tenemos que ver  un articulo anterior llamado&lt;br /&gt;primera aplicacion con JSF, donde explico como crear un proyecto&lt;br /&gt;de tipo JSF&lt;br /&gt;&lt;br /&gt;primero vamos a explicar un ejemplo muy sencillo, pero practico&lt;br /&gt;para entender unas ideas.&lt;br /&gt;&lt;br /&gt;obs: en este ejemplo se utiliza el servidor glassfish v2&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejemplo JSF Netbeans&lt;/span&gt; (sencillo)&lt;br /&gt;&lt;br /&gt;1.- primero creamos una pagina inicio_ejemplo.jsp, no vamos a&lt;br /&gt;ocupar la pagina de inicio que crea el proyecto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShIJYqJnhBI/AAAAAAAAAOc/aL7s276X3UQ/s1600-h/uno+jsf.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 231px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShIJYqJnhBI/AAAAAAAAAOc/aL7s276X3UQ/s320/uno+jsf.JPG" alt="" id="BLOGGER_PHOTO_ID_5337338827623597074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.- creamos un beans llamado persona.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIKKT22l6I/AAAAAAAAAOk/8ED7Rn1EtV0/s1600-h/beans+jsf.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 204px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIKKT22l6I/AAAAAAAAAOk/8ED7Rn1EtV0/s320/beans+jsf.JPG" alt="" id="BLOGGER_PHOTO_ID_5337339680632772514" border="0" /&gt;&lt;/a&gt;3.-  ahora creamos otra pagina llamada pagina_dos.jsp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIKzpa2v-I/AAAAAAAAAOs/G1yPgRckuCY/s1600-h/pagina+dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 232px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIKzpa2v-I/AAAAAAAAAOs/G1yPgRckuCY/s320/pagina+dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5337340390795558882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4.- para que funcione nuestra aplicacion tenemos que ir a modificar nuestro&lt;br /&gt;faces-config.xml&lt;br /&gt;&lt;br /&gt;con el boton derecho del  maldito roedor(jejej, tenemos la opcion&lt;br /&gt;JavaServer Faces, estas tres opciones las vamos a utilizar&lt;br /&gt;a continuacion.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIfHDoEZZI/AAAAAAAAAO0/K6PYS1aKW4U/s1600-h/seleccion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 193px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIfHDoEZZI/AAAAAAAAAO0/K6PYS1aKW4U/s320/seleccion.JPG" alt="" id="BLOGGER_PHOTO_ID_5337362714480371090" border="0" /&gt;&lt;/a&gt;5.- add navigation rule&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShIhqf_5zwI/AAAAAAAAAO8/Jfshp6Tv6Rs/s1600-h/add+navigation+rule.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 145px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShIhqf_5zwI/AAAAAAAAAO8/Jfshp6Tv6Rs/s320/add+navigation+rule.JPG" alt="" id="BLOGGER_PHOTO_ID_5337365522415210242" border="0" /&gt;&lt;/a&gt;6.- add navigation case&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIh3X6XdWI/AAAAAAAAAPE/NZSgIItC77o/s1600-h/add+navifation+case.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 288px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIh3X6XdWI/AAAAAAAAAPE/NZSgIItC77o/s320/add+navifation+case.JPG" alt="" id="BLOGGER_PHOTO_ID_5337365743582803298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7.- add managed beans&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIikc4uSWI/AAAAAAAAAPM/EAq0HF2zrMY/s1600-h/maneged+beans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 176px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIikc4uSWI/AAAAAAAAAPM/EAq0HF2zrMY/s320/maneged+beans.JPG" alt="" id="BLOGGER_PHOTO_ID_5337366518012201314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;8.- el faces-config.xml tiene que ser asi, tenemos que tener claro&lt;br /&gt;que el usuario es el indentificador de nuestra clase persona, es por&lt;br /&gt;ello que en el codigo de jsp se accede a la variable persona nombre&lt;br /&gt;con identifica&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/ADMINI%7E1/CONFIG%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIkO9GQBhI/AAAAAAAAAPc/KmhnqCHjq5s/s1600-h/faces-config.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 238px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShIkO9GQBhI/AAAAAAAAAPc/KmhnqCHjq5s/s320/faces-config.JPG" alt="" id="BLOGGER_PHOTO_ID_5337368347725006354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Observacion : como eliminamos el jsp de inicio tenemos que indicar el&lt;br /&gt;jsp de inicio para nuestra aplicacion.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShIjTQc8BnI/AAAAAAAAAPU/cf8axjqMSHw/s1600-h/observacion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 83px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/ShIjTQc8BnI/AAAAAAAAAPU/cf8axjqMSHw/s320/observacion.JPG" alt="" id="BLOGGER_PHOTO_ID_5337367322128287346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ahora el ejemplo login&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;vamos a crear dos archivos java de tipo beans, usuario y&lt;br /&gt;control_usuario&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShImGjowa5I/AAAAAAAAAPk/XJsp44lioWQ/s1600-h/usuario.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 244px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShImGjowa5I/AAAAAAAAAPk/XJsp44lioWQ/s320/usuario.JPG" alt="" id="BLOGGER_PHOTO_ID_5337370402474716050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShImgCoSFhI/AAAAAAAAAPs/vAGJ_UA-y84/s1600-h/control+usuario.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/ShImgCoSFhI/AAAAAAAAAPs/vAGJ_UA-y84/s320/control+usuario.JPG" alt="" id="BLOGGER_PHOTO_ID_5337370840290956818" border="0" /&gt;&lt;/a&gt;ahora las dos paginas que corresponden al inicio dado por el proyecto&lt;br /&gt;que es welcomeJSF&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIoVyUFPjI/AAAAAAAAAP0/qpyJkyBydto/s1600-h/welcomeJSF.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 270px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIoVyUFPjI/AAAAAAAAAP0/qpyJkyBydto/s320/welcomeJSF.JPG" alt="" id="BLOGGER_PHOTO_ID_5337372863135825458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y la pagina correspondiente al paso del login&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIojSPvgLI/AAAAAAAAAP8/c66tj-5s_dM/s1600-h/pagina+dos+login.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 252px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIojSPvgLI/AAAAAAAAAP8/c66tj-5s_dM/s320/pagina+dos+login.JPG" alt="" id="BLOGGER_PHOTO_ID_5337373095045857458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ahora el face-config.xml nos tiene que quedar asi&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIpN-iVx7I/AAAAAAAAAQE/anvTenKTlSE/s1600-h/face+config+login.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/ShIpN-iVx7I/AAAAAAAAAQE/anvTenKTlSE/s320/face+config+login.JPG" alt="" id="BLOGGER_PHOTO_ID_5337373828489529266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;en este ejemplo tenemos que tener encuenta que el parametro scope&lt;br /&gt;corresponde a session, ademas una parte clave es el from-outcome&lt;br /&gt;que corresponde al String que entrega la clase que controla el login.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1641978501868128465?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1641978501868128465/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1641978501868128465' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1641978501868128465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1641978501868128465'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/login-para-jsf.html' title='login para JSF'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/ShIJYqJnhBI/AAAAAAAAAOc/aL7s276X3UQ/s72-c/uno+jsf.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4159961456013775277</id><published>2009-05-17T16:44:00.000-07:00</published><updated>2009-05-22T20:56:36.713-07:00</updated><title type='text'>Para empezar con Struts</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShCmDTFEVKI/AAAAAAAAAOM/GH3qydpLpw4/s1600-h/struts.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 276px; height: 320px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/ShCmDTFEVKI/AAAAAAAAAOM/GH3qydpLpw4/s320/struts.JPG" alt="" id="BLOGGER_PHOTO_ID_5336948134025385122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;JSF (Java Server Faces) es un framework de desarrollo basado                                                            en el patrón MVC (Modelo Vista Controlador)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Al igual que Struts, JSF pretende normalizar y estandarizar el                                                         desarrollo de aplicaciones web. Hay que tener en cuenta JSF                                                              es posterior a Struts, y por lo tanto se a nutrido de la experiencia                                                         de este, mejorando algunas sus deficiencias. De hecho el creador                                                          de Struts (Craig R. McClanahan) también es líder de la                                                                especificación de JSF.    esta explicacion y el desarrollo de un                                                             ejemplo en JSF  lo podemos encontrar en:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jsf"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jsf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Realmente no puedo dar una opinion cual de los framework es mejor,                                           pero viendo el mercado me dado cuenta que igual solicitan mucha gente                                        que tenga el dominion del framework Struts, podria suponer que es dado                                       porque es mas antiguo que JSF.&lt;/p&gt;&lt;p&gt;Buscando cosas sobre JSF encontre un manual de Struts muy bueno y                                         amerita nombrarlo porque esta paso tras paso como realizar un login,                                                 con el cual podemos entender de forma clara como es la estructura de                                              este framework.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://elrebusque.wordpress.com/2009/03/16/frameworks-struts-con-netbeans-65/"&gt;http://elrebusque.wordpress.com/2009/03/16/frameworks-struts-con-netbeans-65/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ademas un otro link para generar un pool de conexion con Struts&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.programacion.net/simple/articulo/ale_poolstruts/"&gt;http://www.programacion.net/simple/articulo/ale_poolstruts/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.programacion.net/simple/articulo/ale_poolstruts/"&gt;&lt;/a&gt;&lt;a href="http://nachxs.wordpress.com/2008/11/15/manejo-de-sesiones-con-struts-en-netbeans-61/"&gt;http://nachxs.wordpress.com/2008/11/15/manejo-de-sesiones-con-struts-en-netbeans-61/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://eljavero.blogspot.com/2007/06/struts-con-javabeans-i.html"&gt;http://eljavero.blogspot.com/2007/06/struts-con-javabeans-i.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.netbeans.org/kb/61/web/quickstart-webapps-struts.html"&gt;http://www.netbeans.org/kb/61/web/quickstart-webapps-struts.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;y por ultimo el link oficial&lt;/p&gt;&lt;p&gt;&lt;a href="http://struts.apache.org/"&gt;http://struts.apache.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4159961456013775277?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4159961456013775277/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4159961456013775277' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4159961456013775277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4159961456013775277'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/para-empezar-con-struts.html' title='Para empezar con Struts'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/ShCmDTFEVKI/AAAAAAAAAOM/GH3qydpLpw4/s72-c/struts.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6980413472086204781</id><published>2009-05-16T14:35:00.000-07:00</published><updated>2009-05-16T14:52:34.103-07:00</updated><title type='text'>Distintas implementaciones de JSF</title><content type='html'>Actualmente existen muchas librerías de etiquetas JSF que&lt;br /&gt;pueden complementar a la implementación de la especificación&lt;br /&gt;oficial. La elección no tiene porqué cerrarse sobre una de ellas&lt;br /&gt;sino que pueden combinarse según interese.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MyFaces Tomahawk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por Apache: &lt;a href="http://myfaces.apache.org/tomahawk/"&gt;http://myfaces.apache.org/tomahawk/&lt;/a&gt;&lt;br /&gt;Este conjunto de componentes también es compatible con la&lt;br /&gt;implementación de SUN, así como con cualquier implementación&lt;br /&gt;compatible con JSF 1.1. Pueden verse los distintos componentes de&lt;br /&gt; MyFaces Tomahawk en el siguiente enlace:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://myfaces.apache.org/tomahawk/"&gt;• http://www.irian.at/myfaces/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Además pueden consultarse las principales características&lt;br /&gt;del proyecto Tomahawk en la siguiente dirección web:&lt;br /&gt;&lt;br /&gt;&lt;a href="%C3%A2%C2%80%C2%A2%20http://www.marinschek.com/myfaces/tiki/tiki-index.php?page=Features"&gt;• http://www.marinschek.com/myfaces/tiki/tiki-index.php?page=Features&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MyFaces Sandbox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por Apache: &lt;a href="http://myfaces.apache.org/sandbox/"&gt;http://myfaces.apache.org/sandbox/ &lt;/a&gt;&lt;br /&gt;Sandbox es un subproyecto de MyFaces que sirve como base&lt;br /&gt;de pruebas para las nuevas incorporaciones al proyecto de&lt;br /&gt;Tomahawk. Consiste sobre todo en componentes, pero como el&lt;br /&gt;proyecto de Tomahawk, puede también contener otras utilidades&lt;br /&gt;para JSF. Los distintos componentes pueden consultarse en&lt;br /&gt;el siguiente enlace:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.irian.at/myfaces-sandbox/"&gt;http://www.irian.at/myfaces-sandbox/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ICEfaces&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por ICEsoft:&lt;a href="http://www.icesoft.com/products/icefaces.html"&gt; http://www.icesoft.com/products/icefaces.html&lt;/a&gt;&lt;br /&gt;ICEFaces proporciona un entorno de presentación web para&lt;br /&gt;aplicaciones JSF que mejora el framework JSF estándar y el ciclo&lt;br /&gt;de vida con características interactivas basadas en AJAX. Para&lt;br /&gt;trabajar con ICEfaces puede elegirse cualquiera de las dos&lt;br /&gt;implementaciones estándar. En la siguiente dirección web pueden&lt;br /&gt;encontrarse demos sobre sus componentes:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.icesoft.com/products/demos_icefaces.html"&gt; http://www.icesoft.com/products/demos_icefaces.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RichFaces&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rich Faces es un framework de código abierto que añade capacidad&lt;br /&gt; Ajax dentro de aplicaciones JSF existentes sin recurrir a JavaScript.&lt;br /&gt;Rich Faces incluye ciclo de vida, validaciones, conversores y la gestión&lt;br /&gt;de recursos estáticos y dinámicos. Los componentes de Rich Faces&lt;br /&gt;están construidos con soporte Ajax y un alto grado de personalización&lt;br /&gt;del ##look-and-feel## que puede ser fácilmente incorporado dentro&lt;br /&gt;de las aplicaciones JSF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://labs.jboss.com/jbossrichfaces/"&gt; http://labs.jboss.com/jbossrichfaces/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AJAX blueprints components&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por java.net: &lt;a href="https://blueprints.dev.java.net/ajaxcomponents.html"&gt;https://blueprints.dev.java.net/ajaxcomponents.html&lt;/a&gt;&lt;br /&gt;Consiste en una serie de componentes AJAX basados en la tecnología JSF.&lt;br /&gt;Tienen dos librerías de componentes JSF. Una basada en la versión 1.2&lt;br /&gt;de JSF y que puede ser usada en un servidor de aplicaciones JEE5.&lt;br /&gt;El otro conjunto tiene componentes basados en JSF 1.1 y que pueden&lt;br /&gt;ejecutarse en servidores de aplicaciones J2EE 1.4. En la página oficial&lt;br /&gt;presentan demos de algunos componentes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JSF Extensions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por java.net: &lt;a href="https://jsf-extensions.dev.java.net/nonav/mvn/"&gt;https://jsf-extensions.dev.java.net/nonav/mvn/&lt;/a&gt;&lt;br /&gt;Este proyecto almacena el desarrollo de software para extender las&lt;br /&gt;capacidades de la especificación JSF. El software de este proyecto está&lt;br /&gt;pensado para que funcione en cualquier implementación que cumple la&lt;br /&gt;especificación JSF, aunque según la página oficial las capacidades se&lt;br /&gt;mejoran  cuando se ejecuta con la implementación de SUN. Este proyecto&lt;br /&gt;está dividido en tres, pudiendo trabajar de forma conjunta o por separado.&lt;br /&gt;La separación  es en función del ciclo de vida del desarrollo: run time, test&lt;br /&gt;time y design time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ajax4jsf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fue desarrollado por java.net y patrocinado por Exadel. A partir&lt;br /&gt;del 05/03/2007 Exadel y Red Hat decidieron colaborar en el desarrollo&lt;br /&gt;de esta y otras tecnologías. La página oficial del proyecto se ha movido a:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://labs.jboss.com/jbossajax4jsf/"&gt;http://labs.jboss.com/jbossajax4jsf/&lt;/a&gt; Actualmente el proyecto se&lt;br /&gt;encuentra dentro del proyecto RichFaces. Ajax4JSF es una extensión&lt;br /&gt;opensource para el estándar JSF que añade capacidades AJAX a las&lt;br /&gt;aplicaciones JSF sin la necesidad de escribir código Javascript. RichFaces&lt;br /&gt;es una librería de componentes para JSF construida sobre Ajax4jsf.&lt;br /&gt;Permite  una integración fácil de capacidades AJAX en el desarrollo&lt;br /&gt;de aplicaciones&lt;br /&gt;&lt;br /&gt;de negocio. RichFaces mejora el framework Ajax4jsf de dos formas&lt;br /&gt;importantes. Primero, aumenta el número de componentes visuales&lt;br /&gt;listos para usar. En segundo lugar, implementa completamente la&lt;br /&gt;característica skinnability de incluir un gran número de temas (skins)&lt;br /&gt;predefinidos. Con esta característica resulta mucho más fácil gestionar&lt;br /&gt;el look-and-feel de una aplicación. Pueden visualizarse algunos ejemplos&lt;br /&gt;en la siguiente URL:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://livedemo.exadel.com/richfaces-demo/welcome.jsf"&gt;http://livedemo.exadel.com/richfaces-demo/welcome.jsf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RC Faces (Rich Client Faces)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrollado por Vedana: &lt;a href="http://www.rcfaces.org/"&gt;http://www.rcfaces.org/&lt;/a&gt; RC Faces es&lt;br /&gt;una librería JSF que proporciona un conjunto de componentes para&lt;br /&gt;construir la siguiente generación de aplicaciones web. RC Faces&lt;br /&gt;usa tecnologías AJAX y una API de Javascript orientada a objetos&lt;br /&gt;para construir páginas de forma dinámica. Es compatible con la&lt;br /&gt;implementación estándar de JSF. Desde la página oficial se muestran&lt;br /&gt;algunos ejemplos de esta librería:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rcfaces.org/starter/index.jsf"&gt; http://www.rcfaces.org/starter/index.jsf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ADF Faces Todos los componentes de ADF Faces han sido donados&lt;br /&gt;por Oracle a la Fundación Apache, la cual lo acogió bajo el proyecto&lt;br /&gt;Trinidad y ahora se hace el lanzamiento de Apache MyFaces Trinidad&lt;br /&gt; Core 1.2.1. Proporciona un amplio conjunto de componentes JSF,&lt;br /&gt;siempre permitiendo las interacciones con AJAX, que simplifican&lt;br /&gt;radicalmente el desarrollo de aplicaciones web.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6980413472086204781?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6980413472086204781/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6980413472086204781' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6980413472086204781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6980413472086204781'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/distintas-implementaciones-de-jsf.html' title='Distintas implementaciones de JSF'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2342183057216494373</id><published>2009-05-15T14:19:00.000-07:00</published><updated>2009-05-22T18:47:44.355-07:00</updated><title type='text'>primera aplicacion con JSF</title><content type='html'>Este ejemplo es una introduccion para empezar con JSF en nuestro&lt;br /&gt;IDE netbeans , ademas añadir unos link para entrar mas en detalle a&lt;br /&gt;esta plataforma.&lt;br /&gt;&lt;br /&gt;en todas las secuencas de pasos que se muestran en la figura siguiente&lt;br /&gt;se selecciona siguiente.&lt;br /&gt;                                  1)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3h3g63_0I/AAAAAAAAANs/ps_wQWpkFho/s1600-h/a.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3h3g63_0I/AAAAAAAAANs/ps_wQWpkFho/s320/a.JPG" alt="" id="BLOGGER_PHOTO_ID_5336169477349834562" border="0" /&gt;&lt;/a&gt;                                       2)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sg3h8gt1lMI/AAAAAAAAAN0/sEx74f7fMVw/s1600-h/b.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sg3h8gt1lMI/AAAAAAAAAN0/sEx74f7fMVw/s320/b.JPG" alt="" id="BLOGGER_PHOTO_ID_5336169563194496194" border="0" /&gt;&lt;/a&gt;                                       3)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3iB4Qp13I/AAAAAAAAAN8/_GLa-YpeMro/s1600-h/c.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3iB4Qp13I/AAAAAAAAAN8/_GLa-YpeMro/s320/c.JPG" alt="" id="BLOGGER_PHOTO_ID_5336169655413888882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;                                4)&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3iKz9pWbI/AAAAAAAAAOE/aCLmqbpnDlI/s1600-h/dd.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 224px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3iKz9pWbI/AAAAAAAAAOE/aCLmqbpnDlI/s320/dd.JPG" alt="" id="BLOGGER_PHOTO_ID_5336169808879245746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;en la ultima lamina tengo seleccionada dos frameworks que&lt;br /&gt;corresponden a JSF, uno es para una gestionador visual y el otro&lt;br /&gt;para trabajar a lo hombresito jajajaj ( solo codigo).&lt;br /&gt;&lt;br /&gt;La realidad que con esto no hacemos nada, es por ello que tenemos&lt;br /&gt;que darnos un tiempo para entrar en detalle de esta tecnologia, es&lt;br /&gt;por ello que como siempre dare unos link interesantes para entrar&lt;br /&gt;en detalle en JSF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sicuma.uma.es/sicuma/Formacion/documentacion/JSF.pdf"&gt;http://www.sicuma.uma.es/sicuma/Formacion/documentacion/JSF.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adeideas.com/paquito/archives/269/Principios_de_JSF.htm"&gt;http://www.adeideas.com/paquito/archives/269/Principios_de_JSF.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/javaserverfaces/"&gt;http://java.sun.com/javaee/javaserverfaces/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/jsf/netbeans/index.shtml"&gt;http://www.roseindia.net/jsf/netbeans/index.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/61/web/jastrologer-intro.html"&gt;http://www.netbeans.org/kb/61/web/jastrologer-intro.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jsfcompref.com/code_download.html"&gt;http://jsfcompref.com/code_download.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/enterprisetechtips/entry/true_abstraction_composite_ui_components"&gt;http://blogs.sun.com/enterprisetechtips/entry/true_abstraction_composite_ui_components&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/tech/java/jsf.html"&gt;http://www.oracle.com/technology/tech/java/jsf.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/60/web/web-jpa.html"&gt;http://www.netbeans.org/kb/60/web/web-jpa.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/60/web/intro.html"&gt;http://www.netbeans.org/kb/60/web/intro.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/60/web/helloweb.html"&gt;http://www.netbeans.org/kb/60/web/helloweb.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.netbeans.org/UsingHibernateWithJPA"&gt;http://wiki.netbeans.org/UsingHibernateWithJPA&lt;/a&gt;&lt;br /&gt;&lt;a href="http://weblogs.java.net/blog/maxpoon/archive/2007/06/extending_the_n.html"&gt;http://weblogs.java.net/blog/maxpoon/archive/2007/06/extending_the_n.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2342183057216494373?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2342183057216494373/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2342183057216494373' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2342183057216494373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2342183057216494373'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/primera-aplicacion-con-jsf.html' title='primera aplicacion con JSF'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3h3g63_0I/AAAAAAAAANs/ps_wQWpkFho/s72-c/a.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1422322168282823033</id><published>2009-05-15T13:44:00.000-07:00</published><updated>2009-05-15T13:49:52.806-07:00</updated><title type='text'>Ejemplo de ejb, persistencia y Struts</title><content type='html'>en un momento de aburrimiento encontre este video&lt;br /&gt;en youtube y que esta rebueno porque nos muestra&lt;br /&gt;paso a paso como generar una aplicacion empresarial&lt;br /&gt;con ejb, persitencia y Struts.&lt;br /&gt;&lt;br /&gt;siempre es entrete ver un video para aprender y&lt;br /&gt;ademas la musica que tiene es super relajada jajaja&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_jQMCbytpFM&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/_jQMCbytpFM&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1422322168282823033?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1422322168282823033/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1422322168282823033' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1422322168282823033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1422322168282823033'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/ejb-persistencia-y-struts.html' title='Ejemplo de ejb, persistencia y Struts'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1916020046184154459</id><published>2009-05-15T13:28:00.001-07:00</published><updated>2009-05-15T13:42:36.060-07:00</updated><title type='text'>ejemplo de variables scope en JSTL</title><content type='html'>Este ejemplo es muy sencillo y lo encontre bueno para ver el comportamiento&lt;br /&gt;de las variables scope.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3SzFIJH7I/AAAAAAAAANE/rYcBrhrGnzQ/s1600-h/uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 228px; height: 320px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3SzFIJH7I/AAAAAAAAANE/rYcBrhrGnzQ/s320/uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5336152908495396786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sg3TCjup_LI/AAAAAAAAANM/sRqcEoqHoQE/s1600-h/dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 306px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sg3TCjup_LI/AAAAAAAAANM/sRqcEoqHoQE/s320/dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5336153174408035506" border="0" /&gt;&lt;/a&gt;///////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3TXENI6YI/AAAAAAAAANU/s-_aOVaejKo/s1600-h/tres.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 247px; height: 320px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sg3TXENI6YI/AAAAAAAAANU/s-_aOVaejKo/s320/tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5336153526723209602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;para hacer un cortar y pegar tenemos el link del ejemplo&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/Code/Java/JSTL/Variablescopepagesessionandapplication.htm"&gt;http://www.java2s.com/Code/Java/JSTL/Variablescopepagesessionandapplication.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1916020046184154459?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1916020046184154459/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1916020046184154459' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1916020046184154459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1916020046184154459'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/ejemplo-de-variables-scope-en-jstl.html' title='ejemplo de variables scope en JSTL'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/Sg3SzFIJH7I/AAAAAAAAANE/rYcBrhrGnzQ/s72-c/uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-383495690870998521</id><published>2009-05-14T12:52:00.000-07:00</published><updated>2009-05-14T13:20:15.930-07:00</updated><title type='text'>conexion base de datos con jstl</title><content type='html'>bueno para que reecribir algo que ya esta escrito, si la idea del blog&lt;br /&gt;es dar una manito a la gente que empieza con j2ee al igual que yo ,&lt;br /&gt;el siguiente link tiene una conexion con netbeans  y postgres,&lt;br /&gt;es sumper simple.&lt;br /&gt;&lt;a href="http://www.ooscarr.com/nerd/elblog/2008/09/conectar-la-base-de-datos-desde-jsp.php"&gt;&lt;br /&gt;http://www.ooscarr.com/nerd/elblog/2008/09/conectar-la-base-de-datos-desde-jsp.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ademas en el blog tenemos un ejemplo muy interesante de&lt;br /&gt;como desarrollar graficos con jsp.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ooscarr.com/nerd/elblog/2008/08/un-grfico-bajo-jsp-con-cewolf-en.php"&gt;http://www.ooscarr.com/nerd/elblog/2008/08/un-grfico-bajo-jsp-con-cewolf-en.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-383495690870998521?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/383495690870998521/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=383495690870998521' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/383495690870998521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/383495690870998521'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/conexion-base-de-datos-con-jstl.html' title='conexion base de datos con jstl'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2052221607625485213</id><published>2009-05-13T14:27:00.001-07:00</published><updated>2009-05-13T14:54:32.364-07:00</updated><title type='text'>observacion a JSTL en Netbeans</title><content type='html'>si queremos ejecutar los ejemplo que encontramos en:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.java2s.com/Code/Java/JSTL/CatalogJSTL.htm"&gt;http://www.java2s.com/Code/Java/JSTL/CatalogJSTL.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.roseindia.net/jstl/var-support-jstl-core.shtml"&gt;http://www.roseindia.net/jstl/var-support-jstl-core.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;vamos apreciar que no tenemos lo esperado en el ejemplo,&lt;br /&gt;esto es dado por la version de jsp y jstl , para que nos&lt;br /&gt;funcione bien los ejemplos en el netbeans 6.5 y el servidor&lt;br /&gt;glassfish v3 tenemos que cambiar&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"  %&gt;&lt;br /&gt;&lt;br /&gt;por&lt;br /&gt;&lt;br /&gt;&lt;%@ taglib prefix = "c" uri = "http://java.sun.com/jstl/core_rt"%&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2052221607625485213?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2052221607625485213/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2052221607625485213' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2052221607625485213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2052221607625485213'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/observacion-jstl-en-netbeans.html' title='observacion a JSTL en Netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8682772693854875567</id><published>2009-05-09T16:28:00.000-07:00</published><updated>2009-05-09T17:10:08.638-07:00</updated><title type='text'>pool de conexion con netbeans</title><content type='html'>para una aplicacion para una empresa que tiene muchos&lt;br /&gt;clientes, la conexion tiene que ser mas fluida, y no nos podemos&lt;br /&gt;dar el lujo de abrir y cerrar conexiones , es por ello que se genera&lt;br /&gt;un pool de conexion que nos deja abierto constatemente un numero&lt;br /&gt;de conexiones, las cuales se van tomando mientra el sistema los&lt;br /&gt;requiera.&lt;br /&gt;&lt;br /&gt;tomando un ejempo de:&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=pool_performance"&gt;http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=pool_performance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Para el mismo intervalo de tiempo, el servlet, al usar del pool                                                   ha                                          sido capaz de atender 30727 peticiones mientras que sin el                                               pool                                                apenas fue capaz de atender 630 peticiones.&lt;/li&gt;&lt;li&gt;En media, el servlet, al usar el pool a logrado atender las                                                        peticiones                                          en 1 milisegundo, mientras que sin el uso del pool este                                           tiempo se                                     incrementa a 79 milisegundos.&lt;/li&gt;&lt;li&gt;El rendimiento del servlet, al usar el pool ha sido de 6138 peticiones                                                                                 por segundo, mientras que sin el Pool decrece drásticamente a 124                                                                       peticiones por segundo.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;1 se puede hacer de dos formas, una es generar el pool de conexion como&lt;br /&gt;primera accion o generar un jdbc resource el cual nos pregunta si queremos&lt;br /&gt;crear un pool de conexion, como primera accion.&lt;br /&gt;nosostro vamos hacerlo de la forma mas rapido(osea la segunda)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYT5pTB5wI/AAAAAAAAALs/pIyTXoHNc_o/s1600-h/inicio+pool.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYT5pTB5wI/AAAAAAAAALs/pIyTXoHNc_o/s320/inicio+pool.JPG" alt="" id="BLOGGER_PHOTO_ID_5333972689726072578" border="0" /&gt;&lt;/a&gt;2.- seleccionamos create new jdbc connection pool, y en jndi colocamos&lt;br /&gt;un nombre para identificar nuestro pool(ej JDBC/ se tiene que respetar)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYUW2d-NpI/AAAAAAAAAL0/s6KX8RZi43U/s1600-h/pool+02.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYUW2d-NpI/AAAAAAAAAL0/s6KX8RZi43U/s320/pool+02.JPG" alt="" id="BLOGGER_PHOTO_ID_5333973191477835410" border="0" /&gt;&lt;/a&gt;3.- un siguiente para la proxima pantalla.&lt;br /&gt;&lt;br /&gt;4.- seleccionamos nuestra base de dato&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYVXYqobtI/AAAAAAAAAL8/kplFSP-6x7s/s1600-h/pool01.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYVXYqobtI/AAAAAAAAAL8/kplFSP-6x7s/s320/pool01.JPG" alt="" id="BLOGGER_PHOTO_ID_5333974300169367250" border="0" /&gt;&lt;/a&gt;5.- tenemos que agregar unos valores en la tabla&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYV_YlOkWI/AAAAAAAAAME/k3dZu3M2Byg/s1600-h/pool04.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYV_YlOkWI/AAAAAAAAAME/k3dZu3M2Byg/s320/pool04.JPG" alt="" id="BLOGGER_PHOTO_ID_5333974987341468002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;los valores son  serverName -&gt;localhost&lt;br /&gt;                databaseName -&gt;ejemplo&lt;br /&gt;                portNumber     -&gt;5432&lt;br /&gt;&lt;br /&gt;puede probar si quieres sacando alguno para ver si funciona,&lt;br /&gt;pero con esos estamos bien.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYXJP8PBPI/AAAAAAAAAMM/fKTHu7pq68s/s1600-h/pool05.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 266px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYXJP8PBPI/AAAAAAAAAMM/fKTHu7pq68s/s320/pool05.JPG" alt="" id="BLOGGER_PHOTO_ID_5333976256332367090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;bueno terminamos una parte del pool ahora tenemos que añadirlo&lt;br /&gt;a nuestro codigo&lt;br /&gt;&lt;br /&gt;en nuestro servlet, con el boton derecho del mouse seleccionamos&lt;br /&gt;insertar codigo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgYXdgJ4elI/AAAAAAAAAMU/cFzusT4nPW4/s1600-h/pool1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgYXdgJ4elI/AAAAAAAAAMU/cFzusT4nPW4/s320/pool1.JPG" alt="" id="BLOGGER_PHOTO_ID_5333976604281961042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;despues seleccionamos use database...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYXy7TqJWI/AAAAAAAAAMc/RnhWcukWvec/s1600-h/pool2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 253px; height: 221px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYXy7TqJWI/AAAAAAAAAMc/RnhWcukWvec/s320/pool2.JPG" alt="" id="BLOGGER_PHOTO_ID_5333976972347975010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;seleccionamos add de reference&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SgYYDdRfPZI/AAAAAAAAAMk/OGjOJa-RRAc/s1600-h/pool3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 188px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SgYYDdRfPZI/AAAAAAAAAMk/OGjOJa-RRAc/s320/pool3.JPG" alt="" id="BLOGGER_PHOTO_ID_5333977256343584146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;aqui nos tiene que aparecer el nombre de nuestro jndi que creamos&lt;br /&gt;anteriomente y le damos un nombre al reference name y aceptar&lt;br /&gt;(yo en general coloco el mismo)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgYYdo-gHvI/AAAAAAAAAMs/XVLWK3ajVPE/s1600-h/pool4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 125px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgYYdo-gHvI/AAAAAAAAAMs/XVLWK3ajVPE/s320/pool4.JPG" alt="" id="BLOGGER_PHOTO_ID_5333977706161774322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;al finalizar este proceso nos aparece el siguiente codigo&lt;br /&gt;@Resource(name = "jdbc/prueba")  // ojo que este tiene que ser con jdbc&lt;br /&gt;  private DataSource jdbcPrueba;&lt;br /&gt;&lt;br /&gt;despues de terminar esto tenemos que agregar el jndi a nuestro web.xml&lt;br /&gt;del proyecto&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYZhW-YA_I/AAAAAAAAAM0/V_gmYBPzl18/s1600-h/reference.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 158px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgYZhW-YA_I/AAAAAAAAAM0/V_gmYBPzl18/s320/reference.JPG" alt="" id="BLOGGER_PHOTO_ID_5333978869560509426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y por ultimo nuestro codigo para el servlet&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYa0yNQ4lI/AAAAAAAAAM8/UJHjC1G5UCM/s1600-h/conex.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 215px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYa0yNQ4lI/AAAAAAAAAM8/UJHjC1G5UCM/s320/conex.JPG" alt="" id="BLOGGER_PHOTO_ID_5333980302799856210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;en el lookup tenemos que colocar el jndi, ojo con este concepto que es super&lt;br /&gt;importante y mas adelante hablare de el.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8682772693854875567?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8682772693854875567/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8682772693854875567' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8682772693854875567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8682772693854875567'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/pool-de-conexion-con-netbeans.html' title='pool de conexion con netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SgYT5pTB5wI/AAAAAAAAALs/pIyTXoHNc_o/s72-c/inicio+pool.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-9062733953090995009</id><published>2009-05-09T13:43:00.000-07:00</published><updated>2009-05-09T13:53:36.407-07:00</updated><title type='text'>Funcionamiento de un Pool de conexiones</title><content type='html'>Una aplicación Web que accede a un &lt;span class="resaltarRojo"&gt;RDBMS&lt;/span&gt; (&lt;span class="rojo"&gt;Relational DataBase&lt;br /&gt;                                                   Management System&lt;/span&gt;) remoto a través de un &lt;span class="resaltarRojo"&gt;driver de Tipo 4:                                                    &lt;br /&gt;100% Java a través de conexión de Red directa&lt;/span&gt; establece una                                                            &lt;br /&gt;conexión física con una BDS. El establecicimiento de dicha&lt;br /&gt;conexión                                              consume CPU, memoria y tiempo.     &lt;p&gt;Una aplicación Web realiza un servicio para varios clientes, si el                                                          Sitio Web tiene un nivel de impactos relativamente alto es evidente                                                                                                         que una sola conexión con la BDS no es suficiente porque mientras                                                                                                            un usuario la está utilizando, pueden haber otros usuarios que estén                                                                           esperando dicha conexión.&lt;/p&gt;     &lt;p&gt;Si queremos que un Sitio Web pueda crear más de una conexión a                                                                                                  una misma BDS, lo tendremos que hacer nosotros mismos creando                                                                                                         y destruyendo conexiones físicas a la BDS. Esto tiene varios                                                                                                inconvenientes&lt;/p&gt;     &lt;ul&gt;&lt;li&gt;en vez de dedicarnos al desarrollo de la lógica de negocio, nos                                                                                          tenemos que involucrar en detalles de bajo nivel de programación                                                                                   de Bases de Datos&lt;/li&gt;&lt;li&gt;cada conexión como se ha mencionado anteriormente tiene un                                                                                       coste adicional de CPU, memoria y tiempo&lt;/li&gt;&lt;/ul&gt;     &lt;p&gt;Para solventar estos inconvenientes el &lt;span class="resaltarRojo"&gt;JDBC Optional Package API                                                                                                 &lt;/span&gt; nos ofrece un &lt;span class="resaltarRojo"&gt;Pool de conexiones&lt;/span&gt; o&lt;span class="resaltarRojo"&gt; Reserva de conexiones&lt;/span&gt; que funciona                                                                                       de forma transparente y no crea un coste adicional a nuestras aplicaciones                                                                       Web. &lt;/p&gt;     &lt;p&gt;El estado inicial de un Pool de conexiones consiste en &lt;span class="pasos"&gt;crear las conexiones                                                                           físicas iniciales&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgXr6rkA3KI/AAAAAAAAALU/-N6pAz6C_6A/s1600-h/estruc1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 125px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgXr6rkA3KI/AAAAAAAAALU/-N6pAz6C_6A/s320/estruc1.JPG" alt="" id="BLOGGER_PHOTO_ID_5333928727048936610" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;span class="pasos"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Cuando &lt;span class="pasos"&gt;un Objeto Java del Servidor J2EE requiere una conexión&lt;/span&gt; a                                                                                                   través del método &lt;span class="codigoJavaRojoNegrita"&gt;dataSource.getConnection()&lt;/span&gt;, la fuente de datos                                                                                   &lt;span class="codigoJavaRojoNegrita"&gt;javax.sql.DataSource&lt;/span&gt; habla con el Pool de conexiones y éste le entrega                                                                                              una conexión lógica &lt;span class="codigoJavaRojoNegrita"&gt;java.sql.Connection&lt;/span&gt;. Esta conexión lógica finalmente                                                                        es recibida por el Objeto Java&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgXsOsJ9V7I/AAAAAAAAALc/dsLLMvq5awo/s1600-h/estruc2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 123px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SgXsOsJ9V7I/AAAAAAAAALc/dsLLMvq5awo/s320/estruc2.JPG" alt="" id="BLOGGER_PHOTO_ID_5333929070805473202" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Cuando &lt;span class="pasos"&gt;un Objeto Java del Servidor J2EE desea cerrar una conexión&lt;/span&gt; a                                     través del método &lt;span class="codigoJavaRojoNegrita"&gt;connection.close()&lt;/span&gt;, la fuente de datos&lt;span class="codigoJavaRojoNegrita"&gt; javax.sql.DataSource                             &lt;/span&gt; habla con el Pool de conexiones y le devuelve la conexión lógica en cuestión. &lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgXsxaW9iAI/AAAAAAAAALk/dyJgtCcsL0Y/s1600-h/estruc4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 130px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgXsxaW9iAI/AAAAAAAAALk/dyJgtCcsL0Y/s320/estruc4.JPG" alt="" id="BLOGGER_PHOTO_ID_5333929667323594754" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-9062733953090995009?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/9062733953090995009/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=9062733953090995009' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9062733953090995009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9062733953090995009'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/funcionamiento-de-un-pool-de-conexiones.html' title='Funcionamiento de un Pool de conexiones'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SgXr6rkA3KI/AAAAAAAAALU/-N6pAz6C_6A/s72-c/estruc1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7846592065876891632</id><published>2009-05-08T10:18:00.000-07:00</published><updated>2009-05-08T10:53:34.281-07:00</updated><title type='text'>JSTL</title><content type='html'>¿Que es JSTL?&lt;br /&gt;&lt;br /&gt;• JSTL significa Java Standard Template Library (biblioteca&lt;br /&gt;de etiquetas estándar para Java).&lt;br /&gt;• JSTL es un subconjunto de las etiquetas disponibles en JSP 2.0.&lt;br /&gt;• JSTL no contiene código Java.&lt;br /&gt;• JSTL es sencillo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JSTL es una biblioteca que implementa funciones de uso&lt;br /&gt;frecuente en aplicaciones JSP. En concreto, JSTL proporciona&lt;br /&gt;&lt;br /&gt;Cinco bibliotecas de etiquetas JSP:&lt;br /&gt;&lt;br /&gt;• Funciones comunes de iteración sobre datos, operaciones&lt;br /&gt;condicionales, e importación de otras páginas.&lt;br /&gt;&lt;br /&gt;• Internacionalización y formateo de texto.&lt;br /&gt;&lt;br /&gt;• Funciones de manipulación de cadenas.&lt;br /&gt;&lt;br /&gt;• Procesamiento de XML.&lt;br /&gt;&lt;br /&gt;• Acceso a bases de datos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bueno de lo dicho anteriormente solamente es una pequeña&lt;br /&gt;introduccion,  solamente un puntapie inicial para entrar&lt;br /&gt;a JSTL, puesto como diria una tia "hay mucho paño que cortar".&lt;br /&gt;&lt;br /&gt;Como siempre un pequeño ejemplo y despues su buenos&lt;br /&gt;link para entrar en detalle en este tema.&lt;br /&gt;&lt;br /&gt;Ej: JSTL que recibe parametros de un html, sencillo para&lt;br /&gt;empezar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.- Como primero, tenemos que añadir la libreria JSTL&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgRtZDkXl2I/AAAAAAAAAK0/NZ728-Wk3bE/s1600-h/configuracion+1+JSTL.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 202px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgRtZDkXl2I/AAAAAAAAAK0/NZ728-Wk3bE/s320/configuracion+1+JSTL.JPG" alt="" id="BLOGGER_PHOTO_ID_5333508135935514466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SgRtdiFk__I/AAAAAAAAAK8/AO-g-43QaD4/s1600-h/configuracion+2+jstl.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 288px; height: 320px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SgRtdiFk__I/AAAAAAAAAK8/AO-g-43QaD4/s320/configuracion+2+jstl.JPG" alt="" id="BLOGGER_PHOTO_ID_5333508212847345650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.- Pagina html&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgRu1hfLpKI/AAAAAAAAALE/085SzBOgh3w/s1600-h/html+sencillo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgRu1hfLpKI/AAAAAAAAALE/085SzBOgh3w/s320/html+sencillo.JPG" alt="" id="BLOGGER_PHOTO_ID_5333509724514788514" border="0" /&gt;&lt;/a&gt;3.- nuestro JSTL, que recibe parametros de un html&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgRu9Fg112I/AAAAAAAAALM/WSralplAhe4/s1600-h/primer+jstl.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 276px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgRu9Fg112I/AAAAAAAAALM/WSralplAhe4/s320/primer+jstl.JPG" alt="" id="BLOGGER_PHOTO_ID_5333509854444509026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;para finalizar unos link :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://atoms.net84.net/wordpress/wp-content/uploads/2008/11/jstl.pdf"&gt;http://atoms.net84.net/wordpress/wp-content/uploads/2008/11/jstl.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/jsp/jstl/"&gt;http://java.sun.com/products/jsp/jstl/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7846592065876891632?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7846592065876891632/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7846592065876891632' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7846592065876891632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7846592065876891632'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/jstl.html' title='JSTL'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SgRtZDkXl2I/AAAAAAAAAK0/NZ728-Wk3bE/s72-c/configuracion+1+JSTL.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1739633773636371167</id><published>2009-05-06T10:36:00.000-07:00</published><updated>2009-05-06T10:48:05.771-07:00</updated><title type='text'>Ejemplos JSP y otos</title><content type='html'>despues de entrar en mas detalle en jsp, uno tiene&lt;br /&gt;que poner en practica lo aprendido, es por lo cual que&lt;br /&gt;nuestro querido IDE Netbeans trae una seccion de&lt;br /&gt;ejemplos de la mayoria de las tecnologias que soporta.&lt;br /&gt;&lt;br /&gt;estos ejemplos nos pueden ayudar a entender como&lt;br /&gt;se hacen algo puntual, porque es imporsible saber&lt;br /&gt;hacer todo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgHLWwvlelI/AAAAAAAAAKs/DoisHztCzFg/s1600-h/ejemplos+buenos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgHLWwvlelI/AAAAAAAAAKs/DoisHztCzFg/s320/ejemplos+buenos.JPG" alt="" id="BLOGGER_PHOTO_ID_5332767025685428818" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1739633773636371167?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1739633773636371167/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1739633773636371167' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1739633773636371167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1739633773636371167'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/ejemplos-jsp-y-otos.html' title='Ejemplos JSP y otos'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SgHLWwvlelI/AAAAAAAAAKs/DoisHztCzFg/s72-c/ejemplos+buenos.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6544799382257046532</id><published>2009-05-05T20:49:00.000-07:00</published><updated>2009-05-22T18:51:53.630-07:00</updated><title type='text'>beans en jsp</title><content type='html'>los famosos java beans que se utilizan en j2se, tambien se pueden&lt;br /&gt;utilizar en jsp, las principales caracteristicas es:&lt;br /&gt;&lt;br /&gt;Esta marca sirve para instanciar un JavaBean si no existe, o&lt;br /&gt;localizar una instancia ya existente, para su uso desde la&lt;br /&gt;página.&lt;br /&gt;&lt;br /&gt;• Los JavaBeans son objetos Java que cumplen ciertas&lt;br /&gt;características en cuanto a su diseño.&lt;br /&gt;&lt;br /&gt;• Se utilizan para reducir al máximo el código Java insertado&lt;br /&gt;en una página JSP. En lugar de meterlo directamente en el&lt;br /&gt;fichero JSP se mete en un objeto y éste se llama desde el&lt;br /&gt;JSP.&lt;br /&gt;&lt;br /&gt;• Permite separar la lógica de ejecución (en el JavaBean) de&lt;br /&gt;la presentación (en el servlet generado)&lt;br /&gt;&lt;br /&gt;Se encapsula el código Java en un objeto (JavaBean) y&lt;br /&gt;se instancia y usa con el JSP.&lt;br /&gt; -Si se usa un JavaBean en una página habrá que definir la&lt;br /&gt;  clase correspondiente, creando los métodos set y get para&lt;br /&gt;  los atributos definidos&lt;br /&gt;&lt;br /&gt;• Dentro del servlet generado se puede llamar a métodos de&lt;br /&gt;un JavaBean que se encarguen de realizar ciertas&lt;br /&gt;operaciones y el servlet muestra el resultado de las mismas&lt;br /&gt;&lt;br /&gt;• Ventaja del traslado de la lógica a un JavaBean&lt;br /&gt;      – Separación de interfaz de la implementación&lt;br /&gt;&lt;br /&gt;Ejemplo&lt;br /&gt;1.- Clase beans&lt;br /&gt;public class LenguajeBean {&lt;br /&gt;&lt;br /&gt;private String nombre;&lt;br /&gt;private String lenguaje;&lt;br /&gt;public LenguajeBean() {}&lt;br /&gt;&lt;br /&gt;public void setNombre(String nombre) {&lt;br /&gt;&lt;br /&gt;this.nombre=nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getNombre(){&lt;br /&gt;&lt;br /&gt;return nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setLenguaje(String lenguaje){&lt;br /&gt;&lt;br /&gt;this.lenguaje=lenguaje;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getLenguaje() {&lt;br /&gt;&lt;br /&gt;return lenguaje;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getcomentariosLenguaje (){&lt;br /&gt;&lt;br /&gt;if (lenguaje.equals("Java")){&lt;br /&gt;          return "El rey de los lenguaje Orientados a objetos";&lt;br /&gt;}&lt;br /&gt;else if (lenguaje.equals("C++")){&lt;br /&gt;          return "Demasiado complejo";&lt;br /&gt;&lt;br /&gt;} else if (lenguaje.equals("Perl")){&lt;br /&gt;           return "OK si te gusta el códigoincomprensible";&lt;br /&gt;       }else {&lt;br /&gt;               return "Lo siento, no conozco ellenguaje " + lenguaje ;&lt;br /&gt;             }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;2.- pagina html con un form y que solicita una pagina jsp.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgEN-5kB8FI/AAAAAAAAAKc/leTELZRf-HI/s1600-h/beans+jsp.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 262px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SgEN-5kB8FI/AAAAAAAAAKc/leTELZRf-HI/s320/beans+jsp.JPG" alt="" id="BLOGGER_PHOTO_ID_5332558808038371410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3.- ejecutamos el jsp con el beans&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgEORJZWlZI/AAAAAAAAAKk/mCTAvJ2TC3E/s1600-h/beans+jsp+real.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SgEORJZWlZI/AAAAAAAAAKk/mCTAvJ2TC3E/s320/beans+jsp+real.JPG" alt="" id="BLOGGER_PHOTO_ID_5332559121526199698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y por ultimo unos link de interes sobre este tema:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/products/jsp/html/jspbasics.fm2.html"&gt;http://java.sun.com/products/jsp/html/jspbasics.fm2.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html"&gt;http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.elo.utfsm.cl/%7Eelo326/Presentaciones/Ronda_1/Java_Beans.pdf"&gt;http://www.elo.utfsm.cl/~elo326/Presentaciones/Ronda_1/Java_Beans.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.idg.es/iworld/articulo.asp?id=125940"&gt;http://www.idg.es/iworld/articulo.asp?id=125940&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nachxs.wordpress.com/2008/12/22/leer-un-bean-con-etiquetas-jsp-netbeans-65/"&gt;http://nachxs.wordpress.com/2008/12/22/leer-un-bean-con-etiquetas-jsp-netbeans-65/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6544799382257046532?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6544799382257046532/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6544799382257046532' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6544799382257046532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6544799382257046532'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/beans-en-jsp.html' title='beans en jsp'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SgEN-5kB8FI/AAAAAAAAAKc/leTELZRf-HI/s72-c/beans+jsp.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1338244842702470283</id><published>2009-05-04T19:28:00.000-07:00</published><updated>2009-05-04T19:35:11.014-07:00</updated><title type='text'>un JSP es realmente un Servlet</title><content type='html'>Introducción a JSP&lt;br /&gt;&lt;br /&gt;• JSP es una especificación de Sun Microsystems&lt;br /&gt;&lt;br /&gt;• Sirve para crear y gestionar páginas web dinámicas&lt;br /&gt;&lt;br /&gt;• Permite mezclar en una página código HTML para generar&lt;br /&gt;la parte estática, con contenido dinámico generado a partir&lt;br /&gt;de marcas especiales &lt;% .... %&gt;&lt;br /&gt;&lt;br /&gt;• El contenido dinámico se obtiene, en esencia, gracias a la&lt;br /&gt;posibilidad de incrustar dentro de la página código Java de&lt;br /&gt;diferentes formas&lt;br /&gt;&lt;br /&gt;• Su objetivo final es separar la interfaz (presentación visual)&lt;br /&gt;de la implementación (lógica de ejecución)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sf-lLk-n40I/AAAAAAAAAKM/sVf6KyMTApE/s1600-h/jsp+proceso+servlet.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 50px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sf-lLk-n40I/AAAAAAAAAKM/sVf6KyMTApE/s320/jsp+proceso+servlet.JPG" alt="" id="BLOGGER_PHOTO_ID_5332162102153438018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La página JSP se convierte en un servlet&lt;br /&gt;&lt;br /&gt;• La conversión la realiza en la máquina servidora el motor o&lt;br /&gt;contenedor JSP, la primera vez que se solicita la página&lt;br /&gt;JSP&lt;br /&gt;&lt;br /&gt;• Este servlet generado procesa cualquier petición para esa&lt;br /&gt;página JSP&lt;br /&gt;&lt;br /&gt;• Si se modifica el código de la página JSP, entonces se&lt;br /&gt;regenera y recompila automáticamente el servlet y se&lt;br /&gt;recarga la próxima vez que sea solicitada&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sf-lzsXT2wI/AAAAAAAAAKU/2V-Ckkh38hI/s1600-h/funcionamiento+del+jsp.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 195px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/Sf-lzsXT2wI/AAAAAAAAAKU/2V-Ckkh38hI/s320/funcionamiento+del+jsp.JPG" alt="" id="BLOGGER_PHOTO_ID_5332162791330798338" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1338244842702470283?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1338244842702470283/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1338244842702470283' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1338244842702470283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1338244842702470283'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/un-jsp-es-realmente-un-servlet.html' title='un JSP es realmente un Servlet'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/Sf-lLk-n40I/AAAAAAAAAKM/sVf6KyMTApE/s72-c/jsp+proceso+servlet.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2574170910256556384</id><published>2009-05-04T13:16:00.000-07:00</published><updated>2009-05-04T13:30:08.579-07:00</updated><title type='text'>un ejemplo de servlet muy bueno</title><content type='html'>En mi busqueda de informacion sobre los servlet encontre este&lt;br /&gt;muy buen ejemplo, y no es el mitico hola mundo jajaajaj, porque&lt;br /&gt;supuestamente despues un cliente no quiere un hola mundo,&lt;br /&gt;en este ejemplo podemos ver un mantenedor interesante con&lt;br /&gt;conexion a base de dato, solamente que esta realizado con&lt;br /&gt;Datadriver que corresponde a la conexion mas simple y que&lt;br /&gt;en realidad no se implementa mucho en j2ee. pero para empezar&lt;br /&gt;esta muy bueno.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sf9OQGXGxVI/AAAAAAAAAKE/AHebIQ2fzT0/s1600-h/formulario.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 250px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sf9OQGXGxVI/AAAAAAAAAKE/AHebIQ2fzT0/s320/formulario.jpg" alt="" id="BLOGGER_PHOTO_ID_5332066522322355538" border="0" /&gt;&lt;/a&gt;el codigo&lt;a href="http://flanagan.ugr.es/docencia/2005-2006/2/servlets/ejemplos/Persona.java"&gt; http://flanagan.ugr.es/docencia/2005-2006/2/servlets/ejemplos/Persona.java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;la direccion de este  ejemplo es:&lt;br /&gt;&lt;a href="http://flanagan.ugr.es/docencia/2005-2006/2/servlets/ejemplos.html"&gt;http://flanagan.ugr.es/docencia/2005-2006/2/servlets/ejemplos.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;y  como extra unas direcciones para aprender o repasar los conceptos&lt;br /&gt;de un servlet&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dis.um.es/%7Ejbermudez/dad/"&gt;http://dis.um.es/~jbermudez/dad/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.scribd.com/doc/7090030/Servlet-Completo"&gt;http://www.scribd.com/doc/7090030/Servlet-Completo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets2.html#75087"&gt;http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets2.html#75087&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf"&gt;http://www.tecnun.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.proactiva-calidad.com/java/servlets/index.html"&gt;http://www.proactiva-calidad.com/java/servlets/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2574170910256556384?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2574170910256556384/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2574170910256556384' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2574170910256556384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2574170910256556384'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/un-ejemplo-de-servlet-muy-bueno.html' title='un ejemplo de servlet muy bueno'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/Sf9OQGXGxVI/AAAAAAAAAKE/AHebIQ2fzT0/s72-c/formulario.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8255402262198310460</id><published>2009-05-04T12:15:00.000-07:00</published><updated>2009-05-04T12:35:47.683-07:00</updated><title type='text'>El primer paso para aprender J2EE</title><content type='html'>El primer paso para empezar con j2ee es aprender como es su&lt;br /&gt;arquitectura, la figura siguiente es una de varias que tienes que&lt;br /&gt;comprender bien, antes de empezar con los servlet, jsp, ejb y&lt;br /&gt;miles de cosas que se pueden aprender en esta plataforma.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/Sf8_gcrnMNI/AAAAAAAAAJ8/y6R17N5fwWw/s1600-h/arquite+j2ee.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 222px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/Sf8_gcrnMNI/AAAAAAAAAJ8/y6R17N5fwWw/s320/arquite+j2ee.JPG" alt="" id="BLOGGER_PHOTO_ID_5332050310517436626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como este tema es muy extenso solamente dare unos link para buscar&lt;br /&gt;informacion sobre este tema:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javaee/5/docs/tutorial/doc/index.html"&gt;http://java.sun.com/javaee/5/docs/tutorial/doc/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.proactiva-calidad.com/java/arquitectura/index.html"&gt;http://www.proactiva-calidad.com/java/arquitectura/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8255402262198310460?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8255402262198310460/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8255402262198310460' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8255402262198310460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8255402262198310460'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/el-primer-paso-para-aprender-j2ee.html' title='El primer paso para aprender J2EE'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/Sf8_gcrnMNI/AAAAAAAAAJ8/y6R17N5fwWw/s72-c/arquite+j2ee.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1520441329474104125</id><published>2009-05-01T23:50:00.000-07:00</published><updated>2009-05-02T00:19:32.416-07:00</updated><title type='text'>una aplicación J2ME, Bluetooth y J2SE</title><content type='html'>En la siguiente figura tenemos la primera aproximación&lt;br /&gt;de nuestra aplicacion&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sfvt7NlqefI/AAAAAAAAAJk/-7m364k0JWk/s1600-h/arquitectura.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 117px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sfvt7NlqefI/AAAAAAAAAJk/-7m364k0JWk/s320/arquitectura.JPG" alt="" id="BLOGGER_PHOTO_ID_5331116185438812658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;En el dispositivo movil tenemos que respetar la siguiente arquitectura&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/Sfvued3njpI/AAAAAAAAAJs/lP0uWilJjnc/s1600-h/j2me.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 223px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/Sfvued3njpI/AAAAAAAAAJs/lP0uWilJjnc/s320/j2me.JPG" alt="" id="BLOGGER_PHOTO_ID_5331116791104507538" border="0" /&gt;&lt;/a&gt;ya que j2se no tiene librerias para bluetooth tenemos que ocupara bluecove&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sfvvb-dfoII/AAAAAAAAAJ0/fAFRISd1Fwo/s1600-h/bluecove.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 283px; height: 320px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/Sfvvb-dfoII/AAAAAAAAAJ0/fAFRISd1Fwo/s320/bluecove.JPG" alt="" id="BLOGGER_PHOTO_ID_5331117847825326210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;lo positivo de esta libreria es que se basa mucho en  jsr-82 bluetooth de j2me, lo cual&lt;br /&gt;se programa practicamente igual que j2me, solamente que en j2se. Para el&lt;br /&gt;funcionamiento correcto de bluecove tenemos que instalar en el sistema operativo&lt;br /&gt;(yo lo programe bajo xp, pero se puede realizar tambien en linux) una pila&lt;br /&gt;bluetooth que realiza la conexion entre el hardware bluetooth y j2se.&lt;br /&gt;&lt;br /&gt;Toda la informacion la podemos encontrar en &lt;a href="http://code.google.com/p/bluecove/"&gt;http://code.google.com/p/bluecove/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como el centro de la aplicación, se basa en el JSR-82 a continuación se&lt;br /&gt;describirán los principales métodos utilizados&lt;br /&gt;&lt;br /&gt;· getLocalDevice: Este método que pertenece a la clase LocalDevice y&lt;br /&gt;proporciona la capacidad de generar un objeto que entrega la&lt;br /&gt;identificación del dispositivo Bluetooth.&lt;br /&gt;&lt;br /&gt;· DiscoveryAgent: Esta es una interfaz que provee métodos para&lt;br /&gt;descubrir dispositivos y servicios.&lt;br /&gt;&lt;br /&gt;· DiscoveryListener: Esta clase proporciona el método&lt;br /&gt;deviceDiscovered() que se utiliza cada vez que se encuentra un&lt;br /&gt;dispositivo en un proceso de búsqueda.&lt;br /&gt;&lt;br /&gt;· ServiceRecord: Es una clase que proporciona métodos para registrar&lt;br /&gt;el dispositivo y los servicios encontrados. En base a una instancia de&lt;br /&gt;él, se establecen las conexiones con el servidor&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ademas para entrar en mas detalle sobre la tecnologia bluetooth&lt;br /&gt;podemos acceder a su pagina oficial &lt;a href="http://spanish.bluetooth.com/Bluetooth/Default.htm"&gt;http://spanish.bluetooth.com/Bluetooth/Default.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;sobre la especificacion de jsr-82 la podemos encontrar en&lt;br /&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=82"&gt;http://jcp.org/en/jsr/detail?id=82&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;como observacion final podemos decir que se tiene que tener en&lt;br /&gt;cuenta que es fundamental que el celular tenga el paquete&lt;br /&gt;jsr-82, sobre el bluetooth yo lo implemente con un pedrive usb y&lt;br /&gt;sin ningun problema y por ultimo para implementar una aplicacion de&lt;br /&gt;esta caracteristicas hay que leer su resto y tomarse un tiempo, ya que&lt;br /&gt;se tiene que entrar al dominio de nuevos temas, como es j2me y la libreria&lt;br /&gt;de bluetooth.&lt;br /&gt;&lt;br /&gt;bueno espero que esto sea un punto de partida para quienes quieran&lt;br /&gt;desarrollar una aplicacion similar.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1520441329474104125?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1520441329474104125/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1520441329474104125' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1520441329474104125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1520441329474104125'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/05/una-aplicacion-j2me-bluetooth-y-j2se.html' title='una aplicación J2ME, Bluetooth y J2SE'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/Sfvt7NlqefI/AAAAAAAAAJk/-7m364k0JWk/s72-c/arquitectura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2734419795676752582</id><published>2009-04-20T10:10:00.002-07:00</published><updated>2009-04-20T10:13:01.369-07:00</updated><title type='text'>JavaCup 2009</title><content type='html'>&lt;object width="445" height="364"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9rVXuuuIzac&amp;hl=es&amp;fs=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9rVXuuuIzac&amp;hl=es&amp;fs=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2734419795676752582?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2734419795676752582/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2734419795676752582' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2734419795676752582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2734419795676752582'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/04/javacup-2009_7782.html' title='JavaCup 2009'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3059084283961653262</id><published>2009-04-20T09:58:00.000-07:00</published><updated>2009-04-20T10:01:11.730-07:00</updated><title type='text'>Oracle comprará Sun y entra en mercado del hardware</title><content type='html'>La compañía estadounidense de software Oracle tiene previsto&lt;br /&gt;entrar en el mercado del hardware informático con la compra&lt;br /&gt;de Sun Microsystems por más de 7.000 millones de dólares&lt;br /&gt;(unos 5.360 millones de euros), después del fracaso de las&lt;br /&gt;negociaciones del fabricante de servidores informáticos con IBM&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.swissinfo.ch/spa/suiza_y_el_mundo/internacional/Oracle_comprara_Sun_y_entra_en_mercado_del_hardware.html?siteSect=143&amp;amp;sid=10593799&amp;amp;cKey=1240243106000&amp;amp;ty=ti"&gt;&lt;br /&gt;http://www.swissinfo.ch/spa/suiza_y_el_mundo/internacional/Oracle_comprara_Sun_y_entra_en_mercado_del_hardware.html?siteSect=143&amp;amp;sid=10593799&amp;amp;cKey=1240243106000&amp;amp;ty=ti&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3059084283961653262?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3059084283961653262/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3059084283961653262' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3059084283961653262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3059084283961653262'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/04/oracle-comprara-sun-y-entra-en-mercado.html' title='Oracle comprará Sun y entra en mercado del hardware'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1239763627690438293</id><published>2009-02-24T16:45:00.002-08:00</published><updated>2009-02-24T19:08:17.224-08:00</updated><title type='text'>Reproducir un MP3</title><content type='html'>La reproducion de un archivo mp3 es sumamenete facil  y&lt;br /&gt;lo vamos a realizar con un jar ajeno del estandar oficial&lt;br /&gt;de sun , supuestamente con The Java Media Framework&lt;br /&gt;API (JMF) se puede lograr la reproduccion de un mp3 y&lt;br /&gt;otras acciones de multimedia, pero de esta forma&lt;br /&gt;es mas facil creo jejejeje y  solamente vamos a&lt;br /&gt;reproducir un mp3.&lt;br /&gt;&lt;br /&gt;Primero tenemos que descargar y montar el jar en&lt;br /&gt;en nuestro proyecto( como siempre en nuestro&lt;br /&gt;netbeans), la direccion para descargar es :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javazoom.net/jlgui/sources.html"&gt;http://www.javazoom.net/jlgui/sources.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;en la carpeta lib se encuentran todos los&lt;br /&gt;jar necesarios.&lt;br /&gt;&lt;br /&gt;Si no sabes agregar un jar a tu proyecto no te&lt;br /&gt;preocupes, porque en articulos anteriores tengo&lt;br /&gt;ejemplo de eso.&lt;br /&gt;&lt;br /&gt;Segundo es generar nuestro codigo, que corresponde&lt;br /&gt;al siguiente.&lt;br /&gt;&lt;br /&gt;---&gt; estos  son dos variables de clase&lt;br /&gt;&lt;br /&gt;  private BasicPlayer basicPlayer;&lt;br /&gt;&lt;br /&gt; String direccion ="C:\\Documents and Settings\\Administrador&lt;br /&gt;                                          \\Escritorio\\keane.mp3";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&gt; en el contructor tenemos que llamr el metodo&lt;br /&gt;      reproductor()&lt;br /&gt;&lt;br /&gt;public void  Reproductor() {&lt;br /&gt;&lt;br /&gt;basicPlayer = new BasicPlayer();&lt;br /&gt;loadFile(direccion);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void loadFile(String direccion){&lt;br /&gt;&lt;br /&gt;       try {&lt;br /&gt;       &lt;br /&gt;           basicPlayer.open(new File(direccion));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       } catch (BasicPlayerException ex) {&lt;br /&gt;           Logger.getLogger(ventana.class.getName()).log(Level.SEVERE, null, ex);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;y por ultimo el evento del boton para empezar a escuchar&lt;br /&gt;nuestro mp3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt; basicPlayer.play();&lt;br /&gt;&lt;br /&gt;} catch (BasicPlayerException e) {&lt;br /&gt;  e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;---&gt; asi me quedo el reproductor de mp3&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SaS02zeVcGI/AAAAAAAAAJc/J4bp3iMtl2c/s1600-h/mp3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 317px; height: 187px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SaS02zeVcGI/AAAAAAAAAJc/J4bp3iMtl2c/s320/mp3.JPG" alt="" id="BLOGGER_PHOTO_ID_5306565114572664930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;tenemos las otras opciones como  basicPlayer.stop() , basicPlayer.pause(),&lt;br /&gt;etc.&lt;br /&gt;&lt;br /&gt;como siempre un link oficial para entrar mas endelle sobre el tema.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/desktop/media/jmf/index.jsp"&gt;http://java.sun.com/javase/technologies/desktop/media/jmf/index.jsp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1239763627690438293?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1239763627690438293/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1239763627690438293' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1239763627690438293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1239763627690438293'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/02/reproducir-un-mp3_24.html' title='Reproducir un MP3'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SaS02zeVcGI/AAAAAAAAAJc/J4bp3iMtl2c/s72-c/mp3.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3046347844558969481</id><published>2009-02-20T10:49:00.000-08:00</published><updated>2009-02-20T11:41:32.195-08:00</updated><title type='text'>JNLP de Java Web Start</title><content type='html'>&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Sencillamente, Java Web Start es un mecanismo para la ejecución&lt;br /&gt;de los programas a través de un servidor Web.&lt;/span&gt; &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;.&lt;/span&gt; Normalmente se&lt;br /&gt;inicia mediante el navegador, estos programas se han desplegado&lt;br /&gt;para el cliente y ejecutados fuera del ámbito del navegador.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Una vez desplegado, los programas no necesitan ser descargados&lt;br /&gt;de nuevo, y pueden descargar las actualizaciones automáticamente&lt;br /&gt;en el arranque sin necesidad de que el usuario pueda ir a través de&lt;br /&gt;todo el proceso de instalación de nuevo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;En nuestro querido netbeans 6.5 tenemos que acceder a las&lt;br /&gt;propiedades de nuestro proyecto y en Web Start habilitamos&lt;br /&gt;esta propiedad.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SZ7-YWtuoiI/AAAAAAAAAJE/agQ3FPsuiuQ/s1600-h/jnpl+uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 158px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SZ7-YWtuoiI/AAAAAAAAAJE/agQ3FPsuiuQ/s320/jnpl+uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5304957105456718370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;al generar el jar de la aplicacion nos aparecera los siguientes archivos en&lt;br /&gt;la carpeta dist de la carpeta del proyecto&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SZ8D1I2TRKI/AAAAAAAAAJM/rGPXrnzxfJg/s1600-h/archivo+jnlp.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 109px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SZ8D1I2TRKI/AAAAAAAAAJM/rGPXrnzxfJg/s320/archivo+jnlp.JPG" alt="" id="BLOGGER_PHOTO_ID_5304963097508922530" border="0" /&gt;&lt;/a&gt;Al  ejecutar el archivo launch nos aparece lo siguiente&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SZ8EmL_r1NI/AAAAAAAAAJU/24XNEqpPotU/s1600-h/java+web+start.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 152px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SZ8EmL_r1NI/AAAAAAAAAJU/24XNEqpPotU/s320/java+web+start.JPG" alt="" id="BLOGGER_PHOTO_ID_5304963940167177426" border="0" /&gt;&lt;/a&gt;y se nos abrira acontinuacion nuestra aplicacion.&lt;br /&gt;&lt;br /&gt;Esto es una introduccion al tema, para mayor informacion  aqui estan unos&lt;br /&gt;link interesantes sobre el tema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp"&gt;http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/Programming/jnlp/"&gt;http://java.sun.com/developer/technicalArticles/Programming/jnlp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/desktop/javawebstart/docs/readme.html"&gt;http://java.sun.com/javase/technologies/desktop/javawebstart/docs/readme.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/technologies/desktop/javawebstart/demos.html"&gt;&lt;br /&gt;http://java.sun.com/javase/technologies/desktop/javawebstart/demos.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;y por ultimo un video , que siempre es entretenido&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kJ32XPG-sPk&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/kJ32XPG-sPk&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3046347844558969481?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3046347844558969481/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3046347844558969481' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3046347844558969481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3046347844558969481'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/02/jnlp-de-java-web-start.html' title='JNLP de Java Web Start'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SZ7-YWtuoiI/AAAAAAAAAJE/agQ3FPsuiuQ/s72-c/jnpl+uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3349366728446983111</id><published>2009-01-29T14:39:00.000-08:00</published><updated>2009-01-29T16:00:44.040-08:00</updated><title type='text'>Swing Application Framework  JSR-259</title><content type='html'>&lt;span style="font-family:arial;"&gt;Para ayudar en el armado de una  aplicación, se ha escrito la &lt;/span&gt;&lt;span style="text-decoration: underline;font-family:arial;" &gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt; JSR-259&lt;br /&gt;llamada Swing Application Framework. Este  Framework se lanzó en&lt;br /&gt;el 2006, y hasta ahora es una implementación prototipo de un&lt;br /&gt;conjunto de clases java. &lt;/span&gt;&lt;p style="font-family: arial;"&gt;Nos proporciona un manejo mas simple de:&lt;/p&gt; &lt;ul style="font-family: arial;"&gt;&lt;li&gt;Ciclo de vida de una aplicación, como comienzo y parada de la GUI  &lt;/li&gt;&lt;li&gt;Soporte para el manejo y carga de recursos, como strings,                                                   mensajes formateados, imágenes, colores, fonts, y otros tipos.  &lt;/li&gt;&lt;li&gt;Soporte para definición, manejo y enlace de Actions, incluyendo                                                 las asincrónicas.  &lt;/li&gt;&lt;li&gt;Persistencia del estado de la GUI, automático y selectivo, para                                              que vuelva a aparecer en la próxima ejecución en el mismo estado &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Bueno para que sea esto mas entretenido vamos a mostrar un ejemplo&lt;br /&gt;de este framework.&lt;br /&gt;&lt;br /&gt;1. este ejemplo es un mantenedor simple de una tabla de una base de&lt;br /&gt;datos, como siempre con nuestro querido netbeans y postgres.&lt;br /&gt;&lt;br /&gt;2. tenemos que tener una conexion en netbeans de la base de datos&lt;br /&gt;(en un articulo de este exelente blogg jajaja, tenemos un ejemplo como&lt;br /&gt;realizarlo).&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SYI80s7xAuI/AAAAAAAAAIU/3UPzZ82W69A/s1600-h/base+de+datos+netbeans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 230px; height: 320px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SYI80s7xAuI/AAAAAAAAAIU/3UPzZ82W69A/s320/base+de+datos+netbeans.JPG" alt="" id="BLOGGER_PHOTO_ID_5296862987853824738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;3. creamos el proyecto de tipo framework jsr-259&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SYI9YBa5A7I/AAAAAAAAAIc/AeaKTN-oEek/s1600-h/proyecto+netbeans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 90px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SYI9YBa5A7I/AAAAAAAAAIc/AeaKTN-oEek/s320/proyecto+netbeans.JPG" alt="" id="BLOGGER_PHOTO_ID_5296863594648503218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. especificamos que vamos a utilizar una base de datos.&lt;br /&gt;&lt;br /&gt;        &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SYI-aTIVwnI/AAAAAAAAAIk/fWZsiqC91vE/s1600-h/seleccion+base+de+dato.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SYI-aTIVwnI/AAAAAAAAAIk/fWZsiqC91vE/s320/seleccion+base+de+dato.JPG" alt="" id="BLOGGER_PHOTO_ID_5296864733273899634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5.  seleccionamos la base de dato y la tabla correspondiente a nuestro mantenedor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SYI-52RVA8I/AAAAAAAAAIs/vNs5d69kD0U/s1600-h/selecicon+de+tabla.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 210px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SYI-52RVA8I/AAAAAAAAAIs/vNs5d69kD0U/s320/selecicon+de+tabla.JPG" alt="" id="BLOGGER_PHOTO_ID_5296865275282785218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6. despues siguiente y en la siguente ventana finalizar, despues de todo este&lt;br /&gt;proceso nos queda el proyecto asi.&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SYI_2m5sv9I/AAAAAAAAAI0/IlLOnJenPYg/s1600-h/proyecto+framework.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 274px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SYI_2m5sv9I/AAAAAAAAAI0/IlLOnJenPYg/s320/proyecto+framework.JPG" alt="" id="BLOGGER_PHOTO_ID_5296866319129165778" border="0" /&gt;&lt;/a&gt;7. y para finalizar ejecutamos nuestro proyecto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SYJBjS-PG-I/AAAAAAAAAI8/IkXK-CHHcHk/s1600-h/mantenedor.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 244px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SYJBjS-PG-I/AAAAAAAAAI8/IkXK-CHHcHk/s320/mantenedor.JPG" alt="" id="BLOGGER_PHOTO_ID_5296868186385226722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;Como simpre este es un punto de partida para entrar a este tema y como&lt;br /&gt;siempre acontinuacion soy unos link  para que puedan interiorisarse mas&lt;br /&gt;del tema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/javase/swingappfr/"&gt;http://java.sun.com/developer/technicalArticles/javase/swingappfr/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=296"&gt;http://jcp.org/en/jsr/detail?id=296&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://appframework.dev.java.net/intro/index.html"&gt;https://appframework.dev.java.net/intro/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.java.net/blog/hansmuller/archive/ts-3399-final.pdf"&gt;http://weblogs.java.net/blog/hansmuller/archive/ts-3399-final.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.java.net/blog/hansmuller/archive/ts-3492-final.pdf"&gt;http://weblogs.java.net/blog/hansmuller/archive/ts-3492-final.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3349366728446983111?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3349366728446983111/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3349366728446983111' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3349366728446983111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3349366728446983111'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/01/swing-application-framework-jsr-259.html' title='Swing Application Framework  JSR-259'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SYI80s7xAuI/AAAAAAAAAIU/3UPzZ82W69A/s72-c/base+de+datos+netbeans.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5382897569784855721</id><published>2009-01-28T15:35:00.000-08:00</published><updated>2009-01-28T16:25:09.356-08:00</updated><title type='text'>Patron de diseño DAO</title><content type='html'>&lt;span style="font-family:arial;"&gt;     Los patrones de diseño (&lt;/span&gt;&lt;i style="font-family: arial;"&gt;design patterns&lt;/i&gt;&lt;span style="font-family:arial;"&gt;)  son la base para la búsqueda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;de soluciones a problemas comunes  en  el desarrollo de&lt;/span&gt;&lt;span style="text-decoration: underline;font-family:arial;" &gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt; software  y  otros&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ámbitos referentes al diseño de interacción o interfaces.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;En este pequeño  articulo   quiero  hablar de  el  patron  de  diseño DAO( Data&lt;br /&gt;Access Objetc)&lt;/span&gt;&lt;span style="font-family:arial;"&gt; que esta relacionado con la persistencia de nuestra&lt;br /&gt;aplicacion.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;El problema que viene a resolver este patrón es el de contar con diversas&lt;br /&gt;fuentes de  datos ( base de datos,  archivos,  servicios  externos, etc ). De tal&lt;br /&gt;forma  que se  encapsula  la  forma  de  acceder  a  la  fuente de datos. Este  patrón&lt;br /&gt;surge históricamente de la  necesidad  de  gestionar una  diversidad  de  fuentes&lt;br /&gt;de datos, aunque su uso se extiende al problema de ancapsular  no  sólo  la  fuente&lt;br /&gt;de datos,  sino además  ocultar  la forma  de  acceder  a  los datos.  Se  trata  de&lt;br /&gt;que el software cliente se centre en los  datos que necesita y  se olvide de  cómo&lt;br /&gt;se realiza el acceso a los datos o de cual es la fuente de almacenamiento&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;La ventaja de usar objetos de acceso a datos es que cualquier&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  objeto de&lt;br /&gt;negocio (aquel que contiene detalles específicos de operación o aplicación)&lt;br /&gt;no requiere conocimiento directo del destino final de la información que&lt;br /&gt;manipula&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Este ejemplo es muy bueno, imaginemos que nuestra aplicación va de&lt;br /&gt;maravilla, cuando de pronto, se acerca nuestro querido jefe y nos comenta&lt;br /&gt;que por X, Y y Z razones se va a cambiar el motor de la base de datos a&lt;br /&gt;PostgreSQL.  OOOOO que probleman, pero nosotros como habiamos leido&lt;br /&gt;este blog y aplicamos el patron de diseño DAO le decimos al jefe no hay&lt;br /&gt;problema para eso soy ingeniero y no un artesano,  entonces  aprovechamos&lt;br /&gt;inmediatamente y le pedimos un aumento de sueldo jajajaajja.&lt;br /&gt;&lt;br /&gt;Por lo que cuando la capa de lógica de negocio necesite interactuar con la base&lt;br /&gt;de datos, va a hacerlo a través de la API que le ofrece DAO. Generalmente esta&lt;br /&gt;API consiste en métodos CRUD (Create, Read, Update y Delete)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;En una aplicación, hay tantos DAOs como modelos. Es decir, en una base de&lt;br /&gt;datos relacional, por cada tabla, habría un DAO.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Los DTO (Data Transfer Object) o también denominados VO (Value Object).&lt;br /&gt; Son utilizados por DAO para transportar los datos desde la base de datos&lt;br /&gt;hacia la capa de lógica de negocio y viceversa&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Bueno como siempre sus link, para entrar mas en detalle a este y&lt;br /&gt;mas patrones de diseño.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html"&gt;http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/blueprints/corej2eepatterns/index.html"&gt;http://java.sun.com/blueprints/corej2eepatterns/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html"&gt;http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.programacion.com/java/tutorial/patrones2/8/"&gt;http://www.programacion.com/java/tutorial/patrones2/8/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5382897569784855721?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5382897569784855721/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5382897569784855721' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5382897569784855721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5382897569784855721'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/01/patron-de-diseno-dao.html' title='Patron de diseño DAO'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1667918702272530366</id><published>2009-01-26T15:38:00.000-08:00</published><updated>2009-01-26T15:48:16.146-08:00</updated><title type='text'>java esta en todas partes</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sd4KPIF8eAo&amp;hl=es&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/sd4KPIF8eAo&amp;hl=es&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1667918702272530366?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1667918702272530366/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1667918702272530366' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1667918702272530366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1667918702272530366'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2009/01/java-esta-en-todas-partes.html' title='java esta en todas partes'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7462933915353539692</id><published>2008-12-16T17:36:00.000-08:00</published><updated>2008-12-16T17:48:24.858-08:00</updated><title type='text'>javax.swing.Timer , para cosas sencillas y con tiempo</title><content type='html'>generalmente es mejor ocupar hilos para manejar tiempos , pero&lt;br /&gt;para cosas bien sencillas  no seria malo ocupar este Timer , como&lt;br /&gt;por ejemplo en animaciones muy sencillas , un mensaje recordatorio,&lt;br /&gt;bueno etc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.- importar  java.awt.event.*;&lt;br /&gt;&lt;br /&gt;2.- el formato  es asi para crear una instancia&lt;br /&gt;       &lt;br /&gt;     javax.swing.Timer &lt;i&gt;yourTimer&lt;/i&gt; =&lt;br /&gt;      new javax.swing.Timer(&lt;i&gt;int milliseconds&lt;/i&gt;, &lt;i&gt;ActionListener doIt&lt;/i&gt;);&lt;br /&gt;&lt;br /&gt;3.- la implementacion puede es asi:&lt;br /&gt;&lt;br /&gt;javax.swing.Timer t = new javax.swing.Timer(1000, new ActionListener() {&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;    public void actionPerformed(ActionEvent e) {&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;             Accion&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;          }&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;   });&lt;br /&gt;&lt;br /&gt;4.- este posee un Start y un Stop , que tenemos que ocupar para hacer correr nuestro&lt;br /&gt; Timer&lt;br /&gt;&lt;br /&gt;&lt;pre class="example"&gt;     &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7462933915353539692?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7462933915353539692/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7462933915353539692' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7462933915353539692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7462933915353539692'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/12/javaxswingtimer-para-cosas-sencillas-y.html' title='javax.swing.Timer , para cosas sencillas y con tiempo'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1113552304490719049</id><published>2008-12-01T09:51:00.000-08:00</published><updated>2008-12-01T10:31:11.943-08:00</updated><title type='text'>crear un PDF en java</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CCONFIG%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt;&lt;/style&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;span style="font-size:100%;"&gt;El siguiente ejemplo consiste en pasar un texto a un archivo pdf.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/STQmqTiFWMI/AAAAAAAAAHE/IkDKeMnC-0M/s1600-h/ventana_pdf.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 235px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/STQmqTiFWMI/AAAAAAAAAHE/IkDKeMnC-0M/s320/ventana_pdf.JPG" alt="" id="BLOGGER_PHOTO_ID_5274883571797285058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para lograr esto o manipular de otra forma un pdf  tenemos que bajar&lt;br /&gt;el siguiente JAR  iText-2.1.4  y añadirlo a nuestro proyecto&lt;br /&gt;(sobre el proyecto : propiedades -&gt;biblioteca -&gt; añadir JAR )&lt;br /&gt;&lt;a href="http://www.lowagie.com/iText/download.html"&gt;&lt;br /&gt;http://www.lowagie.com/iText/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;para realizar esto vamos a utilizar el siguiente codigo&lt;br /&gt;&lt;br /&gt;  Document document = new Document();&lt;br /&gt;&lt;br /&gt;      try {&lt;br /&gt;     &lt;br /&gt;          PdfWriter.getInstance(document, new FileOutputStream("ejemplo.pdf"));&lt;br /&gt;  &lt;br /&gt;          document.open();&lt;br /&gt;&lt;br /&gt;          document.add(new Paragraph(jTextArea1.getText()));&lt;br /&gt;&lt;br /&gt;      } catch (DocumentException de) {&lt;br /&gt;          System.err.println(de.getMessage());&lt;br /&gt;      } catch (IOException ioe) {&lt;br /&gt;          System.err.println(ioe.getMessage());&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      document.close();&lt;br /&gt;&lt;br /&gt;el archivo pdf se crea en nuestro proyecto&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/STQrabr1pNI/AAAAAAAAAHM/889Wfxae-v8/s1600-h/pdf.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 143px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/STQrabr1pNI/AAAAAAAAAHM/889Wfxae-v8/s320/pdf.JPG" alt="" id="BLOGGER_PHOTO_ID_5274888796665914578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ademas  con esta biblioteca  iText podemos manipular un RTF o un&lt;br /&gt;HTML&lt;br /&gt;&lt;a href="http://www.lowagie.com/iText/"&gt;&lt;br /&gt;http://www.lowagie.com/iText/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobepress.com/articles/printerfriendly.asp?p=420686"&gt;http://www.adobepress.com/articles/printerfriendly.asp?p=420686&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itextdocs.lowagie.com/tutorial/general/index.php#step1"&gt;http://itextdocs.lowagie.com/tutorial/general/index.php#step1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1113552304490719049?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1113552304490719049/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1113552304490719049' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1113552304490719049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1113552304490719049'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/12/crear-un-pdf-en-java.html' title='crear un PDF en java'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/STQmqTiFWMI/AAAAAAAAAHE/IkDKeMnC-0M/s72-c/ventana_pdf.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-9030967978752100264</id><published>2008-11-27T12:23:00.000-08:00</published><updated>2008-11-27T12:42:46.763-08:00</updated><title type='text'>Ingresa a la red social de sun (osum.sun)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SS8CfwWbglI/AAAAAAAAAG8/FSPbaY_smRI/s1600-h/Dibujo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 387px; height: 64px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SS8CfwWbglI/AAAAAAAAAG8/FSPbaY_smRI/s320/Dibujo.JPG" alt="" id="BLOGGER_PHOTO_ID_5273436433252319826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;   Open Source University Meetup&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;  Esta es una red social para apoyar la comunicacion e intercambio de&lt;br /&gt;informacion de las tecnologias  de sun ( java , solari , etc) .  en pocas&lt;br /&gt;palabras es un tipo facebook pero relacionado a sun ,  te puedes unir a&lt;br /&gt;grupos  , publicar en blog  , etc .&lt;br /&gt;&lt;br /&gt;&lt;a href="http://osum.sun.com/"&gt;http://osum.sun.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-9030967978752100264?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/9030967978752100264/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=9030967978752100264' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9030967978752100264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9030967978752100264'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/11/ingresa-la-red-social-de-sun-osumsun.html' title='Ingresa a la red social de sun (osum.sun)'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SS8CfwWbglI/AAAAAAAAAG8/FSPbaY_smRI/s72-c/Dibujo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4877243957631773437</id><published>2008-11-24T16:15:00.000-08:00</published><updated>2008-11-24T16:54:08.388-08:00</updated><title type='text'>manejo de ventanas como JFrame y JDialog</title><content type='html'>&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style=""&gt; &lt;/span&gt;sobre este tema podemos hablar por mucho rato  , pero comentare los puntos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt; que encuentro importante (se supone de un  conocimiento basico del tema).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt; primero vamos decir que como siempre vamos a trabajar con  &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="netbeans"&gt;netbeans&lt;/span&gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt;cuando creamos&lt;span style=""&gt;  &lt;/span&gt;un  &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="JFrame"&gt;JFrame&lt;/span&gt; en &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="netbeans"&gt;netbeans&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;este crea automaticamente un&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt; &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="main"&gt;main&lt;/span&gt; &lt;span style=""&gt; &lt;/span&gt;para el.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt; este lo podriamos utilizar para &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="dejarlo"&gt;dejarlo&lt;/span&gt; como principal y&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;no tener  que crear la clase &lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="main"&gt;main&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt; con el famoso&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style=""&gt;            &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;ventana v=new  ventana();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="v.setvisible"&gt;v.&lt;span class="squiggly" title="Para ver las sugerencias ortográficas, haz clic en esta palabra" splc="splc" state="new" word="setvisible"&gt;setvisible&lt;/span&gt;&lt;/span&gt;(true);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Times New Roman;"&gt;                         &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;                                                                 seleccionar el main de jframe&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SStE337sUGI/AAAAAAAAAG0/3jBCjxgSmJU/s1600-h/propiedades.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 154px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SStE337sUGI/AAAAAAAAAG0/3jBCjxgSmJU/s320/propiedades.JPG" alt="" id="BLOGGER_PHOTO_ID_5272383515465109602" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CCONFIG%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;con los primeros&lt;span style=""&gt;  &lt;/span&gt;ejercicios &lt;span style=""&gt; &lt;/span&gt;de JFrame no nos preocupamos&lt;span style=""&gt;  &lt;/span&gt;de mucho&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;de manejos de ventanas , pero cuando nos toca hacer algo&lt;span style=""&gt;  &lt;/span&gt;real salta esta&lt;/p&gt;&lt;p class="MsoNormal"&gt; preocupacion y problema.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;hay muchas formas de enfrentar este tema&lt;span style=""&gt;  &lt;/span&gt;al momento de programar ,&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;uno de ellos es ocupar JInternalFrame dentro de un jframe&lt;span style=""&gt;   &lt;/span&gt;, pero este&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;tiene que estar dentro de un&lt;span style=""&gt; JDesktopPane&lt;span style=""&gt;  &lt;/span&gt;(&lt;/span&gt;es una subclase de &lt;b&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;JLaveredPane&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;al que se le ha añadido el API para manejar el solapamiento de múltiples&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;frames internos.&lt;span style=""&gt;) .&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;yo utilizo JFrame y Jdialong para programar ventanas , por mi parte&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt; lo encuentro super facil y no es complicado .&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;para empezar tenemos que tener algunos detalles claros :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;- tiene que existir un solo jframe (padre) y los demas ventanas seran jdialog.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;      &lt;/span&gt;- en una ocasion yo sobre carge demaciado un jframe y me dio error de&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  memoria , entonces como recomendacion es&lt;span style=""&gt;   &lt;/span&gt;que los jdialog y jframe son&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  para mostrar la carcasa de nuestro programa y para lo demas tenemos las&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  famosas clases.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      - un jframe muestra un boton en la barra de tarea de windows y los jdialog no.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      - Un &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog&lt;/span&gt;&lt;/strong&gt; puede ser modal, un &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JFrame&lt;/span&gt;&lt;/strong&gt; no.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;modal ???? : Un &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog&lt;/span&gt;&lt;/strong&gt; puede ser modal, pasándole un &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;true&lt;/span&gt;&lt;/strong&gt; en el&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;constructor en el sitio adecuado o haciéndolo modal con el método&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;setModal()&lt;/span&gt;&lt;/strong&gt;. Si hacemos un &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog&lt;/span&gt;&lt;/strong&gt; modal, todas las demás ventanas&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;se deshabilitarán hasta que el usuario de nuestro programa cierre el &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;       - &lt;/span&gt;&lt;/strong&gt;Todas las ventanas secundarias deben ser &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog&lt;/span&gt;&lt;/strong&gt; y todos los &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;JDialog&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  deberían tener padre.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;  para abrir un JDialog&lt;span style=""&gt;  &lt;/span&gt;desde un JFrame&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;       NewJDialog n=new NewJDialog(this,true);&lt;br /&gt;     n.setVisible(true);&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; centrar nuestra ventana en la pantalla :&lt;/p&gt;&lt;p class="MsoNormal"&gt;        en el contructor &lt;span style=""&gt; &lt;/span&gt;setLocationRelativeTo(null);&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;bueno esto es una pincelada de JFrame y JDialong y sobre este tema existe&lt;/p&gt;&lt;p class="MsoNormal"&gt;mucho por aprender&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Times New Roman;font-size:100%;"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4877243957631773437?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4877243957631773437/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4877243957631773437' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4877243957631773437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4877243957631773437'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/11/manejo-de-ventanas-como-jframe-y.html' title='manejo de ventanas como JFrame y JDialog'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SStE337sUGI/AAAAAAAAAG0/3jBCjxgSmJU/s72-c/propiedades.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6434915297369807194</id><published>2008-11-07T19:39:00.000-08:00</published><updated>2008-11-09T12:24:26.700-08:00</updated><title type='text'>documentacion de nuestro codigo con javadoc</title><content type='html'>la idea de javadoc es proporcionar de forma  facil una forma de&lt;br /&gt;documentar nuestro codigo , lo simpatico esque nos crea nuestra&lt;br /&gt;documentacion de la misma forma de la api de java&lt;br /&gt;&lt;br /&gt;Como siempre trabajaremos con nuestro querido netbeans&lt;br /&gt;&lt;br /&gt;1.- tenemos que bajar el plugins&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SRULVB8WdVI/AAAAAAAAAGM/nYlQPjQQxYU/s1600-h/plugins.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 210px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SRULVB8WdVI/AAAAAAAAAGM/nYlQPjQQxYU/s320/plugins.JPG" alt="" id="BLOGGER_PHOTO_ID_5266127795206387026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;despues de  instarlo podemos ver la configuracion en tools-&gt;options&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SRUMogMLQbI/AAAAAAAAAGU/NcNlh9uMTFs/s1600-h/configuracion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 219px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SRUMogMLQbI/AAAAAAAAAGU/NcNlh9uMTFs/s320/configuracion.JPG" alt="" id="BLOGGER_PHOTO_ID_5266129229254967730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.- es super simple utilizarlo , antes de los metodos&lt;br /&gt;escribimos  /** y enter y solo nos genera un trozo de comentario  , el cual&lt;br /&gt;llenamos con la descripcion que deseamos.&lt;br /&gt;&lt;br /&gt;&lt;table border="1" cellpadding="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  Palabra reservada &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; Versión &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; Descripción &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;    @author &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; El autor del método, clase.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @deprecated &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; El método ha sido reemplazado por otro.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @exception &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; La excepción que puede generar.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @param &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; Después viene el parámetro, esto se hace para&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;br /&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; documentar todos los parámetros que requiere el método.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @return &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; El valor que regresa&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @see &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; Una referencia a otra clase o método de utilidad&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @since &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.1 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; La versión desde que se incluye. &lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @throws &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.2 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; Es un sinónimo para @exception.&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;&lt;td align="center"&gt;&lt;span style=""&gt;  @version &lt;/span&gt;&lt;/td&gt; &lt;td align="center"&gt;&lt;span style=""&gt; 1.0 &lt;/span&gt;&lt;/td&gt; &lt;td align="left"&gt;&lt;span style=""&gt; La versión del método, clase.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;tenemos tambien el un visor para ir creado los comentarios y este se&lt;br /&gt;encuentra en  Source-&gt;analyze javadoc&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SRUNyoMGBII/AAAAAAAAAGc/L-9i9S2cfwo/s1600-h/analyze.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SRUNyoMGBII/AAAAAAAAAGc/L-9i9S2cfwo/s320/analyze.JPG" alt="" id="BLOGGER_PHOTO_ID_5266130502712427650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3.- y por ultimo para generar uno javadoc  tenemos que ir sobre nuestro proyecto&lt;br /&gt;y con las opciones del boto derecho de mouse seleccionamos generate javadoc.&lt;br /&gt;&lt;br /&gt;                                             Asi nos muestra la documentacion&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SRUPdlGDJPI/AAAAAAAAAGs/NxP2q3YoTd8/s1600-h/api+javadoc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 250px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SRUPdlGDJPI/AAAAAAAAAGs/NxP2q3YoTd8/s320/api+javadoc.JPG" alt="" id="BLOGGER_PHOTO_ID_5266132340127769842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;mayor informacion&lt;br /&gt;&lt;a href="http://books.google.com/books?id=cw56y1WQp0IC&amp;amp;pg=PA173&amp;amp;lpg=PA173&amp;amp;dq=javadoc+comments+netbeans&amp;amp;source=web&amp;amp;ots=clEPUIIcsL&amp;amp;sig=rlJqknJ4BQpQTjKybabomziPS5c&amp;amp;hl=en&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=9&amp;amp;ct=result#PPA176,M1"&gt;http://books.google.com/books?id=cw56y1WQp0IC&amp;amp;pg=PA173&amp;amp;lpg=PA173&amp;amp;dq=javadoc+comments+netbeans&amp;amp;source=web&amp;amp;ots=clEPUIIcsL&amp;amp;sig=rlJqknJ4BQpQTjKybabomziPS5c&amp;amp;hl=en&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=9&amp;amp;ct=result#PPA176,M1&lt;br /&gt;fin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6434915297369807194?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6434915297369807194/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6434915297369807194' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6434915297369807194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6434915297369807194'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/11/documentacion-de-nuestro-codigo-con.html' title='documentacion de nuestro codigo con javadoc'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6qLdTeEZiEk/SRULVB8WdVI/AAAAAAAAAGM/nYlQPjQQxYU/s72-c/plugins.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8541079538301263920</id><published>2008-11-07T12:48:00.000-08:00</published><updated>2008-11-07T20:15:45.709-08:00</updated><title type='text'>certificacion Netbeans</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SRSrRTQLmLI/AAAAAAAAAGE/F8nnDKf2Ppg/s1600-h/netbeans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 388px; height: 76px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SRSrRTQLmLI/AAAAAAAAAGE/F8nnDKf2Ppg/s320/netbeans.JPG" alt="" id="BLOGGER_PHOTO_ID_5266022178017220786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;para nadie es nuevo lo de la certificacion y principalmente en&lt;br /&gt;java que tenemos un variedad tremenda.&lt;br /&gt;Creo que podemos estar toda la vida&lt;br /&gt;certificandonos , pero encontre  novedoso la certificacion de&lt;br /&gt;Netbeans por ser un IDE y tambien por ser gratuita  y  para ser mas&lt;br /&gt;precisos aqui esta el link de la certificacion&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/training/certification/netbeans.html"&gt;http://www.sun.com/training/certification/netbeans.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/training/certification/netbeans.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8541079538301263920?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8541079538301263920/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8541079538301263920' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8541079538301263920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8541079538301263920'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/11/certificacion-netbeans.html' title='certificacion Netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SRSrRTQLmLI/AAAAAAAAAGE/F8nnDKf2Ppg/s72-c/netbeans.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8401831489975377310</id><published>2008-11-05T08:15:00.000-08:00</published><updated>2008-11-05T09:51:41.141-08:00</updated><title type='text'>problemas de precision de float y double</title><content type='html'>veamos los siguientes ejemplos :&lt;br /&gt;&lt;br /&gt;1) para un float&lt;br /&gt;&lt;br /&gt;     for(float i = 0f; i&lt;1; i += 0.1f){&lt;br /&gt;                System.out.println(""+ i );&lt;br /&gt;         }&lt;br /&gt;salida :&lt;br /&gt;    0.0&lt;br /&gt;    0.1&lt;br /&gt;    0.2&lt;br /&gt;    0.3&lt;br /&gt;    0.4&lt;br /&gt;    0.5&lt;br /&gt;    0.6&lt;br /&gt;    0.70000005&lt;br /&gt;    0.8000001&lt;br /&gt;    0.9000001&lt;br /&gt;&lt;br /&gt;2) para double &lt;br /&gt;&lt;br /&gt;     double dividendo = 1812.6;&lt;br /&gt;&lt;br /&gt;     double resultado = 0;&lt;br /&gt;&lt;br /&gt;     resultado = dividendo / 100;&lt;br /&gt;         &lt;br /&gt;     System.out.println("resulatado :"+resultado);&lt;br /&gt;&lt;br /&gt;  salida:   18.125999999999998&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; para solucionar esta imprecision de la variables primitivas de coma&lt;br /&gt;flotante tenemos que implementar la clase BigDecimal.&lt;br /&gt;&lt;br /&gt;http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html&lt;br /&gt;&lt;br /&gt;otra forma menos formal es redondiar el valor decimal con &lt;br /&gt;el metodo math.round()&lt;br /&gt;&lt;br /&gt;este error no es propio de java , sino de la mayoria de los lenguajes&lt;br /&gt;de programacion . &lt;br /&gt;&lt;br /&gt;en este link explica porque sucede esto&lt;br /&gt;&lt;br /&gt;http://developers.sun.com/solaris/articles/fp_errors.html&lt;br /&gt;&lt;br /&gt;y como estamos hablando de decimales seria bueno mencionar &lt;br /&gt;mencionar la forma de dar formato a una decimal.&lt;br /&gt;&lt;br /&gt;import java.text.DecimalFormat;&lt;br /&gt;&lt;br /&gt;DecimalFormat formateador = new DecimalFormat("####.####");&lt;br /&gt;&lt;br /&gt;// Esto sale en pantalla con cuatro decimales, es decir, 3,4324&lt;br /&gt;System.out.println (formateador.format (3.43242383));&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8401831489975377310?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8401831489975377310/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8401831489975377310' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8401831489975377310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8401831489975377310'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/11/problemas-de-precision-de-float-y.html' title='problemas de precision de float y double'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-191929951515902176</id><published>2008-10-30T09:21:00.000-07:00</published><updated>2008-10-30T13:07:05.228-07:00</updated><title type='text'>consumir un web service desde j2se</title><content type='html'>El tema de web service pertenece mas a j2ee  , pero igual pueden ser&lt;br /&gt;util para una aplicacion de escritorio.&lt;br /&gt;&lt;br /&gt;Un Web Services (WS) es una aplicación que puede ser descripta&lt;br /&gt;, publicada, localizada, e invocada a través de una red, generalmente&lt;br /&gt;Internet.&lt;br /&gt;&lt;br /&gt;Los WS son a los efectos del consumidor componentes que se&lt;br /&gt;encuentran dentro de una caja negra, que pueden ser utilizados&lt;br /&gt;sin preocuparse de como fueron implementados, y ser accedidos&lt;br /&gt;utilizando XML (SOAP) , generalmente sobre HTTP.&lt;br /&gt;&lt;br /&gt;La arquitectura básica del modelo de WS describe un consumidor,&lt;br /&gt;un proveedor y ocasionalmente un corredor (broker) y relacionados&lt;br /&gt;con estos agentes está las operaciones de publish (publicar),&lt;br /&gt;f ind (encontrar) y bind (enlazar).&lt;br /&gt;&lt;br /&gt;Los requerimientos a la hora de desarrollar o consumir un WS son:&lt;br /&gt;&lt;br /&gt;- una forma estándar de representar los datos: XML&lt;br /&gt;- un formato común y extensible de mensaje: SOAP&lt;br /&gt;- un lenguaje común y extensible para describir los servicios:&lt;br /&gt; WSDL (basado en XML).&lt;br /&gt;- una forma de descubrir los servicios en Internet: UDDI&lt;br /&gt;(basado en XML).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;este tema es muy interesante y util , imagine que tiene una&lt;br /&gt;aplicacion en asp.net y quiere consumir un procedimiento de&lt;br /&gt;esa aplicacion desde java , entonces con nuestro querido web&lt;br /&gt;service lo podemos realizar.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;Vamos a consumir un metodo de aplicacion web application  de&lt;br /&gt;java ( Como siempre con nuestro querido netbeans 6)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.- primero creamos nuestro proyecto web application , selecionamos el JavaServer Face&lt;br /&gt;para este ejemplo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SQoAzyVosEI/AAAAAAAAAFE/18TnCS9SMl4/s1600-h/primero.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 210px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SQoAzyVosEI/AAAAAAAAAFE/18TnCS9SMl4/s320/primero.JPG" alt="" id="BLOGGER_PHOTO_ID_5263020004221694018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.- creamos el metodo&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SQoBGsmljeI/AAAAAAAAAFM/NSEEZb83Flo/s1600-h/segundo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 251px;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SQoBGsmljeI/AAAAAAAAAFM/NSEEZb83Flo/s320/segundo.JPG" alt="" id="BLOGGER_PHOTO_ID_5263020329099693538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3.- tenemos que seleccionar souce y escribir dentro del metodo el procedimiento&lt;br /&gt;(en este caso es la suma)&lt;br /&gt;        &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQoPbb_9Q7I/AAAAAAAAAF8/5B3ifvah50k/s1600-h/suma_bien.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 255px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQoPbb_9Q7I/AAAAAAAAAF8/5B3ifvah50k/s320/suma_bien.JPG" alt="" id="BLOGGER_PHOTO_ID_5263036078582743986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;                        solamente lo que  escribi fue :       int s= i+j ;&lt;br /&gt;                        y el return de 0 lo cambie a s&lt;br /&gt;&lt;br /&gt;4.- en nuestra aplicacion normal de java  creamos  un nuevo Web Service Client&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQoBUnI_uDI/AAAAAAAAAFU/IVD7nmcq2-o/s1600-h/tercero.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 236px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQoBUnI_uDI/AAAAAAAAAFU/IVD7nmcq2-o/s320/tercero.JPG" alt="" id="BLOGGER_PHOTO_ID_5263020568151570482" border="0" /&gt;&lt;/a&gt;5.- en project  abrimos el brower y seleccionamos el web service que creamos&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SQoBgiUWISI/AAAAAAAAAFc/v2ZRVhoHw-w/s1600-h/cuarto.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 211px;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SQoBgiUWISI/AAAAAAAAAFc/v2ZRVhoHw-w/s320/cuarto.JPG" alt="" id="BLOGGER_PHOTO_ID_5263020773015429410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6.- al aceptar el web service , en nuestro proyecto se  nos  creara una paquete&lt;br /&gt;llamado  web service references.&lt;br /&gt;&lt;br /&gt;ahora vamos a crear un from  con unos jTextfield y un jButton  el cual va a&lt;br /&gt;llamar al web service.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQoEEUtQY7I/AAAAAAAAAFk/B2GGe6NLI2c/s1600-h/from.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 217px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQoEEUtQY7I/AAAAAAAAAFk/B2GGe6NLI2c/s320/from.JPG" alt="" id="BLOGGER_PHOTO_ID_5263023586860360626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7.    ahora desplegamos nuestro web service de nuestra aplicacion y  arastramos&lt;br /&gt; el metodo al   jButton1ActionPerformed ( evento del boton ) .&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQoHWoREPuI/AAAAAAAAAF0/rUbCPX1OgVw/s1600-h/suma.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQoHWoREPuI/AAAAAAAAAF0/rUbCPX1OgVw/s320/suma.JPG" alt="" id="BLOGGER_PHOTO_ID_5263027199883362018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;           dentro de nuestro metodo  modificamos  lo siguiente&lt;br /&gt;&lt;br /&gt;           int i = Integer.parseInt(jTextField1.getText());&lt;br /&gt;           int j = Integer.parseInt(jTextField2.getText());&lt;br /&gt;&lt;br /&gt;           jTextField3.setText(""+result);&lt;br /&gt;&lt;br /&gt;como observacion final tenemos que  tener el servidor  GlassFish  , para poder&lt;br /&gt;hacer correr nuestro web service .&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-191929951515902176?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/191929951515902176/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=191929951515902176' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/191929951515902176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/191929951515902176'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/10/consumir-un-web-service-desde-j2se.html' title='consumir un web service desde j2se'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SQoAzyVosEI/AAAAAAAAAFE/18TnCS9SMl4/s72-c/primero.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7206762810285936323</id><published>2008-10-27T13:39:00.000-07:00</published><updated>2008-10-27T14:05:01.875-07:00</updated><title type='text'>conexion base de dato con netbeans</title><content type='html'>primero vamos a ir  a services   y desplegamos Databases:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYn9W1VDQI/AAAAAAAAAEc/KeMxYuXjBiE/s1600-h/netbeans_uno.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 210px; height: 320px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYn9W1VDQI/AAAAAAAAAEc/KeMxYuXjBiE/s320/netbeans_uno.JPG" alt="" id="BLOGGER_PHOTO_ID_5261937149683764482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Despues tenemos que agregar el jar (el driver ) de la base de dato que vamos a conectar a netbeans.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQYorWV8cSI/AAAAAAAAAEk/DehdJnNZPRk/s1600-h/netbeans_dos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 154px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQYorWV8cSI/AAAAAAAAAEk/DehdJnNZPRk/s320/netbeans_dos.JPG" alt="" id="BLOGGER_PHOTO_ID_5261937939826110754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;paso numero 3: ahora vamos a configurar la conexion&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYpTGESH0I/AAAAAAAAAEs/sKpHVnpCTHc/s1600-h/netbeans_tres.JPG"&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_Add_Image" title="Añadir imagen" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="addImage();" onmousedown="CheckFormatting(event);;ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Añadir imagen" class="gl_photo" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 174px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYpTGESH0I/AAAAAAAAAEs/sKpHVnpCTHc/s320/netbeans_tres.JPG" alt="" id="BLOGGER_PHOTO_ID_5261938622651834178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;paso nº 4 : configuracion de la conexion (Seleccion del tipo de driver)&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/Windows/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYqZ4474NI/AAAAAAAAAE0/4CvEu4t6YSg/s1600-h/netbeans_cuatro.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYqZ4474NI/AAAAAAAAAE0/4CvEu4t6YSg/s320/netbeans_cuatro.JPG" alt="" id="BLOGGER_PHOTO_ID_5261939838885290194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;hay que tener  ojo  , porque tenemos que dejar en advanced una configuracion  publica&lt;br /&gt;y por ultimo a disfrutar nuestra conexion a base de dato en  netbeans&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQYsL5L6QjI/AAAAAAAAAE8/uoJ4KKuCuEk/s1600-h/netbeans_ultimo.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 109px;" src="http://2.bp.blogspot.com/_6qLdTeEZiEk/SQYsL5L6QjI/AAAAAAAAAE8/uoJ4KKuCuEk/s320/netbeans_ultimo.JPG" alt="" id="BLOGGER_PHOTO_ID_5261941797469962802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;como observacion :&lt;br /&gt;&lt;br /&gt;como sun compro mysql la conexion  por primera vista es super facil porque trae el driver de la base de dato incorporado.&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/Windows/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-7206762810285936323?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/7206762810285936323/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=7206762810285936323' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7206762810285936323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/7206762810285936323'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/10/conexion-base-de-dato-con-netbeans.html' title='conexion base de dato con netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6qLdTeEZiEk/SQYn9W1VDQI/AAAAAAAAAEc/KeMxYuXjBiE/s72-c/netbeans_uno.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-1965170495848436919</id><published>2008-10-03T13:04:00.000-07:00</published><updated>2008-10-03T15:25:15.703-07:00</updated><title type='text'>exportar  e importar a excel desde java</title><content type='html'>Para trabajar  con excel  vamos a hacerlo con el&lt;br /&gt;formato csv , este formato es super simple de utilizar&lt;br /&gt;&lt;br /&gt;Para bajar el jar que vamos añadir a nuestro proyecto&lt;br /&gt;lo vamos a buscar aqui:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.csvreader.com/java_csv.php"&gt;http://www.csvreader.com/java_csv.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;asi se guarda y es el formato con el cual tenemos que guardar&lt;br /&gt;nuestro archivo&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_6qLdTeEZiEk/SOaDjenPpWI/AAAAAAAAAD4/xIAzLYgrhgI/s1600-h/cvs+formato.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_6qLdTeEZiEk/SOaDjenPpWI/AAAAAAAAAD4/xIAzLYgrhgI/s320/cvs+formato.JPG" alt="" id="BLOGGER_PHOTO_ID_5253030660910589282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El siguiente ejemplo vamos a guardar  un archivo&lt;br /&gt;csv en un Arraylist el cual guarda objetos de la clase&lt;br /&gt;libro( con sus get y set de atrivutos privados)&lt;br /&gt;&lt;br /&gt;////////  clase libro /////////////////&lt;br /&gt;&lt;br /&gt;public class libro_ingresado {&lt;br /&gt;&lt;br /&gt;private String nombre;&lt;br /&gt;private String autor;&lt;br /&gt;private String edicion;&lt;br /&gt;private String anio;&lt;br /&gt;private String codigo;&lt;br /&gt;private String area;&lt;br /&gt;&lt;br /&gt;/** Creates a new instance of libro_ingresado */&lt;br /&gt;public libro_ingresado() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getNombre() {&lt;br /&gt; return nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setNombre(String nombre) {&lt;br /&gt; this.nombre = nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getAutor() {&lt;br /&gt; return autor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setAutor(String autor) {&lt;br /&gt; this.autor = autor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getEdicion() {&lt;br /&gt; return edicion;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setEdicion(String edicion) {&lt;br /&gt; this.edicion = edicion;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getAnio() {&lt;br /&gt; return anio;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setAnio(String anio) {&lt;br /&gt; this.anio = anio;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getCodigo() {&lt;br /&gt; return codigo;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setCodigo(String codigo) {&lt;br /&gt; this.codigo = codigo;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getArea() {&lt;br /&gt; return area;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setArea(String area) {&lt;br /&gt; this.area = area;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/////// clase de manejo de csv //////////&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import com.csvreader.CsvReader;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import javax.swing.JOptionPane;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class leer_archivo {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public ArrayList leer_archivo_exel(String archivo){&lt;br /&gt;&lt;br /&gt;ArrayList lista_libros = new ArrayList();&lt;br /&gt;&lt;br /&gt;CsvReader reader = null;&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;reader = new CsvReader(archivo,';');&lt;br /&gt;&lt;br /&gt;} catch (FileNotFoundException ex) {&lt;br /&gt;          ex.printStackTrace();&lt;br /&gt;          JOptionPane.showInputDialog("en leer archivo");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&lt;br /&gt;reader.readHeaders();&lt;br /&gt;&lt;br /&gt;      } catch (IOException ex) {&lt;br /&gt;   ex.printStackTrace();&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt; try {    &lt;br /&gt;&lt;br /&gt;libro_ingresado  libr;&lt;br /&gt;&lt;br /&gt;while (reader.readRecord())&lt;br /&gt;         { &lt;br /&gt;&lt;br /&gt;libr=new libro_ingresado();&lt;br /&gt;            libr.setNombre(reader.get("nombre"));&lt;br /&gt;            libr.setAutor(reader.get("autor"));&lt;br /&gt;            libr.setEdicion(reader.get("edicion"));&lt;br /&gt;            libr.setAnio(reader.get("anio"));&lt;br /&gt;            libr.setCodigo(reader.get("codigo"));&lt;br /&gt;            libr.setArea(reader.get("area"));       &lt;br /&gt;            lista_libros.add(libr);  // añadimos el objeto al arrayList&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;} catch (IOException ex) {&lt;br /&gt;ex.printStackTrace();&lt;br /&gt;System.err.println(" en  while readrecord ");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;reader.close();&lt;br /&gt;&lt;br /&gt;return lista_libros;  // retorna una objeto de ArrayList&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;el siquiente codigo es abrir un   JFileChooser  donde buscamos&lt;br /&gt;nuestro archivo csv , luego lo seleccionamos  y es procesado.&lt;br /&gt;el archivo es pasado a un jtable&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6qLdTeEZiEk/SOaF5t9skjI/AAAAAAAAAEA/qys1uQwGdjc/s1600-h/formato.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_6qLdTeEZiEk/SOaF5t9skjI/AAAAAAAAAEA/qys1uQwGdjc/s320/formato.jpg" alt="" id="BLOGGER_PHOTO_ID_5253033242011669042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//////////////////  codigo evento boton ///////////////&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DefaultTableModel dtm;&lt;br /&gt; ArrayList libro_recivido=new ArrayList();&lt;br /&gt; &lt;br /&gt;                 JFileChooser fileChooser = new JFileChooser(".");&lt;br /&gt;                 int status = fileChooser.showOpenDialog(null);   //fileChooser&lt;br /&gt;&lt;br /&gt;                 if (status == JFileChooser.APPROVE_OPTION) {&lt;br /&gt;             &lt;br /&gt;                   File selectedFile =fileChooser.getSelectedFile();&lt;br /&gt;          &lt;br /&gt;                   leer_archivo l=new leer_archivo();&lt;br /&gt;                   String direccion=selectedFile.getParent()+"/"+selectedFile.getName();&lt;br /&gt;&lt;br /&gt;                   libro_recivido=l.leer_archivo_exel(direccion);&lt;br /&gt;                   Iterator it=libro_recivido.iterator();&lt;br /&gt;&lt;br /&gt;               try{&lt;br /&gt;&lt;br /&gt;Object datos[] = new Object [6];&lt;br /&gt;dtm = (DefaultTableModel) jTable1.getModel();&lt;br /&gt;                                for (int i = jTable1.getRowCount() - 1; i&gt;=0; i--)&lt;br /&gt;                                    {&lt;br /&gt;                                           dtm.removeRow(i);&lt;br /&gt;                                    }    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                  while(it.hasNext()){&lt;br /&gt;&lt;br /&gt;    libro_ingresado lib_ing;&lt;br /&gt;                                                      lib_ing=(libro_ingresado) it.next();&lt;br /&gt;    datos[0]=lib_ing.getNombre();&lt;br /&gt;    datos[1]=lib_ing.getAutor();&lt;br /&gt;    datos[2]=lib_ing.getEdicion();&lt;br /&gt;    datos[3]=lib_ing.getAnio();&lt;br /&gt;    datos[4]=lib_ing.getCodigo();&lt;br /&gt;    datos[5]=lib_ing.getArea();&lt;br /&gt;                                   &lt;br /&gt;        dtm.addRow(datos);&lt;br /&gt; }&lt;br /&gt;               &lt;br /&gt;} catch(Exception e){&lt;br /&gt;//manejo de error&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;} else if (status == JFileChooser.CANCEL_OPTION) {&lt;br /&gt;&lt;br /&gt;   System.out.println("cancele");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;como fin un link de interes&lt;br /&gt;&lt;br /&gt;&lt;a href="http://schmidt.devlib.org/java/libraries-excel.html"&gt;http://schmidt.devlib.org/java/libraries-excel.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-1965170495848436919?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/1965170495848436919/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=1965170495848436919' title='25 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1965170495848436919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/1965170495848436919'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/10/exportar-e-importar-exel-desde-java.html' title='exportar  e importar a excel desde java'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6qLdTeEZiEk/SOaDjenPpWI/AAAAAAAAAD4/xIAzLYgrhgI/s72-c/cvs+formato.JPG' height='72' width='72'/><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-9135494446055958215</id><published>2008-09-20T13:51:00.000-07:00</published><updated>2008-09-20T14:15:05.168-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java foreach'/><title type='text'>Foreach en java</title><content type='html'>Esta forma de recorrer  o iterar en una coleccion o Array es añadido en la&lt;br /&gt;API 1.5 ( ver lo nuevo de esta api : &lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/"&gt;http://java.sun.com/j2se/1.5.0/docs/guide/language/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Tenemos que tener cuidado que solamente desde esta API se puede utilizar .&lt;br /&gt;&lt;br /&gt;Formato:&lt;br /&gt;&lt;pre&gt;for ( &lt;i&gt;Type Identifier&lt;/i&gt; : &lt;i&gt;Expression&lt;/i&gt; )&lt;br /&gt;         &lt;i&gt;Statement&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;ejemplo:&lt;br /&gt;&lt;br /&gt;double[] ar = {1.2, 3.0, 0.8};&lt;br /&gt;&lt;br /&gt;int sum = 0;&lt;br /&gt;&lt;br /&gt;for (double d : ar) {&lt;br /&gt;  sum += d;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;    System.out.println(""+sum);&lt;br /&gt;&lt;br /&gt;----------------- Para colecciones -------------------------&lt;br /&gt;&lt;br /&gt;ArrayList&lt;string&gt; at=new ArrayList&lt;string&gt;();&lt;br /&gt;&lt;br /&gt;    at.add("hola");&lt;br /&gt;    at.add("chau");&lt;br /&gt; &lt;br /&gt;    for(String palabra: at){&lt;br /&gt; &lt;br /&gt;        System.out.println(palabra);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;aunque esta sintaxis es mucho mas clara , tenemos que tener las&lt;br /&gt;siguientes apreciaciones&lt;br /&gt;&lt;br /&gt;1.- solo el acceso : los elementos no pueden ser asignados.&lt;br /&gt;2.- solo estructura unica : no es posible recorrer dos estructuras a la vez ,&lt;br /&gt;                                             ejemplo comparar dos arrays&lt;br /&gt;3.- solo hacia adelante&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;y  para terminar los link de interes para este tema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html"&gt;http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jcp.org/aboutJava/communityprocess/jsr/tiger/enhanced-for.html"&gt;http://jcp.org/aboutJava/communityprocess/jsr/tiger/enhanced-for.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.leepoint.net/notes-java/flow/loops/foreach.html"&gt;http://www.leepoint.net/notes-java/flow/loops/foreach.html&lt;/a&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/string&gt;&lt;/string&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-9135494446055958215?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/9135494446055958215/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=9135494446055958215' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9135494446055958215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9135494446055958215'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/09/foreach-en-java.html' title='Foreach en java'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3508282988772556420</id><published>2008-09-14T20:18:00.000-07:00</published><updated>2008-09-14T21:00:01.778-07:00</updated><title type='text'>Look And Feel</title><content type='html'>Cambiar la apariencia de nuestro programa en java&lt;br /&gt;es sumamente facil , con unas lineas de codigo podemos&lt;br /&gt;tener un cambio importante para el usuario final .&lt;br /&gt;&lt;br /&gt; Ej: este look and feel  simula la interfaz de un S.O Mac&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_6qLdTeEZiEk/SM3XM6mBHrI/AAAAAAAAADo/FySxr9hDTow/s1600-h/abrir.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_6qLdTeEZiEk/SM3XM6mBHrI/AAAAAAAAADo/FySxr9hDTow/s320/abrir.JPG" alt="" id="BLOGGER_PHOTO_ID_5246085757843611314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; JRE trae por defecto algunos formatos que se pueden elegir , el mas rescatable&lt;br /&gt;es el que toma el sistema operativo.&lt;br /&gt;&lt;br /&gt; try {&lt;br /&gt;      &lt;br /&gt;      UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");&lt;br /&gt;&lt;br /&gt;        } catch (InstantiationException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        } catch (ClassNotFoundException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        } catch (UnsupportedLookAndFeelException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        } catch (IllegalAccessException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;otro es :&lt;br /&gt;&lt;br /&gt;UIManager.setLookAndFeel ( "com.sun.java.swing.plaf.motif.MotifLookAndFeel");&lt;br /&gt;&lt;br /&gt;Lo realmente  interesante es bajar nuevos Look And Feel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://javootoo.l2fprod.com/index.html"&gt;&lt;br /&gt;http://javootoo.l2fprod.com/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://substance.dev.java.net/"&gt;https://substance.dev.java.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;y por ultimo la documentacion  sun  oficial&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/"&gt;http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3508282988772556420?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3508282988772556420/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3508282988772556420' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3508282988772556420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3508282988772556420'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/09/look-and-feel.html' title='Look And Feel'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6qLdTeEZiEk/SM3XM6mBHrI/AAAAAAAAADo/FySxr9hDTow/s72-c/abrir.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5175355971413902064</id><published>2008-07-17T23:13:00.000-07:00</published><updated>2008-07-17T23:38:26.678-07:00</updated><title type='text'>un value para jComboBox</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_6qLdTeEZiEk/SIA55FX0vaI/AAAAAAAAADg/RYJUhHHhiP8/s1600-h/ejemplovalue.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SIA55FX0vaI/AAAAAAAAADg/RYJUhHHhiP8/s320/ejemplovalue.JPG" alt="" id="BLOGGER_PHOTO_ID_5224239220607204770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;con este emplo de jComboBox vamos a mostrar  el nombre y cuando  seleccionemos&lt;br /&gt;un  items de dicho jcomboBox vamos a traer un dato (para el ejemplo el id ), el&lt;br /&gt;secreto de esta operacion es que el jcomboBox almacena object y es por eso que&lt;br /&gt;le añadimos objetos de tipo persona  al jComboBox , este objeto  le sobre escribimos&lt;br /&gt;el metodo  toString que por defecto lo trae,  porque es un metodo de la clase object&lt;br /&gt;y todo  objeto hereda de el  , bueno en el metodo toString  retornamos el&lt;br /&gt;nombre , que seria  lo que queremos mostrar en el JComboBox y generamos un&lt;br /&gt;get del id para que cuando seleccionemos  un objecto del jComboBox nos traiga el&lt;br /&gt;get del objeto seleccionado.&lt;br /&gt;&lt;br /&gt;El siguiente y bueno la mayoria de los codigos estan hechos con el  IDE&lt;br /&gt;Netbeans&lt;br /&gt;&lt;br /&gt;Primero la clase persona:&lt;br /&gt;&lt;br /&gt;public class persona {&lt;br /&gt;    &lt;br /&gt;          private  String nombre;&lt;br /&gt;          private  String id ;&lt;br /&gt;&lt;br /&gt;         /** Creates a new instance of persona */&lt;br /&gt;          public persona(String nombre , String id ) {&lt;br /&gt; &lt;br /&gt;               this.nombre=nombre;&lt;br /&gt;               this.id=id;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;          public String getID()&lt;br /&gt;         {&lt;br /&gt;           return id ;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;          public String toString()&lt;br /&gt;         {&lt;br /&gt;          return nombre ;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ahora el  codigo de la ventana&lt;br /&gt;//////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;public class ventana extends javax.swing.JFrame {&lt;br /&gt; &lt;br /&gt;    DefaultComboBoxModel value;&lt;br /&gt;&lt;br /&gt;   public ventana() {&lt;br /&gt;        initComponents();&lt;br /&gt;       setBounds(0,0,360,200);                    //porque deje el diseño null layout&lt;br /&gt;       setLocationRelativeTo(null);              // centrar la ventana en la pantalla&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;       value =new DefaultComboBoxModel();&lt;br /&gt;       jComboBox1.setModel(value);&lt;br /&gt;     &lt;br /&gt;        value.addElement(new persona("Seleccione"," "));&lt;br /&gt;       value.addElement(new persona("esteban","22222"));&lt;br /&gt;       value.addElement(new persona("jorge","1233-3"));&lt;br /&gt;       value.addElement(new persona("esteban","22222"));&lt;br /&gt;       value.addElement(new persona("daniel","2222"));&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;   private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                         &lt;br /&gt;&lt;br /&gt;       persona cliente = (persona) jComboBox1.getSelectedItem() ;&lt;br /&gt;       String id = cliente.getID() ;&lt;br /&gt;       jLabel3.setText(id);&lt;br /&gt;     &lt;br /&gt;   }                                        &lt;br /&gt; &lt;br /&gt;   // main de jFrom pero se puede eliminar porque desde otro main&lt;br /&gt;&lt;br /&gt;   public static void main(String args[]) {  &lt;br /&gt;       java.awt.EventQueue.invokeLater(new Runnable() {        &lt;br /&gt;           public void run() {&lt;br /&gt;               new ventana().setVisible(true);&lt;br /&gt;           }&lt;br /&gt;       });&lt;br /&gt;&lt;br /&gt;   }&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5175355971413902064?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5175355971413902064/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5175355971413902064' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5175355971413902064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5175355971413902064'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/07/un-value-para-jcombobox.html' title='un value para jComboBox'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_6qLdTeEZiEk/SIA55FX0vaI/AAAAAAAAADg/RYJUhHHhiP8/s72-c/ejemplovalue.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6985787494504997188</id><published>2008-06-17T20:33:00.000-07:00</published><updated>2008-06-21T14:10:48.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Genéricos para colecciones.'/><title type='text'>Genéricos para colecciones.</title><content type='html'>&lt;p class="MsoNormal"&gt;En un texto anterior expuse que cuando guardamos elementos&lt;/p&gt;&lt;p class="MsoNormal"&gt;en una colección y que en general yo ocupo la interfaz List ,(ArrayList&lt;br /&gt;o LinkedList), nosotros guardamos objetos de tipo object ,pero en&lt;br /&gt;algunos casos seria conveniente guardar un tipo especifico como lo&lt;br /&gt;hace un array (osea decirle al compilador el tipo que estamos&lt;br /&gt;guardando), esto es para evitar el casting que se realiza&lt;br /&gt;constantemente cuando obtenemos un objeto de una colección&lt;br /&gt;, además nos ayuda a encontrar el error en momento de&lt;br /&gt;compilación y no en ejecución.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;Ejemplo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;ArrayList&lt;&lt;string&gt;&lt;string&gt;String&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt; &lt;string&gt; v = new ArrayList&lt;&lt;string&gt;String&gt;&lt;string&gt; &lt;string&gt; ();&lt;br /&gt;v.add(”prueba”);&lt;br /&gt;String cadena= v.get(0);&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;vemos que al capturar el elemento guardado en el&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;ArrayList no tenemos que&lt;span style=""&gt;  &lt;/span&gt;realizar un casting&lt;br /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;v.add(10);&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;en la inserción de arriba nos mostrara un error ,por&lt;br /&gt;motivo que se esta guardando un entero en vez de&lt;br /&gt;un string (como se señalo en el ArrayList).&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html"&gt;http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6985787494504997188?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6985787494504997188/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6985787494504997188' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6985787494504997188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6985787494504997188'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/genricos-para-colecciones.html' title='Genéricos para colecciones.'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3647473916240992835</id><published>2008-06-13T20:36:00.000-07:00</published><updated>2008-06-13T20:57:53.620-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='calendario para java'/><title type='text'>Un calendario para java</title><content type='html'>una critica que se le realiza a java es que no trae un calendario ,&lt;br /&gt;pero para solucionar este problema existen distribuciones&lt;br /&gt;gratuitas para bajar y  aplicarlo en nuestro programa.&lt;br /&gt;&lt;br /&gt;Pero como la idea no es plagio doy el link de otro blog    que sale&lt;br /&gt;bien detallado como instalar este calendario en netbeans .&lt;br /&gt;&lt;br /&gt;&lt;a href="http://monillo007.blogspot.com/2008/04/un-selector-de-fechas-para-aplicaciones.html"&gt;http://monillo007.blogspot.com/2008/04/un-selector-de-fechas-para-aplicaciones.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_6qLdTeEZiEk/SFM-BsrsBMI/AAAAAAAAADY/Vm0jzdzrnlw/s1600-h/calendario.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_6qLdTeEZiEk/SFM-BsrsBMI/AAAAAAAAADY/Vm0jzdzrnlw/s320/calendario.JPG" alt="" id="BLOGGER_PHOTO_ID_5211577392692987074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;la forma de utilizar es super simple se captura la fecha como un String.&lt;br /&gt;&lt;br /&gt;EJ:&lt;br /&gt;&lt;br /&gt;  String fecha;&lt;br /&gt;  fecha=dateChooserCombo1.getText();&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3647473916240992835?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3647473916240992835/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3647473916240992835' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3647473916240992835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3647473916240992835'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/un-calenjario-para-java.html' title='Un calendario para java'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_6qLdTeEZiEk/SFM-BsrsBMI/AAAAAAAAADY/Vm0jzdzrnlw/s72-c/calendario.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-9111576301855481927</id><published>2008-06-12T14:37:00.000-07:00</published><updated>2008-06-12T15:05:56.915-07:00</updated><title type='text'>Encapsulamiento de datos con Netbeans</title><content type='html'>si tenemos varias variables de instacias y estas tenemos&lt;br /&gt;que generar los famosos get y set , el IDE Netbeans nos&lt;br /&gt;proporciona una forma muy sencilla de realizar esta tarea.&lt;br /&gt;&lt;br /&gt;1.- crear una clase con sus atributos (del objeto)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SFGYvBXtIlI/AAAAAAAAACw/dou3Ae__2uM/s1600-h/atributos.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SFGYvBXtIlI/AAAAAAAAACw/dou3Ae__2uM/s320/atributos.JPG" alt="" id="BLOGGER_PHOTO_ID_5211114177433510482" border="0" /&gt;&lt;/a&gt;2.- en la barra de netbeans buscar refactorizar y seleccionar Encapsular campos&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SFGZmJQFEiI/AAAAAAAAAC4/3Mgyv5aVBAE/s1600-h/refactorizar.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SFGZmJQFEiI/AAAAAAAAAC4/3Mgyv5aVBAE/s320/refactorizar.JPG" alt="" id="BLOGGER_PHOTO_ID_5211115124441813538" border="0" /&gt;&lt;/a&gt;3.- luego saldra este cuadro donde seleccionamos que atributos vamos a&lt;br /&gt;  encapsular, (se puede elegir solamentes set o get ).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_6qLdTeEZiEk/SFGaa5Z7TQI/AAAAAAAAADA/npfjyGntRhQ/s1600-h/encapsulamiento+seleccion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_6qLdTeEZiEk/SFGaa5Z7TQI/AAAAAAAAADA/npfjyGntRhQ/s320/encapsulamiento+seleccion.JPG" alt="" id="BLOGGER_PHOTO_ID_5211116030721215746" border="0" /&gt;&lt;/a&gt;4.- luego Siguiente y nos muestra el siguiente cuadro en la parte inferior del ide&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_6qLdTeEZiEk/SFGbTlnZvZI/AAAAAAAAADI/xQPi2JatX94/s1600-h/refactorizar+final.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SFGbTlnZvZI/AAAAAAAAADI/xQPi2JatX94/s320/refactorizar+final.JPG" alt="" id="BLOGGER_PHOTO_ID_5211117004661570962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5.- y por ultimo refatorizar.&lt;br /&gt;&lt;br /&gt;como seleccionamos todos los atributos private y sus get y set&lt;br /&gt;respectivos nos queda la clase asi&lt;br /&gt;&lt;br /&gt;public class encapsulamiento {&lt;br /&gt;&lt;br /&gt;private String nombre;&lt;br /&gt;private String apellido;&lt;br /&gt;private String rut;&lt;br /&gt;private int edad;&lt;br /&gt;&lt;br /&gt;  public encapsulamiento() {&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getNombre() {&lt;br /&gt;      return nombre;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setNombre(String nombre) {&lt;br /&gt;      this.nombre = nombre;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getApellido() {&lt;br /&gt;      return apellido;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setApellido(String apellido) {&lt;br /&gt;      this.apellido = apellido;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getRut() {&lt;br /&gt;      return rut;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setRut(String rut) {&lt;br /&gt;      this.rut = rut;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int getEdad() {&lt;br /&gt;      return edad;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setEdad(int edad) {&lt;br /&gt;      this.edad = edad;&lt;br /&gt;  } &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;otra forma de ver y modificar los get y set mediante el IDE es&lt;br /&gt;mediante los patrones de beans , bueno en la imagen quedara claro&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SFGc2WP0Z9I/AAAAAAAAADQ/CKybK4leg8w/s1600-h/beans.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SFGc2WP0Z9I/AAAAAAAAADQ/CKybK4leg8w/s320/beans.JPG" alt="" id="BLOGGER_PHOTO_ID_5211118701343172562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;el cuadro inferior de la imagen es la propiedad de apellido y en el  modo&lt;br /&gt;podemos cambiar su estructura.&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-9111576301855481927?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/9111576301855481927/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=9111576301855481927' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9111576301855481927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/9111576301855481927'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/encapsulamiento-de-datos-con-netbeans.html' title='Encapsulamiento de datos con Netbeans'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_6qLdTeEZiEk/SFGYvBXtIlI/AAAAAAAAACw/dou3Ae__2uM/s72-c/atributos.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5116391319001182487</id><published>2008-06-10T14:12:00.001-07:00</published><updated>2008-06-10T14:19:13.495-07:00</updated><title type='text'>BLUEJ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SE7ub4mRZaI/AAAAAAAAACg/9ZU9PjURV6E/s1600-h/bluej.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SE7ub4mRZaI/AAAAAAAAACg/9ZU9PjURV6E/s320/bluej.JPG" alt="" id="BLOGGER_PHOTO_ID_5210363981731030434" border="0" /&gt;&lt;/a&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;BlueJ es un entorno de desarrollo Java&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="font-size:11;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;diseñado específicamente &lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;para la enseñanza a un nivel introductoria&lt;/span&gt;.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:11;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;a href="http://www.bluej.org/"&gt;&lt;span class="a"&gt;www.&lt;b&gt;bluej&lt;/b&gt;.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:11;"&gt;&lt;span style="font-size:100%;"&gt;Para hecharle un vistaso no esta malo , posee &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;un enfoque&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;fuerte a uml , (Diagramas de clases y para&lt;br /&gt;ello mejor lo hacemos con otra herramienta mas poderosa).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;Bueno es para estudiantes jejejejeje&lt;span style=""&gt; &lt;/span&gt;,pero para aprender&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;esta herramienta no esta mala, en su pagina se encuentran los&lt;br /&gt;manuales que explican como trabajar con este entorno&lt;/span&gt;&lt;/p&gt;Imagen del entorno&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_6qLdTeEZiEk/SE7vHemRRQI/AAAAAAAAACo/J8FEryTCyoc/s1600-h/ide+bluej.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SE7vHemRRQI/AAAAAAAAACo/J8FEryTCyoc/s320/ide+bluej.JPG" alt="" id="BLOGGER_PHOTO_ID_5210364730665944322" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5116391319001182487?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5116391319001182487/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5116391319001182487' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5116391319001182487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5116391319001182487'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/bluej.html' title='BLUEJ'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_6qLdTeEZiEk/SE7ub4mRZaI/AAAAAAAAACg/9ZU9PjURV6E/s72-c/bluej.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-2387876656079615420</id><published>2008-06-10T07:29:00.000-07:00</published><updated>2008-06-10T08:00:07.376-07:00</updated><title type='text'>Jdbc : Conexión con Access</title><content type='html'>Para aplicaciones mas simples , seria muy cómodo utilizar&lt;br /&gt;Access puesto que toda la gente lo tiene instalado sin tener&lt;br /&gt;idea , además&lt;span style=""&gt;  &lt;/span&gt;seria súper fácil para el usuario , realizar&lt;span style=""&gt;  &lt;/span&gt;el&lt;br /&gt;respaldo de &lt;st1:personname productid="la BD" st="on"&gt;la BD&lt;/st1:personname&gt; ya que es solo copiar el archivo que genera&lt;br /&gt;el Access&lt;span style=""&gt;  &lt;/span&gt;, trabajar en distintas partes es fácil ,porque se debe&lt;br /&gt;tener instalado el&lt;span style=""&gt;  &lt;/span&gt;programa en distintas&lt;span style=""&gt;  &lt;/span&gt;partes (trabajo y casa )&lt;br /&gt;y&lt;span style=""&gt;  &lt;/span&gt;transportar el archivo &lt;span style=""&gt; &lt;/span&gt;para &lt;span style=""&gt; &lt;/span&gt;trabajar en ambas partes de&lt;br /&gt;forma sencilla&lt;br /&gt;La conexión de Access no es una muy común , ya que no&lt;br /&gt;tiene el driver nativo para realizar la conexión , esta conexión&lt;br /&gt;no es de las mejores&lt;span style=""&gt;  &lt;/span&gt;y además es de las mas lentas, En la&lt;br /&gt;siguiente imagen se mostrara&lt;span style=""&gt;   &lt;/span&gt;como se establece la conexión.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_6qLdTeEZiEk/SE6QOHktboI/AAAAAAAAAB4/E0hrhHdGN9U/s1600-h/access+conexion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 346px; height: 99px;" src="http://bp1.blogger.com/_6qLdTeEZiEk/SE6QOHktboI/AAAAAAAAAB4/E0hrhHdGN9U/s320/access+conexion.JPG" alt="" id="BLOGGER_PHOTO_ID_5210260391139831426" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;Obs: no se debe cargar el jar de &lt;st1:personname productid="la BD" st="on"&gt;la BD&lt;/st1:personname&gt; , pero si configurar el ODBC.&lt;/p&gt;                &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;Pasos:&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;1.- Crear nuestra BD en Access con su respectiva tabla.&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;2.- Configurar el ODBC , en este caso lo vamos a realizar con xp.&lt;br /&gt;&lt;o:p&gt;              &lt;/o:p&gt;&lt;span style=""&gt;       &lt;/span&gt;Panel de control -&gt; Herramientas administrativas &lt;span style=""&gt; &lt;/span&gt;y&lt;br /&gt;         después seleccionamos&lt;/p&gt;&lt;p class="MsoNormal"&gt;   &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_6qLdTeEZiEk/SE6Qw9-OT8I/AAAAAAAAACA/gAVHnOR61U4/s1600-h/odbc+configuracion.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_6qLdTeEZiEk/SE6Qw9-OT8I/AAAAAAAAACA/gAVHnOR61U4/s320/odbc+configuracion.JPG" alt="" id="BLOGGER_PHOTO_ID_5210260989857910722" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;             Seleccionamos &lt;/span&gt;&lt;span style=""&gt;Agregar&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_6qLdTeEZiEk/SE6RK0YCCwI/AAAAAAAAACI/pKI5eFX3IPo/s1600-h/dns+odbc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_6qLdTeEZiEk/SE6RK0YCCwI/AAAAAAAAACI/pKI5eFX3IPo/s320/dns+odbc.JPG" alt="" id="BLOGGER_PHOTO_ID_5210261433958402818" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;Seleccionamos el driver que muestra la imagen&lt;/p&gt;&lt;span style=""&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:5in;"&gt;  &lt;v:imagedata src="file:///C:\Windows\Temp\msohtml1\01\clip_image001.jpg" title="seleccion driver odbc"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SE6RmD8EW9I/AAAAAAAAACQ/JKC-da2PFj0/s1600-h/seleccion+driver+odbc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SE6RmD8EW9I/AAAAAAAAACQ/JKC-da2PFj0/s320/seleccion+driver+odbc.JPG" alt="" id="BLOGGER_PHOTO_ID_5210261901992549330" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style=""&gt;  &lt;span style="font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Aquí ,&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;seleccionar la base de dato , el archivo mdb&lt;br /&gt;y en avanzadas tenemos la posibilidad de colocar la clave&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_6qLdTeEZiEk/SE6SRwmjW4I/AAAAAAAAACY/YZPdPyOrAXg/s1600-h/configuracion+odbc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SE6SRwmjW4I/AAAAAAAAACY/YZPdPyOrAXg/s320/configuracion+odbc.JPG" alt="" id="BLOGGER_PHOTO_ID_5210262652716276610" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;Y ahora nos vamos a nuestro IDE , y que en mi caso trabajo con NETBEANS y&lt;br /&gt;generamos nuestro código.&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;try{&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); &lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;Connection con = DriverManager.getConnection(&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;                                      &lt;/span&gt;"jdbc:odbc:base", "access", "1234"); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;            &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;           &lt;/span&gt;Statement stat = con.createStatement(); &lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;br /&gt;         &lt;/span&gt;String unsql="select ……….. ";&lt;span style=""&gt;                    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;br /&gt;         &lt;/span&gt;ResultSet respuesta= stat.executeQuery(unsql);&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;                      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;            &lt;/span&gt;while(respuesta.next()){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;                           &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;System.out.println(respuesta.getString(“nombre”));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;            &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;respuesta.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;stat.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;br /&gt;         &lt;/span&gt;con.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-GB"&gt;&lt;span style=""&gt;           &lt;/span&gt;}catch(java.lang.ClassNotFoundException e)&lt;br /&gt;      {&lt;br /&gt;          JOptionPane.showConfirmDialog(null,"Error = " + e.toString() , "Advertencia",&lt;br /&gt;                    JOptionPane.ERROR_MESSAGE + JOptionPane.DEFAULT_OPTION);&lt;br /&gt;      }&lt;br /&gt;      catch(java.lang.InstantiationException e)&lt;br /&gt;      {&lt;br /&gt;          JOptionPane&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;.showConfirmDialog&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;. . . . . . . . . .      &lt;br /&gt;      }&lt;br /&gt;      catch(java.lang.IllegalAccessException e)&lt;br /&gt;      {&lt;br /&gt;          JOptionPane.showConfirmDialog. . . . . . . . .  .           &lt;br /&gt;      }                                &lt;br /&gt;      catch(java.sql.SQLException e)&lt;br /&gt;      {&lt;br /&gt;          JOptionPane.showConfirmDialog. . . . . . . . . .                   &lt;br /&gt;      }&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;Fin .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-2387876656079615420?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/2387876656079615420/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=2387876656079615420' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2387876656079615420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/2387876656079615420'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/jdbc-conexin-con-access.html' title='Jdbc : Conexión con Access'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_6qLdTeEZiEk/SE6QOHktboI/AAAAAAAAAB4/E0hrhHdGN9U/s72-c/access+conexion.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-3081640998682266506</id><published>2008-06-04T13:04:00.000-07:00</published><updated>2008-06-04T13:22:18.402-07:00</updated><title type='text'>Procedimiento almacenado desde JDBC</title><content type='html'>&lt;div&gt;&lt;div&gt;No vamos a explicar el potencial que tienen los procedimientos &lt;/div&gt;&lt;div&gt;almacenados , solamente mencionaremos que desde JDBC &lt;/div&gt;&lt;div&gt;podemos crear y llamar a ellos , en el siguiente ejemplo vamos &lt;/div&gt;&lt;div&gt;a trabajar con la siguiente base de dato&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img id="BLOGGER_PHOTO_ID_5208120491912948946" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_6qLdTeEZiEk/SEb1_lvnbNI/AAAAAAAAABg/ThzUxbEaYzI/s320/base_de_dato.JPG" border="0" /&gt;&lt;/div&gt;&lt;div&gt;que ocupa el lenguaje plpgsql;&lt;br /&gt;&lt;br /&gt;Desarrollo:&lt;br /&gt;&lt;br /&gt;1.- primero tenemos que cargamos el jar de prostgres en nuestro&lt;/div&gt;&lt;div&gt;      proyecto de netbeans .&lt;br /&gt;&lt;br /&gt;2.- cargar nuestro procedimiento almacenado en la base de dato ,&lt;br /&gt;      para lo cual abrimos nuestra base de datos y lo ejecutamos.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;---------- Procedimiento almacenado ------------------------ &lt;/div&gt;&lt;div&gt;&lt;br /&gt;CREATE or replace FUNCTION estafunc() &lt;/div&gt;&lt;div&gt; RETURNS INTEGER AS ' &lt;/div&gt;&lt;div&gt;&lt;br /&gt;DECLARE&lt;br /&gt;        cantidad INTEGER := 30;&lt;br /&gt;        i integer := 1;&lt;br /&gt;BEGIN&lt;br /&gt;          while (i &lt;= 30) loop&lt;br /&gt;        RAISE NOTICE ''Cantidad contiene aqui³ %'',i;&lt;br /&gt;         i := i + 1;&lt;br /&gt;end loop;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;cantidad := 50;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;RETURN cantidad;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;END;' LANGUAGE 'plpgsql';&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-------------------------------------------------------------&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;3.- lo llamamos desde nuestro codigo&lt;br /&gt;&lt;br /&gt;try{   &lt;br /&gt;         Class.forName("org.postgresql.Driver");&lt;br /&gt;      &lt;br /&gt;          Connection con =  &lt;br /&gt;           DriverManager.getConnection(&lt;br /&gt;          "jdbc:postgresql://localhost/eliminar", "postgres", "1234");&lt;br /&gt;&lt;br /&gt;          CallableStatement cs = con.prepareCall("{call estafunc()}");&lt;br /&gt;          ResultSet rs = cs.executeQuery();&lt;br /&gt;         &lt;br /&gt;          if(rs.next()){&lt;br /&gt;                                  System.out.println("valor"+rs.getInt(1));&lt;br /&gt;                            }&lt;br /&gt;           &lt;br /&gt;        }catch(Exception e){&lt;br /&gt;            System.out.println("fallo conexion ");&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        }&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;//////////////////////////////////////////////////&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;lo importante del codigo  es&lt;br /&gt;&lt;strong&gt;CallableStatement:&lt;/strong&gt; que es para ejecutar procedimientos&lt;br /&gt;almacenados en la BD.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Para  mayor informacion  existen unos link interesantes&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;a href="http://www.softwarementors.com/arti/jdbc2/jdbc2.htm"&gt;http://www.softwarementors.com/arti/jdbc2/jdbc2.htm&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/jdbc/index.html"&gt;http://java.sun.com/docs/books/tutorial/jdbc/index.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-3081640998682266506?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/3081640998682266506/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=3081640998682266506' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3081640998682266506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/3081640998682266506'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/procedimiento-almacenado-desde-jdbc.html' title='Procedimiento almacenado desde JDBC'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_6qLdTeEZiEk/SEb1_lvnbNI/AAAAAAAAABg/ThzUxbEaYzI/s72-c/base_de_dato.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8470603126143907723</id><published>2008-06-02T12:47:00.000-07:00</published><updated>2008-06-02T12:56:58.857-07:00</updated><title type='text'>JAR</title><content type='html'>&lt;p class="MsoNormal"&gt;        Unos de los primeros temas a&lt;span style=""&gt;  &lt;/span&gt;buscar cuando uno se inicia a&lt;br /&gt;programar en java es el significado de este famoso archivo de&lt;br /&gt;java , leí&lt;span style=""&gt;  &lt;/span&gt;al principio mucho en algunos foros que era el ejecutable,&lt;br /&gt;etc. Por ello es que vamos a definir bien este archivo. &lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;      Nos permite empaquetar varios ficheros en un sólo archivo.&lt;br /&gt;Típicamente un fichero JAR que &lt;span style=""&gt; &lt;/span&gt;contendrá los ficheros de clases&lt;br /&gt;y los recursos auxiliares asociados a nuestra&lt;span style=""&gt;  &lt;/span&gt;aplicación (pueden&lt;br /&gt;tener distintos archivos, sonido, imagen ,etc) ,&lt;span style=""&gt;  &lt;/span&gt;es completamente&lt;br /&gt;igual a un archivo de compresión zip &lt;span style=""&gt; &lt;/span&gt;, y no pierde la famosa&lt;br /&gt;caracteristica de la multiplataforma.&lt;/p&gt;        &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;Beneficios de este formato:&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;b style=""&gt;&lt;span style=""&gt;Seguridad&lt;/span&gt;:&lt;/b&gt; Puedes firmar digitalmente el contenido de&lt;br /&gt;un fichero JAR.&lt;span style="font-size:10;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;b style=""&gt;&lt;span style=""&gt;Disminuir el tiempo de descarga&lt;/span&gt;&lt;/b&gt;: Si tus applets están&lt;br /&gt;empaquetados en un fichero JAR, los ficheros de clases y los&lt;br /&gt;recursos asociados pueden ser descargados por el navegador&lt;br /&gt;en una sóla transación HTTP sin necesidad de abrir una nueva&lt;br /&gt;conexión para cada fichero.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;b style=""&gt;&lt;i&gt;Compresión&lt;/i&gt;: &lt;/b&gt;&lt;span style=""&gt; &lt;/span&gt;esta diciendo , para ahorra espacio.&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;b style=""&gt;&lt;span style=""&gt;Portabilidad.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;Creación del archivo JAR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:10;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;Operación(archivo JAR)&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;                           &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;Comando&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;Para crear un fichero&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;jar cf jar-file input-file(s)&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;Para ver el contenido de un fichero&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;jar tf jar-file&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;Para extraer el contenido de un fichero&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;jar xf jar-file&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span style="" lang="PT-BR"&gt;Para extraer ficherso &lt;span style=""&gt;                      &lt;/span&gt;&lt;span style=""&gt;                   &lt;/span&gt;jar xf jar-file archivedfile(s)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;específicos de un fichero JAR&lt;span style=""&gt;                   &lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;Para ejecutar una aplicación &lt;span style=""&gt;                              &lt;/span&gt;jre -cp app.jar MainClass&lt;br /&gt;empaquetada en un fichero JAR &lt;/p&gt;      &lt;p class="MsoNormal"&gt;Cuando creamos un JAR se crea un archivo de&lt;br /&gt;manifiesto , este es  META INF/MANIFEST.MF ,&lt;br /&gt;El manifiesto es un fichero especial que puede contener&lt;br /&gt;información sobre los otros ficheros empaquetados en&lt;br /&gt;un fichero JAR. Personalizar la información "meta" del&lt;br /&gt;manifiesto, te permite utilizar los ficheros JAR para una&lt;br /&gt;gran variedad de propósitos.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style=""&gt;Bueno en otro&lt;span style=""&gt;  &lt;/span&gt;escrito especificare con claridad la creación del&lt;br /&gt;ejecutable de java ,con un jar , un bat y con la aplicacion como&lt;br /&gt;jexelCreator&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8470603126143907723?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8470603126143907723/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8470603126143907723' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8470603126143907723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8470603126143907723'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/06/jar.html' title='JAR'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-5983839147515481801</id><published>2008-05-25T17:25:00.000-07:00</published><updated>2008-05-29T11:31:02.792-07:00</updated><title type='text'>Rich y JavaFx</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SDoJfxkNBVI/AAAAAAAAAA4/WvpaSww1q-E/s1600-h/javafx.jpg"&gt;&lt;br /&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  &lt;/span&gt;    Este es&lt;span style=""&gt;  &lt;/span&gt;un tema que esta entrando cada vez más fuerte&lt;span style=""&gt;   &lt;/span&gt;y es necesario que tengamos algunos  conceptos . y es por ello que los vamos a explicar en pocas palabra y esperando que esto sea un inicio del aprendizaje de estas tecnologías.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Rich &lt;/span&gt;:( &lt;b&gt;Aplicaciones Ricas de Internet&lt;/b&gt;) es un nuevo tipo de aplicación con más ventajas que las tradicionales aplicaciones ,&lt;span style=""&gt;  &lt;/span&gt;aumentar la facilidad de multimedia de las aplicaciones Web , disminuir la recarga de la pagina Web (del servidor), para una mejor performance de ellas , Se pueden utilizar desde cualquier ordenador con una conexión a Internet sin depender del sistema operativo que este utilice. Bueno estas son unas de las mas importantes características , pero existen muchas mas.&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;Recordando algunas tecnologías de java como los applet este podría ser un pequeño acercamiento a estas tecnologías , pero ya hace muchos años atrás,por ello  &lt;span style=""&gt; &lt;/span&gt;java a creado JavaFx&lt;span style=""&gt;  &lt;/span&gt;para afrontar estas nuevas tecnologías , pero considero que se demoro un poco.&lt;br /&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;Bueno &lt;span style=""&gt; &lt;/span&gt;ahora vamos a comentar algunas alternativas que existen para&lt;span style=""&gt;  &lt;/span&gt;desarrollar .&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;  &lt;p&gt;&lt;u style="font-weight: bold;"&gt;Adobe AIR&lt;/u&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;: permite combinar&lt;b style=""&gt; &lt;/b&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Flash y tecnologías AJAX usadas hasta ahora para el desarrollo Web como Flex&lt;/span&gt;&lt;/strong&gt;( leido que la lleva ). Se basa exclusivamente en tecnologías de programación web y permite ejecutar el software desarrollado sin requerir un navegador. Está disponible para Windows, Mac y Linux.  &lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold;"&gt;AJAX&lt;/span&gt; : tambiene esta considerada como tecnología Rich. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold;"&gt;Silverlight de Microsoft&lt;/span&gt; :lleva la &lt;strong style="font-weight: normal;"&gt;programación nativa de Windows&lt;/strong&gt;, con sus tecnologías &lt;a href="http://www.microsoft.com/net/"&gt;.Net&lt;/a&gt; a la web y lo mezcla con Flash y HTML, &lt;/p&gt;        &lt;p&gt;&lt;b style="font-weight: bold;"&gt; &lt;/b&gt;&lt;span style="font-weight: bold;"&gt;Mozilla tiene Prism &lt;/span&gt;:como un apaño&lt;b style=""&gt;, &lt;/b&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;una forma de que el usuario no dependa de tecnologías externas de terceros para disfrutar de aplicaciones offline&lt;/span&gt;&lt;/strong&gt;&lt;b style=""&gt;. &lt;/b&gt;La idea de Mozilla es poder convertir servicios web en aplicaciones independientes del navegador.&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;a href="http://gears.google.com/"&gt;&lt;br /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Google Gears &lt;/span&gt;es una &lt;strong&gt;&lt;span style="font-weight: normal;"&gt;solución de Google para los usuarios que quieren disponer de sus aplicaciones y servicios web sin estar constantemente conectados a&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SDoJfxkNBVI/AAAAAAAAAA4/WvpaSww1q-E/s1600-h/javafx.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SDoJfxkNBVI/AAAAAAAAAA4/WvpaSww1q-E/s320/javafx.jpg" alt="" id="BLOGGER_PHOTO_ID_5204482760865809746" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Y nuestro  JavaFx&lt;/span&gt;  : &lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt; que por lo leido no se a desviado &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-weight: normal;font-size:12;" &gt;&lt;span style="font-size:100%;"&gt;de la multiplatadorma al desarrollar esta tecnologia ,  trantando de integrar escritorio , celulares , web , etc.&lt;br /&gt;para potenciar esta tecnologia java  esta estipulando la descarga de su plataforma por medio de modulo y no por la maquina virtual que generalmente expanta a mucha gente , por motivo de  incomodidad.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;bueno no quiero detallar mas sobre  esta tecnologia , porque como no soy experto , pero  aqui dejare algunos link  muy interesantes para aprender.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/chrisoliver/"&gt;http://blogs.sun.com/chrisoliver/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://es.sun.com/sunnews/press/2008/20080506.jsp"&gt;http://es.sun.com/sunnews/press/2008/20080506.jsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.google.com/Present?docid=avn83j2j7zf_10dzgx4ngh"&gt;http://docs.google.com/Present?docid=avn83j2j7zf_10dzgx4ngh&lt;/a&gt;&lt;br /&gt;&lt;a href="http://learnjavafx.typepad.com/"&gt;http://learnjavafx.typepad.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/software/javafx/index.jsp"&gt;http://www.sun.com/software/javafx/index.jsp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/demos_de_javafx_en_javaone"&gt;http://blogs.sun.com/Argentina_ambassador/entry/demos_de_javafx_en_javaone&lt;/a&gt;&lt;br /&gt;&lt;a href="http://javafx.com/"&gt;http://javafx.com/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-5983839147515481801?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/5983839147515481801/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=5983839147515481801' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5983839147515481801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/5983839147515481801'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/05/rich-y-javafx.html' title='Rich y JavaFx'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_6qLdTeEZiEk/SDoJfxkNBVI/AAAAAAAAAA4/WvpaSww1q-E/s72-c/javafx.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-655308886453938003</id><published>2008-05-23T13:32:00.000-07:00</published><updated>2008-05-23T15:58:57.919-07:00</updated><title type='text'>Patron de diseño MVC</title><content type='html'>bueno considero que este tema es muy importante , aunque esto es una parte muy pequeña , pero por lo menos tomamos una pequeña nocion sobre este tema.&lt;br /&gt;&lt;br /&gt;El principal objetivo de la arquitectura MVC es aislar tanto los datos de la aplicación como el estado (modelo) de la misma, del mecanismo utilizado para representar (vista) dicho estado,así como para modularizar esta vista y modelar la transición entre estados del modelo(controlador). Las aplicaciones MVC se dividen en tres grandes áreas funcionales:&lt;br /&gt;&lt;br /&gt;  Vista                   :la presentación de los datos&lt;br /&gt;  Controlador :el que atenderá las peticiones y componentes para toma de decisiones&lt;br /&gt;                  de la aplicación&lt;br /&gt;Modelo              :la lógica del negocio o servicio y los datos asociados con la&lt;br /&gt;                  aplicación&lt;br /&gt;&lt;br /&gt;El propósito del MVC es aislar los cambios. Es una arquitectura preparada para los cambios, que desacopla datos y lógica de negocio de la lógica de presentación, permitiendo la actualización y desarrollo independiente&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_6qLdTeEZiEk/SDc1shkNBTI/AAAAAAAAAAo/hD75zyAJB3Q/s1600-h/mvc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_6qLdTeEZiEk/SDc1shkNBTI/AAAAAAAAAAo/hD75zyAJB3Q/s320/mvc.JPG" alt="" id="BLOGGER_PHOTO_ID_5203686933490631986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cada componente Swing tiene un modelo, y la vista y el controlador están unidos en el mismo componente. Además, la vista usa un UI Manager para renderearse. El modelo es el modelo de datos de la aplicación, está relacionado con los datos que la aplicación maneja.&lt;br /&gt;&lt;br /&gt;Cuando se crea, cada componente crea un modelo interno. Se pude también crear un modelo por aparte, y asignárselo a uno o más componentes, que entonces compartirán los datos que presentan.&lt;br /&gt;&lt;br /&gt;un buen link es :&lt;br /&gt;&lt;a href="http://java.sun.com/products/jfc/tsc/articles/architecture/"&gt;http://java.sun.com/products/jfc/tsc/articles/architecture/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Swing empaqueta todos los controladores y vistas de un componente&lt;br /&gt;dentro de un objeto denominado delegado UI. Por esta razón, la arquitectura&lt;br /&gt;subyacente de Swing se denomina más acertadamente como modelo-delegado&lt;br /&gt;que como modelo-vista-controlador. Idealmente, la comunicación entre el&lt;br /&gt;modelo y el delegado UI es indirecta, permitiendo así tener asociado más de&lt;br /&gt;un modelo a un delegado UI.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_6qLdTeEZiEk/SDdLlBkNBUI/AAAAAAAAAAw/hoidtJ548x0/s1600-h/mvc+delegado.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SDdLlBkNBUI/AAAAAAAAAAw/hoidtJ548x0/s320/mvc+delegado.jpg" alt="" id="BLOGGER_PHOTO_ID_5203710993897424194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; todo lo que mencione es una pinselada del tema y es necesario averiguar mas sobre el tema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.programacion.net/java/tutorial/jdcbook/7/#jdcbook_componentesymodelos"&gt; http://www.programacion.net/java/tutorial/jdcbook/7/#jdcbook_componentesymodelos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-655308886453938003?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/655308886453938003/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=655308886453938003' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/655308886453938003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/655308886453938003'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/05/patron-de-diseo-mvc.html' title='Patron de diseño MVC'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_6qLdTeEZiEk/SDc1shkNBTI/AAAAAAAAAAo/hD75zyAJB3Q/s72-c/mvc.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-6226410383333531538</id><published>2008-05-21T20:26:00.000-07:00</published><updated>2008-05-21T20:33:03.346-07:00</updated><title type='text'>Observación a ArrayList</title><content type='html'>cuando queremos trabajar con un famoso array  ,pero que no sabemos  su largo  ,&lt;br /&gt;es necesario ocupar  el ArrayList que pertenece a la interfaz List  de las famosas colecciones de java , existen  muchas  otras   interfaces que  seria  importante  de averiguar , en  mi  caso me  baje unos manuales de  colecciones y  de  las  otras interfaces como set y map aprendi lo básico y sus principales características , y considero que con eso  me podré defender si alguna vez me salen en un código y así no daré la hora jajajajaja .&lt;br /&gt; regresando al ArrayList o también el LinkedList que su forma de trabajar son las mismas , pero tienen  rendimiento diferentes en algunas circunstancias  , cabe destacar que  cuando guardamos elementos  estos son de tipo object y no del tipo que estamos guardando , esta es una gran diferencia con los   array  que si guardan un tipo .&lt;br /&gt;   entonces cuando necesitemos obtener un objeto tenemos que realizar un casting del tipo de objeto que guardamos.&lt;br /&gt;&lt;br /&gt; Bueno existen muchas mas observaciones ,pero  como experiencia personal  realmente son muy útiles .&lt;br /&gt;&lt;br /&gt;Un sencillo ejemplo:&lt;br /&gt;&lt;br /&gt;/////////////////////////////////////////////////////////////////////////////&lt;br /&gt;public class gato {&lt;br /&gt;&lt;br /&gt;  private String nombre=null;&lt;br /&gt;  &lt;br /&gt;   public gato(String nombre) {&lt;br /&gt;   &lt;br /&gt;    this.nombre=nombre;&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;  public String me_llamo(){&lt;br /&gt;   &lt;br /&gt;    return nombre;&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.util.*;                    // libreria necesaria&lt;br /&gt;&lt;br /&gt;public class ejemplo_ArrayList {&lt;br /&gt;&lt;br /&gt;   public ejemplo_ArrayList() {&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public static void main(String[] args){&lt;br /&gt;   &lt;br /&gt;   ArrayList al=new ArrayList();&lt;br /&gt;// es posible      ArrayList&lt;gato&gt; al=new ArrayList&lt;gato&gt;();  asi no nos da una&lt;br /&gt;//advertencia el compilador y tiene otros motivos pero para la otra lo explicamos&lt;br /&gt; &lt;br /&gt;   al.add(new gato("perla"));&lt;br /&gt;   al.add(new gato("timoteo"));&lt;br /&gt;   al.add(new gato("wily"));    &lt;br /&gt;   &lt;br /&gt;   Iterator it=al.iterator(); // nos sirve para recorrer el arrayList&lt;br /&gt;  &lt;br /&gt;   while(it.hasNext()){&lt;br /&gt;   &lt;br /&gt;    gato g=(gato)it.next();     // el casting que hable&lt;br /&gt;     System.out.println(g.me_llamo());&lt;br /&gt;       &lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;}&lt;/gato&gt;&lt;/gato&gt;&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-6226410383333531538?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/6226410383333531538/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=6226410383333531538' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6226410383333531538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/6226410383333531538'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/05/observacin-arraylist.html' title='Observación a ArrayList'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-4419820802819862784</id><published>2008-05-07T16:07:00.000-07:00</published><updated>2008-06-04T15:24:40.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transacciones en jdbc'/><title type='text'>Transacciones en jdbc</title><content type='html'>Bueno despues que uno aprende a trabajar con jdbc seria interesante aprender este concepto que es muy util , imaginate que estas  haciendo un programa que tengas que asegurarte que en un proceso se guarden obligatoriamente tres insert,por ello JDBC permite agrupar instrucciones SQL en una sola transacción. Así, podemos asegurar las propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) usando las facilidades transaccionales del JDBC.&lt;br /&gt;El control de la transacción es realizado por el objeto Connection. Cuando una conexión se crea, por defecto es en modo auto - commit. Esto significa que cada instrucción individual SQL se trata como una transacción en sí misma, y se comprometerá en cuanto la ejecución sea terminada.&lt;br /&gt;&lt;br /&gt;Ejemplo :  tenemos dos insert , para que se guarden   se tienen que guardar los dos  bien  .osea si  aceptamos el primero y el segundo nunca  se guarda o da un error el primero no se guarda.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_6qLdTeEZiEk/SCI5iY-xVDI/AAAAAAAAAAg/HDLnw2HcBeI/s1600-h/tabla.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_6qLdTeEZiEk/SCI5iY-xVDI/AAAAAAAAAAg/HDLnw2HcBeI/s320/tabla.JPG" alt="" id="BLOGGER_PHOTO_ID_5197780182923039794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;//////////////////////////////////////////////&lt;br /&gt;// primer boton&lt;br /&gt;               &lt;br /&gt;           &lt;br /&gt;       try{   &lt;br /&gt;      &lt;br /&gt;           if (con.getAutoCommit() )&lt;br /&gt;               con.setAutoCommit( false );&lt;br /&gt;&lt;br /&gt;           stat = con.createStatement();&lt;br /&gt;         //vamos hacer le primer insert&lt;br /&gt;&lt;br /&gt;                  &lt;br /&gt;          String unsql = "insert into persona values ('"+jTextField1.getText()   &lt;br /&gt;                           + "', '" + jTextField2.getText() + "', '"&lt;br /&gt;                         +jTextField3.getText()+ "', '" +jTextField4.getText()&lt;br /&gt;                         + "' )";       &lt;br /&gt;          stat.executeUpdate(unsql);&lt;br /&gt;          &lt;br /&gt;          }&lt;br /&gt;           catch(Exception e){&lt;br /&gt;                 System.out.println(" "+e);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;///////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;// segundo boton&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt;                    &lt;br /&gt;          String unsql = "insert into persona values ('"+jTextField5.getText()   + "', '" + jTextField6.getText() + "', '" + jTextField7.getText() + "', '" +jTextField8.getText()  + "' )";       &lt;br /&gt;          stat.executeUpdate(unsql);&lt;br /&gt;         &lt;br /&gt;          con.commit();&lt;br /&gt;        &lt;br /&gt;          }&lt;br /&gt;       catch(Exception e){&lt;br /&gt;          &lt;br /&gt;           deshacer( );    // este metodo es importante    &lt;br /&gt;       &lt;br /&gt;           System.out.println(" "+e);&lt;br /&gt;       }            &lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;void deshacer( ) {&lt;br /&gt; try {&lt;br /&gt;                   con.rollback();   &lt;br /&gt;               }&lt;br /&gt; catch (SQLException e) {&lt;br /&gt;           System.out.println("Error. No hemos podido deshacer." + e.getMessage() );&lt;br /&gt;               }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;aunque esta un podo desordenado el codigo, espero que dando una vuelta lo entiendan, sobre la conexion&lt;br /&gt;&lt;br /&gt;    Connection con;   // variables de instancia&lt;br /&gt;    Statement stat ;&lt;br /&gt;&lt;br /&gt;   /** Creates new form ventana */&lt;br /&gt;   public ventana() {   // en el constructor&lt;br /&gt;       initComponents();&lt;br /&gt;      &lt;br /&gt;         try{&lt;br /&gt;          &lt;br /&gt;          Class.forName("org.postgresql.Driver"); // este busca el jar de postgres&lt;br /&gt;          con = DriverManager.getConnection("jdbc:postgresql://localhost/arq2      tier", "postgres", "1234");&lt;br /&gt;        &lt;br /&gt;          &lt;br /&gt;          }&lt;br /&gt;       catch(Exception e){&lt;br /&gt;           System.out.println(" "+e);&lt;br /&gt;       } &lt;br /&gt;     }&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-4419820802819862784?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/4419820802819862784/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=4419820802819862784' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4419820802819862784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/4419820802819862784'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/05/transacciones-en-jdbc.html' title='Transacciones en jdbc'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_6qLdTeEZiEk/SCI5iY-xVDI/AAAAAAAAAAg/HDLnw2HcBeI/s72-c/tabla.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-8966356500539393557</id><published>2008-05-03T10:13:00.000-07:00</published><updated>2008-05-03T10:25:25.442-07:00</updated><title type='text'>Friendly , un modificador de acceso</title><content type='html'>que sucede si no se indica ningun tipo de especificador de acceso a la clase ,  entonces se define implicitamente como amistoso lo cual significa que todas las clases del paquete actual tienen acceso al miembro amistoso  , pero todas las clases fuera del paquete  tienen un accesos privado a esta clase.&lt;br /&gt; el acceso amistoso permite agrupar clases relacionadas en un mismo paquete de forma que esta puedan interactuar entre si de forma sencilla .&lt;br /&gt;&lt;br /&gt;  este puede ser un detalle muy simple , pero en el momento de programar nos puede hacer pasar un mal momento y principalmente si programamos por capa( presentacion , controlador , logica de negocio , base de dato , factoria de servicios )&lt;div class="blogger-post-footer"&gt;un aporte a java&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/437512517890005964-8966356500539393557?l=ungranoparajava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ungranoparajava.blogspot.com/feeds/8966356500539393557/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=437512517890005964&amp;postID=8966356500539393557' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8966356500539393557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/437512517890005964/posts/default/8966356500539393557'/><link rel='alternate' type='text/html' href='http://ungranoparajava.blogspot.com/2008/05/friendly-un-modificador-de-acceso.html' title='Friendly , un modificador de acceso'/><author><name>Jorge Rodriguez</name><uri>http://www.blogger.com/profile/03707004367118916412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-437512517890005964.post-7629940242871295972</id><published>2008-05-02T16:14:00.000-07:00</published><updated>2008-05-02T16:23:23.962-07:00</updated><title type='text'>Mi  propia excepcion</title><content type='html'>seria muy  interesante poder crear nuestras propias excepciones , puesto que la logica de negocio lo puede solicitar &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class miExcepcion  extends Exception {&lt;br /&gt;  &lt;br /&gt;    public miExcepcion(String msg) {&lt;br /&gt;    &lt;br /&gt;    super(msg);&lt;br /&gt;    }    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;public class llamadaException {&lt;br /&gt;    &lt;br /&gt;    public static  void  llamada() throws miExcepcion{&lt;br /&gt;     &lt;br /&gt;     System.out.println("envio de error");&lt;br /&gt;     throw new miExcepcion("error enviado por mi");     &lt;br /&gt;     }        &lt;br /&gt;&lt;br /&gt;    public static void main(String[] args){&lt;br /&gt;       &lt;br /&gt;      try{      &lt;br /&gt;        llamada();&lt;br /&gt;      &lt;br /&gt;     }catch(miExcepcion e){&lt;br /&gt;       &lt;br /&gt;            e.printStackTrace(System.err);&lt;br /&gt;        }&lt;br /&gt;     &lt;
