Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

jueves, 15 de septiembre de 2016

Obteniendo el valor de un checkbox en Struts

El checkbox es un control que tiene un comportamiento un poco especial. Cuando el checkbox está activado la propiedad asociada es modificada a true, pero cuando se desactiva el checkbox no se realiza ninguna acción.
Así que para funcione correctamente la propiedad del checkbox debe estar inicializada a false. Pero hay otro problema, si solo lo inicializarmos en el constructor del ActionForm no se actualizará en sucesivos cambios del checkbox, por ello debemos inicializar el valor en la función reset.

Código del ActionForm:

public class EncuestadoVOForm extends ActionForm{

private boolean activado; //propiedad asociada al checkbox

//constructor
public EncuestadoVOForm() {


activado = false; //inicializamos en el constructor
 

}


public void reset(ActionMapping mapping,
HttpServletRequest request) {

activado = false; //inicializamos en el reset


}


Como podéis deducir el constructor ya no es necesario una vez añades la función reset por lo que se podría quitar y el ActionForm funcionaría bien.

Sino lo realizamos así la propiedad "activado" siempre devuelve true sea cual sea el estado del checkbox.

miércoles, 6 de febrero de 2013

Problemas conexión odbc-jdbc

Cuando intentamos conectar desde Java con una base de datos Access a través de puente JDBC ODBC podemos obtener este error.

La arquitectura del DSN especificado no coincide entre el controlador y la aplicación.

Este error se puede solucionar comprobando las arquitecturas de todos los componenentes de la aplicación. Con esto quiero decir que si tenemos la conexión ODBC en 32bits debemos instalar un JDK de 32bits o sino el driver no encontrará la conexión.

Este problema es típico en ordenadores nuevos con arquitectura de 64bits en los cuales la versión del JDK que se instala por defecto es la de 64bits, sin embargo el conector ODBC de Access es de 32 bits y por ello la aplicación no consigue encontrarlo como debería.

sábado, 3 de septiembre de 2011

exec : Java Glossary

En el siguiente enlace podemos encontrar una buena explicación de como ejecutar comandos de shell a través de Java.

Además esta página tiene de especial que nos explica como Java realiza esta conexión con el shell de forma que nos permite entender qué cosas podemos hacer y qué cosas no podemos hacer al utilizar el shell a través de Java.

exec : Java Glossary

viernes, 5 de junio de 2009

Corregidas dos vulnerabilidades en Apache Tomcat

Se han publicado actualizaciones para corregir dos vulnerabilidades en
Apache Tomcat, que podrían ser explotadas para provocar denegaciones de
servicio o descubrir información sensible.

Apache Tomcat es un servidor web que funciona como contenedor de
servlets, desarrollado en código abierto por la Apache Software
Foundation. Tomcat implementa las especificaciones de las tecnologías
servlets Java y de páginas JSP.

El primero de los problemas está provocado por una insuficiencia de
comprobación de errores en algunas clases de autenticación, lo que
podría permitir a atacantes realizar una enumeración de nombres de
usuario válidos mediante el envío al servidor de contraseñas codificadas
como URLs específicamente creadas, cuando autenticación
(j_security_check) basada en FORM se usa con "MemoryRealm",
"DataSourceRealm" o "JDBCRealm".

La segunda vulnerabilidad está provocada debido a que Tomcat cierra
conexiones AJP cuando procesa una petición con cabeceras no válidas
mediante el conector Java AJP, esto podría provocar el bloqueo por un
tiempo de un miembro de un balanceador de carga mod_jk, con la
consiguiente condición de denegación de servicio.

Se ven afectadas las versiones:
Apache Tomcat versiones 4.1.0 a 4.1.39
Apache Tomcat versiones 5.5.0 a 5.5.27
Apache Tomcat versiones 6.0.0 a 6.0.18

Se recomienda la instalación de las actualizaciones publicadas según la
versión afectada:
Apache Tomcat versión 6.0.20 :
http://tomcat.apache.org/download-60.cgi

Apache Tomcat versión 5.5.SVN :
http://svn.apache.org/viewvc?rev=781362&view=rev
http://svn.apache.org/viewvc?rev=781379&view=rev

Apache Tomcat versión 4.1.SVN :
http://svn.apache.org/viewvc?rev=781362&view=rev
http://svn.apache.org/viewvc?rev=781382&view=rev

Opina sobre esta noticia:
http://www.hispasec.com/unaaldia/3876/comentar

Más información:

CVE-2009-0580: Tomcat information disclosure vulnerability
http://marc.info/?l=tomcat-dev&m=124404379413746&w=2

CVE-2009-0033: Apache Tomcat denial of service vulnerability
http://marc.info/?l=tomcat-dev&m=124404378213711&w=2

Visto en:
Hispasec - una-al-día 04/06/2009
Todos los días una noticia de seguridad www.hispasec.com

jueves, 20 de noviembre de 2008

Disponible la nueva versión 6.5 de NetBeans




Aquí algunas de las nuevas características, muchas de ellas relacionadas con el desarrollo en PHP:

PHP
  • Code Completion
  • Quick Fixes and Semantic Checks
  • Code Generator
  • FTP Support
  • Debugging with Xdebug
  • Support for popular Web Services
Ajax/JavaScript
  • Debugging support for Firefox and IE
  • HTTP client monitoring
  • Bundled popular JavaScript libraries
Java
  • Groovy/Grails support
  • Compile on Save
  • Eclipse project import and synchronization
  • Built-in Hibernate support
  • JSF CRUD Generator now Ajax-enabled
Database
  • New Connection Dialog
  • SQL Editor Improvements
C/C++
  • Improved code completion and error highlighting
  • Remote Development
  • Support for packaging
Ruby
  • New Ruby/GlassFish v3 "Prelude" Bundle
  • Support for Ruby Tests
  • Updated Rails to 2.1.0
  • Improved support for Rake build tool
GlassFish v3 "Prelude" Bundles
  • Modular, OSGi based architecture
  • Small footprint, fast startup and deployment
  • Support for scripting, including jRuby

NetBeans IDE - Características

viernes, 10 de octubre de 2008

OpenSwing 1.7.8 - framework libre para el desarrollo de aplicaciones Swing - Asociación javaHispano

OpenSwing 1.7.9 es un framework para el desarrollo de aplicaciones swing, tanto para aquellas que no se comunican con una base de datos como para aquellas aplicaciones de dos o tres capas cuyo front end es una aplicación de escritorio. El framework incluye un conjunto de componentes gráficos implementados en Swing orientados a la visualización de datos entre los cuales hay componentes para mostrar cantidades de dinero, grids, un componente híbrido entre un árbol y un grid, calendarios, diagramas de Gantt y un largo etcétera.

OpenSwing también cuenta con una librería para el desarrollo de la capa de acceso a datos y (para las aplicaciones de tres capas) la lógica de negocio, así como una librería que se encarga de simplificar la comunicación con el servidor. También cuenta con componentes para visualizar documentos PDF, Excel, csv, HTML, XML, RTF. El framework se distribuye bajo licencia LGPL y cuenta con abundante documentación entre la cual se incluyen varias aplicaciones de demostración.

OpenSwing 1.7.8 - framework libre para el desarrollo de aplicaciones Swing - Asociación javaHispano

domingo, 24 de agosto de 2008

Creating a Custom Java Desktop Database Application - NetBeans 6.1 Tutorial

Aquí podemos encontrar un tutorial más avanzado para la creación de aplicaciones de escritorio con NetBeans utilizando JPA, BeansBinding y Swing Application Framework.

Creating a Custom Java Desktop Database Application - NetBeans 6.1 Tutorial

sábado, 23 de agosto de 2008

viernes, 9 de mayo de 2008

Configurar apache para que sirva contenidos estaticos y tomcat para contenido dinámico

En este documento se explica de forma fácil cómo configurar un servidor apache para que sirva el contenido estático de un tomcat

Java en castellano. Tomcat.

viernes, 2 de mayo de 2008

Cambio de idioma (locale) en una aplicación struts internacionalizada (i18n)

La manera correcta de forzar un cambio de idioma en una aplicación struts es la siguiente:

session.setAttribute(org.apache.struts.Globals.LOCALE_KEY,new Locale(lang)); //para struts

siendo lang el nuevo lenguaje del cual tenemos que tener los textos en el correspondiente fichero de properties.

Struts-menu y la internacionalización (i18n)

Para que funcione la internacionalización en struts-menu hay que asegurarse de que se pone lo siguiente:

bundle="org.apache.struts.action.MESSAGE"

en la etiqueta useMenuDisplayer.

En el bundle se puede poner directamente el nombre del fichero de properties con los textos, pero cuando hacemos un cambio de idioma en struts no se va a actualizar el idioma en el menu.

Para que se actualice el menu la forma correcta de hacerlo es poniendo el bundle de arriba.

jueves, 31 de enero de 2008

Optimización de ejecución de Netbeans 6

Para ejecutar Netbeans 6 de forma más rápida y para que tenga más soltura podemos desinstalar los plugins que no vayamos a usar.

Para ello nos vamos al menu Tools -> Plugins -> Installed y vamos desinstalando aquellos plugins que sean poco usados para optimizar recursos.

Esto mejora en mucho la velocidad de ejecución de netbeans 6

miércoles, 30 de enero de 2008

Requerimientos del sistema NetBeans IDE 6.0

Requerimientos del sistema recomendados para Netbeans 6.0:

  • Microsoft Windows XP Professional SP2:
    • Processor: 2.6 GHz Intel Pentium IV or equivalent
    • Memory: 1 GB
    • Disk space: 1 GB of free disk space

  • Microsoft Windows Vista:
    • Processor: 2.6 GHz Intel Pentium IV or equivalent
    • Memory: 1 GB
    • Disk space: 1 GB of free disk space

  • Ubuntu 7.x:
    • Processor: 2.6 GHz Intel Pentium IV or equivalent
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space

  • Red Hat EL 4:
    • Processor: 2.6 GHz Intel Pentium IV or equivalent
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space

  • Solaris OS version 10 (SPARC):
    • Processor: UltraSPARC IIIi 1 GHz
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space

  • Solaris OS version 10 (x86/x64 platform edition):
    • Processor: AMD Opteron 1200 Series 2.8 GHz
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space

  • Macintosh OS X 10.4.9 Intel:
    • Processor: Dual-Core Intel
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space

  • Macintosh OS X 10.4.9 PPC:
    • Processor: PowerPC G5
    • Memory: 1 GB
    • Disk space: 850 MB of free disk space


NetBeans IDE 6.0 Release Notes

viernes, 14 de diciembre de 2007

Automatizar la generación de stub y skeleton con Rmic en NetBeans

Actualmente la única manera de automatizar la generación de stub y skeleton de un servidor RMI en NetBeans es utilizando las tareas de Ant.

Para ello nos vamos al directorio principal de nuestro proyecto y editamos el fichero build.xml

En la parte final de este fichero ponemos la siguiente tarea de ant:

<target name="-post-compile">
<rmic stubversion="compat" base="${build.classes.dir}" includes="**/ServidorRMI.class"/>
</target>


Así justo despues de compilar NetBeans ejecutara rmic con las opciones que le hemos pasado en la tarea de ant.

Rmic Task

lunes, 10 de septiembre de 2007

CONFIGURACIÓN DE DATASOURCE PARA TOMCAT 5.5 Y MYSQL 5.0.22

CONFIGURACIÓN DE DATASOURCE PARA TOMCAT 5.5 Y MYSQL 5.0.22


Paso 1 - Copiamos nuestro driver JDBC para mysql de extensión *.jar a la ruta $CATALINA_HOME/common/lib del tomcat en mi caso

el fichero es mysql-connector-java-5.0.5-bin.jar. Reiniciar tomcat.

Paso 2 - Si aun no lo hemos hecho, hay que crear en mysql un usuario con contraseña (sino tiene contraseña la conexión va a

fallar), una base de datos y un tabla con datos a la que acceder.

Paso 3- Configurar el web.xml de nuestra aplicación web.

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

Paso 3- Añadir nuestro código de conexión a la aplicación:

//Con DataSource
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
con = ds.getConnection();

DriverManager.setLogWriter(new PrintWriter(System.out, true));

if ( ds == null ) {
throw new Exception("Data source no encontrado!");
}

Paso 4 - Tras realizar el desplegado de la aplicación en tomcat nos vamos a la aplicación de administración de tomcat. Una vez autenticados nos vamos a la siguiente ruta del arbol:

Tomcat Server->Servicio Catalina->Host(Localhost)->Context(/nombreDeLaAplicacion)->Recursos->Fuentes de datos.

En esta ruta nos tiene que aparecer el nombre de nuestro datasource pues lo hemos puesto en el web.xml. Sin embargo no esta configurado (todos los campos menos el nombre estan vacios). Lo configuramos con los siguientes parametros.

<resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxactive="100" maxidle="30" maxwait="10000" username="javauser" password="javadude" driverclassname="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>

Paso 5- Tras ello entramos en nuestra aplicación y la conexión con la bd tiene que realizarse correctamente.

lunes, 30 de julio de 2007

OpenSwing - framework libre para el desarrollo de aplicaciones Swing

OpenSwing 1.1.9 es un framework para el desarrollo de aplicaciones swing, tanto para aquellas que no se comunican con una base de datos como para aquellas aplicaciones de dos o tres capas cuyo front end es una aplicación de escritorio. El framework incluye un conjunto de componentes gráficos implementados en Swing orientados a la visualización de datos entre los cuales hay componentes para mostrar cantidades de dinero, grids, un componente híbrido entre un árbol y un grid, calendarios, diagramas de Gantt y un largo etcétera.

OpenSwing también cuenta con una librería para el desarrollo de la capa de acceso a datos y (para las aplicaciones de tres capas) la lógica de negocio, así como una librería que se encarga de simplificar la comunicación con el servidor. También cuenta con componentes para visualizar documentos PDF, Excel, csv, HTML, XML, RTF. El framework se distribuye bajo licencia LGPL y cuenta con abundante documentación entre la cual se incluyen varias aplicaciones de demostración.

http://oswing.sourceforge.net/
http://www.javahispano.org/news.item.action?id=1591638492

jueves, 17 de mayo de 2007

Crear un objeto calendar con la fecha actual en java

Crear un objeto calendar con la fecha actual en java

Calendar.getInstance() devuelve un objeto GregorianCalendar cuyos campos and sido inicializados con la fecha y hora actual:

Calendar rightNow = Calendar.getInstance();

int julianDay = rightNow.get(Calendar.DAY_OF_YEAR);
int ccyy = rightNow.get(Calendar.YEAR);
int month = rightNow.get(Calendar.MONTH) + 1;
int day = rightNow.get(Calendar.DATE);
int hour12 = rightNow.get(Calendar.HOUR);
int hour24 = rightNow.get(Calendar.HOUR_OF_DAY);
int minute = rightNow.get(Calendar.MINUTE);
int second = rightNow.get(Calendar.SECOND);
int millisec = rightNow.get(Calendar.MILLISECOND);

// Create a copy of the rightNow Calendar object
Calendar baseCal = (Calendar)rightNow.clone();

// Subtract 5 days from the date
rightNow.add(Calendar.DATE, -5);

// Increments the date by one
rightNow.roll(Calendar.DATE, true);

// Decrements the date by one
rightNow.roll(Calendar.DATE, false);

// Returns true when rightNow is later than baseCal (false in this example)
boolean a = rightNow.after(baseCal);

// Returns true when rightNow is earlier than baseCal (true in this example)
boolean b = rigthNow.before(baseCal);

// Returns true when rightNow is equal to baseCal (false in this example)
boolean e = rightNow.equals(baseCal);

// Set the Calendar to a specific date (ccyy, month, day, hour, minute, second)
rightNow.set(1960, 7, 21, 10, 30, 30);

// Returns a Date object for the Calendar object
Date date = rightNow.getTime();

En el siguiente enlace puedes encontrar más informacions sobre la clase calendar:

http://java.sun.com/products/jdk/1.3/docs/api/java/util/Calendar.html