<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-13853356</atom:id><lastBuildDate>Tue, 22 Dec 2009 08:26:57 +0000</lastBuildDate><title>gerard = odrarg</title><description>En nuestro mundo, sea lo que sea lo que la mente humana pueda crear puede ser reproducido  y distribuido infinitamente sin ningun costo.</description><link>http://odrarg.blogspot.com/</link><managingEditor>noreply@blogger.com (odrarg)</managingEditor><generator>Blogger</generator><openSearch:totalResults>89</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-2488238917428303906</guid><pubDate>Mon, 16 Feb 2009 21:13:00 +0000</pubDate><atom:updated>2009-02-16T15:21:22.224-06:00</atom:updated><title>Instalación de mysql en windows vista</title><description>Instalación de mysql en windows vista&lt;br /&gt;&lt;br /&gt;1. Descargar el appserv&lt;br /&gt;&lt;br /&gt;2. Instalarlo dandole clic con el boton secundario del mouse y ejecutar como administrador, como lo muestra la siguiente imagen:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lxdG9KcLRD8/SZnYYhnYT3I/AAAAAAAAAEM/o5aF4wB_n4g/s1600-h/appserve.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 131px;" src="http://2.bp.blogspot.com/_lxdG9KcLRD8/SZnYYhnYT3I/AAAAAAAAAEM/o5aF4wB_n4g/s320/appserve.jpg" alt="" id="BLOGGER_PHOTO_ID_5303507952057470834" border="0" /&gt;&lt;/a&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;3. Probar la conexión mediante linea de comandos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-2488238917428303906?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2009/02/instalacion-de-mysql-en-windows-vista.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lxdG9KcLRD8/SZnYYhnYT3I/AAAAAAAAAEM/o5aF4wB_n4g/s72-c/appserve.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-892841781937895828</guid><pubDate>Sun, 01 Feb 2009 00:04:00 +0000</pubDate><atom:updated>2009-01-31T18:24:25.481-06:00</atom:updated><title>Validación de tamaño de archivo - file upload</title><description>Problema: &lt;br /&gt;&lt;br /&gt;Validar que al momento de subir o cargar un arhivo, verificar cuanto pesa, si pesa mas de un tamaño permitido mandar un mensaje de advertencia y poner de color rojo las letras de dicho archivo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solución:&lt;br /&gt;&lt;br /&gt;1. En la propiedad onchange del browse mandar a llamar una funcion de javascript que se llame validarArchivo();&lt;br /&gt;&lt;br /&gt;2. En dicha función utilizar la tecnología dwr-ajax que no permitira mandar a llamar un metodo en java&lt;br /&gt;&lt;br /&gt;3. En dicho método de java verificar el tamaño del arhivo de la siguiente manera:&lt;br /&gt;&lt;br /&gt;   String sFichero = "c:\\nombredelfichero.extension";&lt;br /&gt;   File fichero = new File(sFichero);&lt;br /&gt;&lt;br /&gt;   fichero.length();&lt;br /&gt;&lt;br /&gt;4. El método de java va a devolver el tamaño y eso lo va a regresar a una funcion de javascript que lo invonco y ahi validar si pesa mas de lo permitido hacer que se desplique un alert con el mensaje conrrespondiente y pintar las letras de la ruta del archivo con css.&lt;br /&gt;&lt;br /&gt;Falta el ejemplo completo de la funcion de javascript,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-892841781937895828?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2009/01/validacion-de-tamano-de-archivo-file.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-864406253833202621</guid><pubDate>Thu, 18 Dec 2008 02:51:00 +0000</pubDate><atom:updated>2008-12-17T20:53:39.820-06:00</atom:updated><title>ComboBox con DWR</title><description>Ligas para generar combobox dependientes con dwr+struts&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thewolfexpress.blogspot.com/2007/06/ajax-though-dwr-populate-select-lists_29.html"&gt;http://thewolfexpress.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://holamundojava.blogspot.com/2007/10/dwr-ajax.html"&gt;Liga con ejemplos de DWR&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-864406253833202621?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/12/combobox-con-dwr.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-5319995964619459076</guid><pubDate>Thu, 18 Dec 2008 01:59:00 +0000</pubDate><atom:updated>2008-12-17T20:13:30.372-06:00</atom:updated><title>Ligas de javascript y jquery</title><description>JavaScript:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javascriptya.com.ar/"&gt;javascriptya&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlya.com.ar/"&gt;dhtmlya.com.ar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jquery:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.easyjquery.com/"&gt;easyjquery.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.javascriptya.com.ar/jquery/"&gt;javascriptya.com.ar/jquery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nettuts.com/articles/web-roundups/jquery-for-absolute-beginners-video-series/"&gt;Videos de jquery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.visualjquery.com/"&gt;visualjquery.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inerciasensorial.com.br/es/2008/08/01/programacao/javascript/tutorial-de-jquery/"&gt;inerciasensorial.com.br&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html"&gt;noupe.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hermosodia.wordpress.com/2008/08/08/ejemplo-ajax-con-jquery-struts-json/"&gt;ejemplo-ajax-con-jquery-struts-json&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://abunaineko.wordpress.com/2008/09/15/ajax-usando-jquery-y-struts/"&gt;ajax-usando-jquery-y-struts&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-5319995964619459076?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/12/ligas-de-javascript-y-jquery.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-6889570851791739425</guid><pubDate>Sun, 07 Dec 2008 04:00:00 +0000</pubDate><atom:updated>2008-12-06T23:20:22.960-06:00</atom:updated><title>File upload and download with Struts -  Subir y descargar archivo</title><description>Para subir y descargar un archivo con struts encontre una liga interesante que me ayudo a resolver el problema.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://strutsblobapp.sourceforge.net/"&gt;http://strutsblobapp.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Declarar en el bean , aqui una prueba con un numero fijo de 50 archivos&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;import org.apache.struts.upload.FormFile;&lt;br /&gt;import org.apache.struts.validator.ValidatorForm;&lt;br /&gt;&lt;br /&gt;public class FormBean extends ValidatorForm implements Serializable{&lt;br /&gt;&lt;br /&gt;       protected FormFile[]     fileUno  new FormFile[50];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public FormFile getFileUno(int i) {&lt;br /&gt;  return fileUno[i];&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; public void setFileUno(int i, FormFile f1) {&lt;br /&gt;  fileUno[i] = f1;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. Diseño de la tabla en la bd&lt;br /&gt;&lt;br /&gt;Tabla Archivos&lt;br /&gt;&lt;br /&gt;Id  Number&lt;br /&gt;NombreArchivo Varchar2&lt;br /&gt;Size Number&lt;br /&gt;Dato Blob&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Crear una coleccion &lt;br /&gt;private   Collection   archivos  = null;&lt;br /&gt;&lt;br /&gt;4. El jsp&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;logic:notEmpty name="FormBean" property="archivos"&gt;&lt;br /&gt;    &lt;logic:iterate name="FormBean" property="archivos" id="archivos" indexId="num"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;td width="20%" align="right"&gt;Etiqueta&lt;/td&gt;&lt;br /&gt;             &lt;br /&gt;        &lt;br /&gt;           html:file property='&lt;%="fileUno["+num+"]"%&gt;'&gt;/html:file&lt;br /&gt;           html:hidden property='&lt;%="archivoEtiquetaUno["+num+"]"%&gt;'/&gt;           &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;5. Crear el action&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class CrearIniciativasAction extends Action {&lt;br /&gt;   .....&lt;br /&gt;   ......&lt;br /&gt;   .......&lt;br /&gt;   public ActionErrors insertaArchivosIniciativa( ){&lt;br /&gt;       InputStream in=null;&lt;br /&gt;       OutputStream out=null;&lt;br /&gt;&lt;br /&gt;       for ( int tmpIndice = 0; tmpIndice &lt; tmpCantidadColUno.length; tmpIndice++ ){&lt;br /&gt;          FormFile tmpFile = iniciativaBean.getFileUno(tmpIndice);&lt;br /&gt;     int fileSize = tmpFile.getFileSize();&lt;br /&gt;   String tmpFileName = tmpFile.getFileName();&lt;br /&gt;&lt;br /&gt;         if (tmpFile.getFileSize()&gt;0) {&lt;br /&gt;       in=tmpFile.getInputStream();      Objeto.setSize(fileSize);     Objeto.setArchivo(tmpFile.getFileName());&lt;br /&gt;     &lt;br /&gt;       tdArchivoIniciativa.setObligatorio(1);&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;       dao.saveFile(tmpFileName, in, fileSize, tdArchivoIniciativa);&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El dao de save esta en la liga de ejemplo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-6889570851791739425?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/12/file-upload-and-download-with-struts.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-2276016344313412081</guid><pubDate>Wed, 08 Oct 2008 01:16:00 +0000</pubDate><atom:updated>2008-10-07T20:18:04.035-05:00</atom:updated><title>Oracle: Table Space, crear usuario,  importar  y exportar db</title><description>1) Crear un table space&lt;br /&gt;&lt;br /&gt;create tablespace BOOMERANG_F2&lt;br /&gt;datafile 'D:\ruta\de\oracle\oradata\BOOMERANG_F2_01.dbf'&lt;br /&gt;size 300000k&lt;br /&gt;default storage (initial 100k next 100k minextents 1 maxextents UNLIMITED pctincrease 0);&lt;br /&gt;&lt;br /&gt;2) Crear el usuario.&lt;br /&gt;&lt;br /&gt;CREATE USER boom_f2&lt;br /&gt;IDENTIFIED BY "boomf02"&lt;br /&gt;DEFAULT TABLESPACE BOOMERANG_F2;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Asignar privilegios&lt;br /&gt;GRANT "CONNECT" TO "boom_f2";&lt;br /&gt;GRANT "RESOURCE" TO "boom_f2";&lt;br /&gt;&lt;br /&gt;3) Crear las tablas en este nuevo usuario (Si tenemos ya el esquema entonces procedemos a importar dicho esquema con el usuario y pwd que hemos creado)&lt;br /&gt;&lt;br /&gt;imp userid=boom_f2/boomf02 file=my_db.dmp log=imp.log full=y&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;4) Crear un registro en el archvio tnsnames.ora (Opcional, por si falla conexion)&lt;br /&gt;&lt;br /&gt; boomerang =&lt;br /&gt;  (DESCRIPTION =&lt;br /&gt;    (ADDRESS_LIST =&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;br /&gt;    )&lt;br /&gt;    (CONNECT_DATA =&lt;br /&gt;      (SERVICE_NAME = orcl)&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;5) exportar el esquema del usuario (MSDOS prompt)&lt;br /&gt;&lt;br /&gt;    c:\exp   boom_f2/boomf02@boomerang&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-2276016344313412081?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/10/oracle-table-space-crear-usuario_07.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-3037434996878326277</guid><pubDate>Wed, 13 Aug 2008 21:32:00 +0000</pubDate><atom:updated>2008-08-13T16:47:11.028-05:00</atom:updated><title>Instalación de Ant en windows</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lxdG9KcLRD8/SKNT6NeNUjI/AAAAAAAAAC8/2LYF9nx7Tt4/s1600-h/project-logo.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_lxdG9KcLRD8/SKNT6NeNUjI/AAAAAAAAAC8/2LYF9nx7Tt4/s320/project-logo.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5234119451448529458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ant es una herramienta Open-Source utilizada en la compilación y creación de programas realizados en Java.&lt;br /&gt;&lt;br /&gt;Pasos para instalar ant en windows xp&lt;br /&gt;&lt;br /&gt;1. Descargar Ant de la siguiente dirección:&lt;br /&gt;    &lt;a href="http://ant.apache.org/"&gt;http://ant.apache.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Descomprimir la carpeta y ponerla por ejemplo en C:\Archivos de programa\Apache Software Foundation\ant-1.7.0&lt;br /&gt;&lt;br /&gt;3. Abrir el panel de control de windows escogemos Sistemas/Opciones Avanzadas/Variables de entorno&lt;br /&gt;&lt;br /&gt;4. En Varibles de usuario creamos una nueva con los siguiente datos:&lt;br /&gt;   Nombre de varible: ANT_HOME&lt;br /&gt;   Valor de variable: C:\Archivos de programa\Apache Software Foundation\ant-1.7.0&lt;br /&gt;&lt;br /&gt;5. Modificamos la variable de usuario PATH:&lt;br /&gt;   Valor de variable: PATH=%PATH%;%ANT_HOME%\bin;&lt;br /&gt;&lt;br /&gt;Listo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-3037434996878326277?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/08/instalacin-de-ant-en-windows.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lxdG9KcLRD8/SKNT6NeNUjI/AAAAAAAAAC8/2LYF9nx7Tt4/s72-c/project-logo.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-1911650563252317359</guid><pubDate>Tue, 12 Aug 2008 14:08:00 +0000</pubDate><atom:updated>2008-08-12T09:21:53.127-05:00</atom:updated><title>Dynamic web module 2.5 and JSF 1.2</title><description>Problema: &lt;br /&gt;&lt;br /&gt;Al momento de crear un proyecto web con maven te lo crea automaticamente con Dynamic web module 2.4 y para poder usar JSF 1.2 se necesita la versión 2.5 de Dynamic web module y el punto es que al momento que uno quiere cambiar en eclipse la versión del web module no deja hacer dicha operación.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solución:&lt;br /&gt;&lt;br /&gt;1. Ir a la carpeta donde este el proyecto y entrar a la carpeta de settings C:\path\proyecto\.settings&lt;br /&gt;&lt;br /&gt;2. Editar el archivo org.eclipse.wst.common.project.facet.core&lt;br /&gt;&lt;br /&gt;3. Modificar la siguiente linea en verión ponemos 2.5 en vez de 2.4:&lt;br /&gt;   &lt;installed facet="jst.web" version="2.5"/&gt;&lt;br /&gt;&lt;br /&gt;4. Ahora en eclipse ya podemos utilizar JSF 1.2 porque automaticamente ya aparece 2.5 en Dynamic Web Module&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-1911650563252317359?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/08/dynamic-web-module-25-and-jsf-12.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-8005066469751855375</guid><pubDate>Mon, 04 Aug 2008 22:27:00 +0000</pubDate><atom:updated>2008-08-04T17:34:23.912-05:00</atom:updated><title>Instalar jar con maven</title><description>Comando para instalar un jar que no se encuentre en el repositorio oficial de maven.&lt;br /&gt;&lt;br /&gt;Ejemplo con icefaces&lt;br /&gt;&lt;br /&gt;1. Bajar el jar que querramos instalar en el repositorio local&lt;br /&gt;&lt;br /&gt;2. Ejecuatar el siguiente comando &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn install:install-file -DgroupId=icefaces -DartifactId=icefaces -Dversion=1.7.1 &lt;br /&gt;&lt;br /&gt;-Dpackaging=jar -Dfile=/path/to/file &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Siempre se me olvida ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-8005066469751855375?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/08/instalar-jar-con-maven.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-1124220870253117877</guid><pubDate>Mon, 04 Aug 2008 00:27:00 +0000</pubDate><atom:updated>2008-08-03T20:03:41.626-05:00</atom:updated><title>Crear proyecto web en maven con el POM</title><description>Otra forma de crear un proyecto web en maven modificando el archivo pom.xml&lt;br /&gt;&lt;br /&gt;1. Crear el proyecto web con maven con la siguiente instruccion&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn archetype:create -DgroupId=com.mytutorial -DartifactId=simpleWeb&lt;br /&gt;-DarchetypeArtifactId=maven-archetype-webapp&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. Modificar el archivo pom.xml  agregrando las siguientes lineas despues de &lt;build&gt;&lt;finalName&gt;, ojo agregar los &lt;&gt; correspondientes.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;pluginManagement&lt;br /&gt;  plugins&lt;br /&gt;   plugin&lt;br /&gt;    groupId org.apache.maven.plugins groupId&lt;br /&gt;    artifactId maven-compiler-plugin artifactId&lt;br /&gt;    version 2.0.2 version&lt;br /&gt;    configuration&lt;br /&gt;     source 1.5 source&lt;br /&gt;     target 1.5 target&lt;br /&gt;    configuration&lt;br /&gt;   plugin&lt;br /&gt;   plugin&lt;br /&gt;    groupId org.apache.maven.plugins groupId&lt;br /&gt;    artifactId maven-eclipse-plugin artifactId&lt;br /&gt;    version 2.4 version&lt;br /&gt;    configuration&lt;br /&gt;     downloadSources false downloadSources&lt;br /&gt;     wtpversion 1.5 wtpversion&lt;br /&gt;    configuration&lt;br /&gt;   plugin&lt;br /&gt;  plugins&lt;br /&gt; pluginManagement&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. Nos colocamos en la carpeta del proyecto que acabamos de crear y ejecutamos el siguiente comando maven&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mvn eclipse:eclipse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;4. Importar el proyecto en eclipse mediante la opcion File / Import / Existing Projects into Workspace&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-1124220870253117877?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/08/crear-proyecto-web-en-maven-con-el-pom.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-6720117407288544925</guid><pubDate>Sun, 03 Aug 2008 22:49:00 +0000</pubDate><atom:updated>2008-08-03T17:55:18.315-05:00</atom:updated><title>Datasource en Jboss</title><description>Datasource en Jboss&lt;br /&gt;&lt;br /&gt;1. Instalar la aplicación en server/default/deploy, por lo cual dejar en server/default/lib el driver jdbc.&lt;br /&gt;2. Copiar el /docs/examples/jca/oracle-ds.xml a /server/default/deploy/&lt;br /&gt;3. Editar el oracle-ds.xml y cambiarle el &lt;driver-class/&gt; y el &lt;connection-url/&gt;.&lt;br /&gt;4. En server\default\conf editar el standardjaws.xml y le cambié el &lt;datasource&gt; y el &lt;type-mapping&gt;&lt;br /&gt;5. En server\default\conf editar el standardjbosscmp-jdbc.xml y cambiar &lt;datasource&gt; y &lt;datasource-mapping&gt;.&lt;br /&gt;&lt;br /&gt;Los pasos 4 y 5 segun la fuente pueden ser opcionales..... y si es cierto lo comprobe&lt;br /&gt;no son necesarios.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?JDBC+Datasource+en+JBoss,"&gt;Fuente wiki.gxtechnical.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-6720117407288544925?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/08/datasource-en-jboss.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-5401848255886279962</guid><pubDate>Fri, 23 May 2008 20:23:00 +0000</pubDate><atom:updated>2008-05-23T15:25:55.483-05:00</atom:updated><title>Historia de un Letrero</title><description>&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/L9eUBVpL0ZU&amp;amp;hl=es"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/L9eUBVpL0ZU&amp;amp;hl=es" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-5401848255886279962?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/05/historia-de-un-letrero.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-7391969651166120357</guid><pubDate>Sun, 04 May 2008 22:05:00 +0000</pubDate><atom:updated>2008-05-04T18:07:29.344-05:00</atom:updated><title>Static explicito en Java</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lxdG9KcLRD8/SB5BmV21S8I/AAAAAAAAACA/sxU2VTvxU54/s1600-h/java.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_lxdG9KcLRD8/SB5BmV21S8I/AAAAAAAAACA/sxU2VTvxU54/s320/java.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5196663146990095298" /&gt;&lt;/a&gt;&lt;br /&gt;Java permite agrupar todas las inicializaciones estáticas dentro de una "cláusula de construcción estática" (llamada a veces bloque estático) dentro de una clase. Tiene la siguiente apariencia:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Class Cuchara {&lt;br /&gt;  static int i;&lt;br /&gt;  static {&lt;br /&gt;         i = 47;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;Parece un método, pero es simplemente la palabra clave static seguida de un cuerpo de método.&lt;br /&gt;Este código, como otras inicializaciones estáticas, se ejecuta sólo una vez, la primera vez que se cree un objeto de esa clase o la primera vez que se acceda a un miembro estático de esa clase (incluso si nunca se llega a hacer un objeto de esa clase). Por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code class="java"&gt; &lt;br /&gt;class Taza {&lt;br /&gt; &lt;br /&gt; Taza (int marcador) {&lt;br /&gt;  System.out.println ("Taza (" + marcador + " ) ") ;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; void f (int marcador){&lt;br /&gt;  System.out.println ("f(" + marcador + ")");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;class Tazas {&lt;br /&gt; &lt;br /&gt; static Taza cl;&lt;br /&gt; static Taza c2;&lt;br /&gt; &lt;br /&gt; static {&lt;br /&gt;  cl = new Taza(1);&lt;br /&gt;  c2 = new Taza(2);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; Tazas ( ) {&lt;br /&gt;  System.out.println ("Tazas ( ) " ) ;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class StaticExplicito {&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  System.out.println ("Dentro de main ( ) " ) ;&lt;br /&gt;  //Tazas.cl.f(99); // (1)&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;  //static Tazas x = new Tazas (); // ( 2 )&lt;br /&gt;  //static Tazas y = new Tazas (); // (2)&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Los inicializadores estáticos de Tazas se ejecutan cuando se da el acceso al objeto estático cl en la línea marcada (l), si la línea (1) se marca como un comentario, y se quita el signo de comentario de las líneas marcadas como (2). Si tanto (1) como (2) se consideran comentarios, la inicialización estática de Tazas no se realizará nunca. Además, no importa si una o las dos líneas marcadas (2) dejan de ser comentarios; la inicialización sólo ocurre una vez.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-7391969651166120357?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/05/static-explicito-en-java.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lxdG9KcLRD8/SB5BmV21S8I/AAAAAAAAACA/sxU2VTvxU54/s72-c/java.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-7076493818273736498</guid><pubDate>Sat, 03 May 2008 19:51:00 +0000</pubDate><atom:updated>2008-05-04T18:08:33.815-05:00</atom:updated><title>Creación de Objetos en Java</title><description>Explicación acerca del creación de un objeto.&lt;br /&gt;&lt;br /&gt;En java todo se trata como un objeto pero aunque se trata todo como un objeto, el identificador que se manipula es una "&lt;span style="font-weight:bold;"&gt;referencia&lt;/span&gt;" a un objeto1. &lt;br /&gt;&lt;br /&gt;Se podría imaginar esta escena como si se tratara de una televisión (el objeto) con su mando a distancia (la referencia). A medida que se hace uso de la referencia, se está conectado a la televisión, pero cuando alguien dice "cambia de canal" o "baja el&lt;br /&gt;volumen", lo que se manipula es la referencia, que será la que manipule el objeto. Si desea moverse por la habitación y seguir controlando la televisión, se toma el mando a distancia (la referencia), en vez de la televisión. Además, el mando a distancia puede existir por sí mismo, aunque no haya televisión. Es decir, el mero hecho de tener una referencia no implica necesariamente la existencia de un objeto conectado&lt;br /&gt;al mismo. De esta forma si se desea tener una palabra o frase, se crea una referencia String:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;String S;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Pero esta sentencia &lt;span style="font-style:italic;"&gt;solamente&lt;/span&gt; crea la referencia, y no el objeto. Si se decide enviar un mensaje a S en este momento, se obtendrá un error (en tiempo de ejecución) porque S no se encuentra, de hecho,&lt;br /&gt;vinculado a nada (no hay televisión). Una práctica más segura, por consiguiente, es inicializar la referencia en el mismo momento de su creación:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;String S = "asdf';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Sin embargo, esta sentencia hace uso de una característica especial de Java: las cadenas de texto pueden inicializarse con texto entre comillas. Normalmente, es necesario usar un tipo de inicialización más general para los objetos.&lt;br /&gt;&lt;br /&gt;Cuando se crea una referencia, se desea conectarla con un nuevo objeto. Así se hace, en general, con la palabra clave new, que dice "Créame un objeto nuevo de éstos". Por ello, en el ejemplo anterior se puede decir:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;String s = new String ( "asdf") ;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Esto no sólo significa "Créame un nuevo String", sino que también proporciona información sobre cómo crear el String proporcionando una cadena de caracteres inicial.&lt;br /&gt;&lt;br /&gt;Fuente: Piensa en Java (bruce ekel).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-7076493818273736498?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/05/creacin-de-objetos-en-java.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-1035371626416415256</guid><pubDate>Sun, 20 Apr 2008 00:28:00 +0000</pubDate><atom:updated>2008-04-19T19:29:39.934-05:00</atom:updated><title>Como funcionan realmenten los proyectos TI</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lxdG9KcLRD8/SAqOVMXowtI/AAAAAAAAAB4/Q7d-JmbBwyo/s1600-h/Como+Funcionan+los+Proyectos+TI.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_lxdG9KcLRD8/SAqOVMXowtI/AAAAAAAAAB4/Q7d-JmbBwyo/s320/Como+Funcionan+los+Proyectos+TI.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5191118015246680786" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-1035371626416415256?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/04/como-funcionan-realmenten-los-proyectos.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_lxdG9KcLRD8/SAqOVMXowtI/AAAAAAAAAB4/Q7d-JmbBwyo/s72-c/Como+Funcionan+los+Proyectos+TI.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-6627528065278512071</guid><pubDate>Sun, 20 Apr 2008 00:15:00 +0000</pubDate><atom:updated>2008-04-19T19:18:13.587-05:00</atom:updated><title>Aspirante a Informático</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lxdG9KcLRD8/SAqLXcXowsI/AAAAAAAAABw/D-RcexgBLlo/s1600-h/diagrama_ingeniero_informatico.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_lxdG9KcLRD8/SAqLXcXowsI/AAAAAAAAABw/D-RcexgBLlo/s320/diagrama_ingeniero_informatico.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5191114755366503106" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-6627528065278512071?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/04/aspirante-informatico.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lxdG9KcLRD8/SAqLXcXowsI/AAAAAAAAABw/D-RcexgBLlo/s72-c/diagrama_ingeniero_informatico.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-5602263306600750706</guid><pubDate>Thu, 17 Apr 2008 03:35:00 +0000</pubDate><atom:updated>2008-05-04T18:11:43.904-05:00</atom:updated><title>Bucles for mejorados</title><description>Los bucles for se han modificado en Java para proporcionar un método de repeticiones más limpio...&lt;br /&gt;&lt;br /&gt;Algunos lenguajes utilizan la palabra clave foreach que clarifica la sintaxis para el procesado de repeticiones. Java optó por no introducir una nueva palabra clave sino mantener su estructura simple e introducir un nuevo símbolo de dos puntos. Tradicionalmente, un desarrollador escribiría el siguiente código para utilizar el repetidor.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for ( Iterator iter = intArray.iterator(); iter.hasNext();){&lt;br /&gt;     Integer intObject = (Integer)iter.next();&lt;br /&gt;     //....más sentencias&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;El problema de este código es la pérdida de la clausula update para el bucle for. El código que incrementa el valor del repetidor se coloca en el cuerpo del bucle innecesariamente, ya que también davuelve el siguiente objeto. La nueva sintaxis mejorada que cumple las mismas funciones es:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for ( Integer intObject: intArray  ){&lt;br /&gt;   //..aquí las mismas sentencias que el ejemplo anterior&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ahora utilizar la nueva sintaxis del bucle for para un array es lo mismo que utilizara para una colección:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;for ( String strObject : stringArray ){&lt;br /&gt;    //...sentencias que utilizara el objeto strObject&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-5602263306600750706?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/04/bucles-for-mejorados.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-7834731339721039027</guid><pubDate>Wed, 26 Mar 2008 22:18:00 +0000</pubDate><atom:updated>2008-03-26T16:33:19.969-06:00</atom:updated><title>Subversion (SVNServer) en Windows XP</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lxdG9KcLRD8/R-rPJnF2NsI/AAAAAAAAABo/P422MdGvjUQ/s1600-h/subversion_logo_hor-468x64.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_lxdG9KcLRD8/R-rPJnF2NsI/AAAAAAAAABo/P422MdGvjUQ/s320/subversion_logo_hor-468x64.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5182182085262456514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Subversion&lt;/span&gt; es un software de sistema de control de versiones diseñado específicamente para reemplazar al popular CVS, el cual posee varias deficiencias. &lt;br /&gt;&lt;br /&gt;Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos. Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.&lt;br /&gt;&lt;br /&gt;Procedi a realizar un manual seguiendo los pasos de diferentes manuales que me encontre en las siguientes páginas y que son excelente ayuda.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=svnServeWin"&gt;1. Instalación de SVNServe en Windows XP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=svnSubversive"&gt;2. Subversive, cliente de Subversion para Eclipse&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=svnXP"&gt;3. Instalación de Subversion (SVN) en Windows XP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si alguien quiere el manual que hice gracias a la ayuda de los anteriores mencionados dejeme un comentario.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-7834731339721039027?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/subversion-svnserver-en-windows-xp.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_lxdG9KcLRD8/R-rPJnF2NsI/AAAAAAAAABo/P422MdGvjUQ/s72-c/subversion_logo_hor-468x64.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-254284817833769119</guid><pubDate>Sat, 15 Mar 2008 22:45:00 +0000</pubDate><atom:updated>2008-03-15T19:33:01.078-06:00</atom:updated><title>Consejo para combinar Array y ArrayList en Java</title><description>Los Array son caracteristicas propias del lenguaje java, la sintaxis puede ser de la siguiente manera:&lt;br /&gt;&lt;br /&gt;int[] a = new int[100];&lt;br /&gt;&lt;br /&gt;Sin embargo , los ArrayList es una clase de biblioteca, definida en el paquete java.util. Es un tipo "en un tamaño encaja todo" que alberga elementos de tipo Object. Por tanto, tendrá que realizar un moldeado siempre que quiera extraer un elemento de un array de listas.&lt;br /&gt;&lt;br /&gt;Una ventaja muy importante es que los ArrayList permite la expansión y reducción de los mismos, algo que con los array no se puede.&lt;br /&gt;&lt;br /&gt;ArrayList()&lt;br /&gt;   Construye un array de listas vacío&lt;br /&gt;&lt;br /&gt;ArrayList(int capacidadInicial)&lt;br /&gt;   Construye un array de listas vacío con la capacidad especificada&lt;br /&gt;&lt;br /&gt;Boolean add(Object obj)&lt;br /&gt;   Anade un elemento al final del array de listas&lt;br /&gt;&lt;br /&gt;Int size&lt;br /&gt;   Devuelve un número de elementos almacenados actualmente en el array de listas &lt;br /&gt;&lt;br /&gt;void ensureCapacity(int capacidad)&lt;br /&gt;   Garantiza que el array de listas tiene la capacidad de almacenar el número de elementos indicados sin necesidad de reubicar el array de almacenamiento interno&lt;br /&gt;&lt;br /&gt;void trimTosize()&lt;br /&gt;   Reduce la capacidad de almacenamiento del array de listas para ajustarlo a su tamaño real&lt;br /&gt;&lt;br /&gt;void set(int posicion, Object obj)&lt;br /&gt;   Coloca en valor en el array de listas en la posicion especificada, sobreescribiendo además el contenido previo de dicha posición.&lt;br /&gt;&lt;br /&gt;Object get&lt;br /&gt;   Recupera el valor almacenado en una posicion correcta&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Combinacion de Array y ArrayList&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En ocasiones, se puede obtener lo mejor de ambos mundos (crecimiento flexible y acceso sencillo a los elementos) con el siguiente truco. Primero, construya un array de listas y añada los elmentos:&lt;br /&gt;&lt;br /&gt;ArrayList list = new ArrayList();&lt;br /&gt;while (....){&lt;br /&gt;  x = ....;&lt;br /&gt;  list.add(x);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Una vez concluido el proceso, use el método toArray para copiar los elementos a un array:&lt;br /&gt;&lt;br /&gt;X[] a = new X[list.size()];&lt;br /&gt;list.toArray(a);&lt;br /&gt;&lt;br /&gt;Fuente: Java 2 Fundamentos, Cay S. Horstmann / Gary Cornell&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-254284817833769119?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/consejo-para-combinar-array-y-arraylist.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-5117763975196451622</guid><pubDate>Wed, 12 Mar 2008 02:43:00 +0000</pubDate><atom:updated>2008-03-11T20:54:24.450-06:00</atom:updated><title>Framework Acegi</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dFpIZk_PI/AAAAAAAAABY/qhnHsNtj3sA/s1600-h/logoacegi.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dFpIZk_PI/AAAAAAAAABY/qhnHsNtj3sA/s320/logoacegi.gif" alt="" id="BLOGGER_PHOTO_ID_5176682869617392882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para implementar seguridad y autentificación en un sistema web encontre un framework interesante, llamado ACEGI.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ACEGI &lt;/span&gt;es un framework de seguridad open source que permite mantener la&lt;br /&gt;lógica de negocio libre de código de seguridad. ACEGI proporciona cuatro&lt;br /&gt;opciones principales de seguridad:&lt;br /&gt;&lt;br /&gt;La liga del pdf que encontre para inciar en acegi, en español: &lt;a href="http://tecnoblog.entel.es/wp-content/uploads/2007/05/introduccion-a-acegi.pdf"&gt;tecnoblog.entel.es&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La página oficial del proyecto es la siguiente &lt;a href="http://www.acegisecurity.org/"&gt;Acegi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-5117763975196451622?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/framework-acegi.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dFpIZk_PI/AAAAAAAAABY/qhnHsNtj3sA/s72-c/logoacegi.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-6238904670343944320</guid><pubDate>Sun, 09 Mar 2008 19:44:00 +0000</pubDate><atom:updated>2008-03-11T20:56:04.566-06:00</atom:updated><title>Log4j</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dGNIZk_QI/AAAAAAAAABg/JlwMZMpIJ1M/s1600-h/logo4j.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dGNIZk_QI/AAAAAAAAABg/JlwMZMpIJ1M/s320/logo4j.jpg" alt="" id="BLOGGER_PHOTO_ID_5176683488092683522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Log4j&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es una librería de java con la que podemos escribir el log de nuestra aplicación, es decir, los errores, mensajes, avisos, etc. &lt;p&gt;Tiene muchas ventajas sobre &lt;b&gt;System.out&lt;/b&gt; y &lt;b&gt;Sytem.err&lt;/b&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Podemos organizar la salida de log en grupos, incluso un log por cada clase que es lo habitual. &lt;/li&gt;&lt;li&gt;Configuramos las salidas desde un fichero de configuración, sin necesidad de tocar el código. Este fichero nos permite: &lt;ul&gt;&lt;li&gt;Decidir qué salidas queremos o no mostrar, en función de qué clase procede la salida, de qué paquete o de la "gravedad" de la salida (error, aviso, información o información de debug). &lt;/li&gt;&lt;li&gt;Enviar la salida a otros sitios que no sean pantalla, por ejemplo, a través de un socket, base de datos, a un fichero, etc. &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Con &lt;b&gt;System.out&lt;/b&gt; y &lt;b&gt;System.err&lt;/b&gt; sólo podemos tocar eso en el mismo código y, desde luego, no podemos con ellos enviar a sitios distintos de la pantalla. &lt;/p&gt;&lt;p&gt;Fuente: &lt;a href="http://www.chuidiang.com/chuwiki/index.php?title=Qu%C3%A9_es_log4j"&gt;http://www.chuidiang.com&lt;/a&gt;&lt;/p&gt;Ademas con log4j tambien podemos enviar via email cualquier error o excepción que ocurra en el sistema, algo muy interesante.&lt;br /&gt;&lt;br /&gt;Bueno el archivo loggin.xml donde se coloca la configuración de los logs lo tuve que colocar en el directorio raiz de Tomcat.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-6238904670343944320?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/log4j.html</link><author>noreply@blogger.com (odrarg)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lxdG9KcLRD8/R9dGNIZk_QI/AAAAAAAAABg/JlwMZMpIJ1M/s72-c/logo4j.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-9017129538485458587</guid><pubDate>Wed, 05 Mar 2008 01:54:00 +0000</pubDate><atom:updated>2008-03-04T19:57:28.168-06:00</atom:updated><title>300 Mexicanos</title><description>300 Mexicanos, esta chido&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/oGNbHNfh1Co"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/oGNbHNfh1Co" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-9017129538485458587?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/300-mexicanos.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-4213695371313025335</guid><pubDate>Tue, 04 Mar 2008 21:22:00 +0000</pubDate><atom:updated>2008-03-04T21:25:25.442-06:00</atom:updated><title>Crear proyecto web con maven y eclipse</title><description>El problema que se me presento a mi fue que al momento de importar el proyecto web a mi IDE eclipse éste no generaba el proyecto web sino un proyecto java el cual el tomcat no me reconocia para ejecutarlo via web.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;Pasos a seguir para solucionarlo:&lt;br /&gt;&lt;br /&gt;1. Nos posicionamos en la carpeta donde queremos crear el proyecto en mi caso fue:&lt;br /&gt;  C:\Archivos de programa\Apache Software Foundation\Apache Tomcat 6.0.14\webapps&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;   &lt;span style=";font-family:arial;font-size:100%;"  &gt;2. Creamos el proyecto web con Maven&lt;br /&gt;mvn archetype:create -DgroupId=com.empresa.ejemplos -DartifactId=SisWeb -DarchetypeArtifactId=maven-archetype-webapp&lt;br /&gt;&lt;br /&gt;3. Creamos el paquete&lt;br /&gt;  &lt;quote&gt; mvn package &lt;/quote&gt;&lt;br /&gt;&lt;br /&gt;4. Instalamos&lt;br /&gt;  mvn install&lt;br /&gt;&lt;br /&gt;5. Añadimos la variable del Repositorio local maven&lt;br /&gt;  &lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  lang="ES" &gt;&lt;span class="SpellE"&gt;mvn&lt;/span&gt; –&lt;span class="SpellE"&gt;Declipse.workspace&lt;/span&gt;= c:\eclipse\Workspace  &lt;span class="SpellE"&gt;eclipse&lt;span class="GramE"&gt;:add&lt;/span&gt;&lt;/span&gt;-&lt;span class="SpellE"&gt;maven&lt;/span&gt;-repo&lt;br /&gt;&lt;br /&gt;6.  En &lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  lang="ES" &gt;el Eclipse comprobamos en &lt;span class="SpellE"&gt;Java\Build&lt;/span&gt; &lt;span class="SpellE"&gt;path\Classpath&lt;/span&gt; variables si se ha dado de alta correctamente el repositorio de &lt;span class="SpellE"&gt;Maven&lt;br /&gt;&lt;br /&gt;7. Añadimos el modulo al eclipse de la siguiente manera (esto es por lo que batalle y por lo cual no generaba correctamente el proyecto al momento de importarlo)&lt;br /&gt;mvn -Dwtpversion=1.5 eclipse:eclipse&lt;br /&gt;&lt;br /&gt;La linea de codigo anterior lo encontre gracias a un manual de &lt;a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=coregest"&gt;adictos al trabajo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8.Importamos el proyecto al eclipse&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  lang="ES" &gt;mediante &lt;span class="SpellE"&gt;el menu File\Import&lt;/span&gt;…\&lt;span class="SpellE"&gt;Existing&lt;/span&gt; &lt;span class="SpellE"&gt;proyect&lt;/span&gt; &lt;span class="SpellE"&gt;into&lt;/span&gt; &lt;span class="SpellE"&gt;Workspace&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;8.  Otra manera de importarlo es utilizando el plugin de Q4e&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-4213695371313025335?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2008/03/crear-proyecto-web-con-maven-y-eclipse.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-7776936357337017737</guid><pubDate>Mon, 26 Nov 2007 05:03:00 +0000</pubDate><atom:updated>2007-11-25T23:07:15.482-06:00</atom:updated><title>Sistemas Online para la Administracion Financiera Personal</title><description>Lista de Sistemas  Online para la Administracion Financiera Personal:&lt;br /&gt;&lt;br /&gt;1. http://xpenser.com/&lt;br /&gt;&lt;br /&gt;2. https://secure.financify.com/&lt;br /&gt;&lt;br /&gt;3. https://www.clearcheckbook.com/&lt;br /&gt;&lt;br /&gt;4. http://www.gastus.com/&lt;br /&gt;&lt;br /&gt;5. http://www.budgetpulse.com/&lt;br /&gt;&lt;br /&gt;6. http://budget.10try.com/default.aspx?lng=En&lt;br /&gt;&lt;br /&gt;Los voy a probar a ver que tal funcionan y a decidir cual de ellos voy a usar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-7776936357337017737?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2007/11/sistemas-online-para-la-administracion.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-13853356.post-1594565373338354973</guid><pubDate>Fri, 16 Nov 2007 07:36:00 +0000</pubDate><atom:updated>2007-11-16T01:44:52.099-06:00</atom:updated><title>Desvelado</title><description>Bueno son las 1:37 am tengo los ojos rojos señales de desvelo y cansancio, se nos arruino el no tomar unas deliciosas cervezas en la casa para celebrar que no presente mi examen de ingles debido a que&lt;br /&gt;como ya dije sigo en el trabajo,,mmm tanto pagar el ingles como para no pasar el nivel, bueno espero&lt;br /&gt;que me den chance de presentarlo en los siguientes dias.&lt;br /&gt;&lt;br /&gt;Lo bueno que ya llego el sagrado viernes es la unica consolación, bueno esperemos ir a algun lado&lt;br /&gt;para desestresarnos por el paso a producción de hoy.&lt;br /&gt;&lt;br /&gt;Bendito sea la programación en java, ja&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13853356-1594565373338354973?l=odrarg.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://odrarg.blogspot.com/2007/11/desvelado.html</link><author>noreply@blogger.com (odrarg)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>