Manual oficial: Guia Usuario Apache Velocity
Cómo integrar Velocity en Spring y sus macros (por ejemplo: #springMessage, #springUrl, #springFormInput,...): Pincha aquí
Guía usuario Apache Velocity
Publicado por
ManuWar
0
comentarios
SSL en Tomcat
Para la creación de un certificado podemos usar tanto la aplicación OpenSSL como la herramienta KeyTool del propio jdk. En este caso usaremos keytool para un certificado autofirmado, es decir, no usaremos ninguna entidad certificadora.
Pasos :
1- Desde el shell ( cmd ) ejecutamos por ejemplo :
keytool -genkey -keyalg RSA -keysize 2048 -alias ??? -keystore ??? -validity 365 -keypass ??? -storepass ???
A continuación respondemos a las preguntas.
Nota: No todos los parámetros son obligatorios, por ejemplo, si queremos que no caduque, no usamos el parámetro validity.
Parámetros :
-> keyalg : Algoritmo criptográfico. Además de RSA, también valen: DSA,...
-> keysize : Longitud de la contraseña (en bits).
-> alias : Identificador de nuestro certificado.
-> keystore : Ruta del almacén del certificado. Si no se indica este párametro, el almacén guardado por defecto es .keystore ubicado en directorio (home) del usuario. Extensiones tipicas: .ssl, .keystore, .jks, .csr, ...
-> validity : Días de validez.
-> keypass : Clave con la que podremos acceder a la clave
privada del par de claves creado.
-> storepass: Clave para acceder a nuestro keystore (fichero creado).
2- Para confirmar que todo ha ido correcto, podemos comprobarlo ejecutando (válido cuando no se indica el keystore):
keytool -list -storepass ???
Para verlo más detallado aplicamos:
keytool -list -v alias ??? -storepass ???
donde ??? ha de coincidir con el alias y la contraseña arriba indicada.
3- El fichero generado lo ubicamos en el directorio /conf del servidor Tomcat.
4- Modificamos el fichero server.xml como se muestra a continuación
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation -->
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="conf/[nombre_fichero]"
keystorePass="???"/>
Con clientAuth como false no se solicita certificado al cliente durante el establecimiento de la conexión SSL.
Nota: Una herraminta de gran utilidad es Keytool IUI, la cual facilita todo el desarrollo de creación de certificados evitando así la consola.
Cuidado: Si estamos ejecutando la aplicación en un IDE, por ejemplo Eclipse, hemos de aplicar los pasos 3 y 4 en el directorio "server" del workspace del IDE.
Información sacada de:
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=SSLenTomcat
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=securitySSLKeytool
Publicado por
ManuWar
0
comentarios
get() y load() en Hibernate
Cuando hacemos sesison.get() es porque no sabemos si el
objeto que estamos solicitando existe o no en la base de datos, por
lo tanto Hibernate hace la consulta a la base de datos de forma
inmediata. Si no se encontrara el objeto en la base de datos, el
método get() devuelve null.
Sin embargo al usar session.load() estamos dejando claro
a Hibernate que sabemos con seguridad que el objeto que estamos
solicitando sí que existe en la base de datos. En este caso
Hibernate no hace la consulta de forma inmediata, sino que espera
hasta que accedamos al objeto para hacer la consulta. Si el objeto no existe se produce una excepción.
Información sacada de: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hibernateJoin
Publicado por
ManuWar
0
comentarios
Colecciones & Fetch & Lazy ( Hibernate )
Para entender mejor como se trae Hibernate la información
de la base de datos, podemos hablar de dos conceptos: “cuando”
se trae la información de la relación y “como”
se la trae (es decir que SQL utiliza).
Lazy :
Al especificar una relación en un mapeo de Hibernate
usaremos el atributo “lazy” para definir el “cuando”.
Por defecto lazy es igual a true. Esto significa que la
colección no se recupera de la base de datos hasta que se hace
alguna operación sobre ella.
Si fijamos lazy a false, cuando se recupere la
información de A también se traerá toda la
información de los objetos relacionados de B (este era el
comportamiento por defecto en la versión 2 de Hibernate).
Fetch :
Por defecto fetch es igual a select. Esto implica que
para recuperar cada objeto de B se lanzará una nueva consulta
a la base de datos.
Si fijamos el valor de fetch a join, en la misma consulta
que se recupera la información de A también se
recuperará la información de todos los objetos
relacionados de B. Esto se consigue con un left outer join
en la sentencia SQL. ( Más eficiente )
Información sacada de: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hibernateJoin
Publicado por
ManuWar
0
comentarios
Plugins instalados en Eclipse
Listado (Buscar en Marketplace):
-
Spring Tool Suite(STS)
-
SubEclipse (Plugin SVN)
-
JBoss Tools:
-
Hibernate Tools
- JBoss Maven Integration
- FreeMarker IDE
-
Hibernate Tools
-
RMI (http://www.genady.net/rmi/v20/downloads.html)
- JSDT jQuery Integration
Pasos a seguir de como integrar el plugin al proyecto:
- Propiedades del proyecto -> Javascript -> Include Path
-
Add Javascript Library (Añadimos la librería JQuery con la versión correspondiente).
- Propiedades del proyecto -> Javascript -> Include Path
-
VeloEclipse (Plugin para usar Apache Velocity) https://code.google.com/p/veloeclipse/. En caso de error, pincha aquí
- Velocity-Edit (Plugin para usar Apache Velocity) http://code.google.com/p/velocity-edit/downloads/list. Descargar el .jar e instalarlo en el directorio dropins del eclipse. Parece ser que éste va mejor que VeloEclipse.
- FreeMarker IDE (plugin para usar Apache FreeMarker): Este plugin puede instalarse del el plugin JBoss Tools.
- Eclipse Color Theme. Modifica los colores (Windows -> Preferencias -> General -> Apariencia -> Color Theme)
Publicado por
ManuWar
0
comentarios
Seguridad sesiones en web.xml
Ejemplo:
<session-config>
<!-- Línea comentada porque hemos usado abajo la etiqueta max-age
por defecto es -1) en cookie-config (usamos COOKIE en ejemplo) -->
<!-- Medida en minutos -->
<!-- <session-timeout>5</session-timeout> -->
<!-- Hacemos que la variable de sessión jsessionid sea una cookie y no esté
en la URL -->
<!-- Línea comentada porque hemos usado más abajo la etiqueta cookie-config,
por tanto, usamos COOKIE -->
<!-- Posibles valores: COOKIE,URL,SSL-->
<!-- <tracking-mode>COOKIE</tracking-mode> -->
<!-- Modificamos parámetros de la cookie -->
<cookie-config>
<name>SPizza</name> <!-- Nombre de la cookie -->
<http-only>true</http-only> <!-- Protocolo a usar cookie -->
<secure>false</secure><!-- Si queremos usar HTTPS, no es
nuestro caso -->
<max-age>60</max-age> <!-- Medida en segundos ( 1 minuto ) -->
</cookie-config>
</session-config>
|
Publicado por
ManuWar
0
comentarios
TestNG en Spring 3
He aquí un ejemplo ( Observamos la anotación y la herencia ):
@ContextConfiguration(locations={"classpath:beans.xml"})
public class TestDAO extends AbstractTestNGSpringContextTests{
......
}
Publicado por
ManuWar
0
comentarios
Diferencia entre Struts 2 FilterDispatcher y StrutsPrepareAndExecuteFilter
FilterDispatcher (org.apache.struts2.dispatcher.FilterDispatcher) está obsoleta desde la versión 2.1.3. StrutsPrepareAndExecuteFilter(org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter) se recomienda a partir de la versión >= 2.1.3.
Publicado por
ManuWar
0
comentarios
Validaciones con Struts 2
Pincha aquí para ver el manual con ejemplos.
Publicado por
ManuWar
0
comentarios
Ejemplo de fichero Tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?> <tomcat-users> <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user password="*****" roles="admin-gui,manager-gui" username="nuwi"/> </tomcat-users> |
Publicado por
ManuWar
0
comentarios
Jar's mínimos para Struts versión 2.3.4
Los jars mínimos para la versión 2.3.4 de Struts son 8, siendo éstos :
- commons-fileupload-1.2.2.jar
- commons-io-2.0.1.jar
- commons-lang3-3.1.jar
- freemarker-2.3.19.jar
- javassist-3.11.0.GA.jar
- ognl-3.0.5.jar
- struts2-core-2.3.4.jar
- xwork-core-2.3.4.jar
Publicado por
ManuWar
0
comentarios