18-febrero-2012
admin

Codificación de colores

Este es el listado de colores que recomienda usar la W3C y que, por lo tanto, funcionan (o deberían funcionar) en todos los navegadores.
En la tabla se puede ver tanto su valor hexadecimal como el nombre que tienen asignado.

Nombre del color Código RGB Nombre del color Código RGB
Aliceblue #F0F8FF Antiquewhite #FAEBD7
Aqua #00FFFF Aquamarine #7FFFD4
Azure #00FFFF Beige #F5F5DC
Bisque #FFE4C4 Black #000000
Blanchedalmond #FFEBCD Blue #0000FF
Blueviolet #8A2BE2 Brown #A52A2A
Burlywood #DEB887 Cadetblue #5F9EA0
Chartreuse #7FFF00 Chocolate #D2691E
Coral #FF7F50 Cornflowerblue #6495ED
Cornsilk #FFF8DC Crimson #DC143C
Cyan #00FFFF Darkblue #00008B
Darkcyan #008B8B Darkgoldenrod #B8860B
Darkgray #A9A9A9 Darkgreen #006400
Darkkhaki #BDB76B Darkmagenta #8B008B
Darkolivegreen #556B2F Darkorange #FF8C00
Darkorchid #9932CC Darkred #8B0000
Darksalmon #E9967A Darkseagreen #8FBC8F
Darkslateblue #483D8B Darkslategray #2F4F4F
Darkturquoise #00CED1 Darkviolet #9400D3
Deeppink #FF1493 Deepskyblue #00BFFF
Dimgray #696969 Dodgerblue #1E90FF
Firebrick #B22222 floralwhite #FFFAF0
forestgreen #228B22 fuchsia #FF00FF
gainsboro #DCDCDC ghostwhite #F8F8FF
gold #FFD700 goldenrod #DAA520
gray #808080 green #008000
greenyellow #ADFF2F honeydew #F0FFF0
hotpink #FF69B4 indianred #CD5C5C
indigo #4B0082 ivory #FFFFF0
khaki #F0E68C lavender #E6E6FA
lavenderblush #FFF0F5 lawngreen #7CCMC00
lemonchiffon #FFFACD lightblue #ADD8E6
lightcoral #F08080 lightcyan #E0FFFF
lightgoldenrodyellow #FAFAD2 lightgreen #90EE90
lightgrey #D3D3D3 lightpink #FFB6C1
lightsalmon #FFA07A lightseagreen #20B2AA
lightskyblue #87CEFA lightslategray #778899
lightsteelblue #B0C4DE lightyellow #FFFFE0
lime #00FF00 limegreen #32CD32
linen #FAF0E6 magenta #FF00FF
maroon #800000 mediumaquamarine #66CDAA
mediumblue #0000CD mediumorchid #BA55D3
mediumpurple #9370DB mediumseagreen #3CB371
mediumslateblue #7B68EE mediumspringgreen #00FA9A
mediumturquoise #48D1CC mediumvioletred #C71585
midnightblue #191970 mintcream #F5FFFA
mistyrose #FFE4E1 moccasin #FFE4B5
navajowhite #FFDEAD navy #000080
oldlace #FDF5E6 olive #808000
olivedrab #6B8E23 orange #FFA500
orangered #FF4500 orchid #DA70D6
palegoldenrod #EEE8AA palegreen #98FB98
paleturquoise #AFEEEE palevioletred #DB7093
papayawhip #FFEFD5 peachpuff #FFDAB9
peru #CD853F pink #FFC0CB
plum #DDA0DD powderblue #B0E0E6
purple #800080 red #FF0000
rosybrown #BC8F8F royalblue #4169E1
saddlebrown #8B4513 salmon #FA8072
sandybrown #F4A460 seagreen #2E8B57
seashell #FFF5EE sienna #A0522D
silver #C0C0C0 skyblue #87CEEB
slateblue #6A5ACD slategray #708090
snow #FFFAFA springgreen #00FF7F
steelblue #4682B4 tan #D2B48C
teal #008080 thistle #D8BFD8
tomato #FF6347 turquoise #40E0D0
violet #EE82EE wheat #F5DEB3
white #FFFFFF whitesmoke #F5F5F5
yellow #FFFF00 yellowgreen #9ACD32
11-febrero-2012
admin

JRFontNotFoundException

Cuando al ejecutar un report nos encontramos con el siguiente error:
Mensaje: Font ‘Arial’ is not available to the JVM. See the Javadoc for more details.
Excepcion: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ‘Arial’ is not available to the JVM. See the Javadoc for more details.

Si no queremos añadir un jar con la fuente (Arial en este caso). Una de las formas que se puede emplear para corregirlo consiste en, simplemente, añadirle la propiedad
net.sf.jasperreports.awt.ignore.missing.font = true
Con esto evitamos que lance la excepción ya que sustituirá la fuente Arial por otra que sí esté disponible.

Nota: Más información aquí.

9-febrero-2012
admin

Cómo unir, separar y/o desproteger PDFs?

Si no te acuerdas de la contraseña que le has puesto a algún pdf que hayas creado, hay diversas herramientas por la red que puedes utilizar. Entre ellas está el PDF Unlocker. Lo he probado con el windows xp y va muy bien.


También puedes encontrar herramientas para unir varios pdfs en uno o para separar uno en varios. Ya sea via web: http://www.ilovepdf.com/es/ o mediante una aplicación como es con PDF Split and Merge 2.2.1 En particular esta última opción me gusta más.

8-febrero-2012
admin

TCPMON

TCPMON es un sniffer que permite visualizar los paquetes enviados por la red de una forma muy sencilla. Sobretodo, es muy útil cuando se quieren detectar problemas con Servicios Web.


En esta página hay un tutorial bastante completo sobre ello.


Sólo añadir que el tcpmon se encuentra incluido en axis. Por lo tanto, se puede lanzar simplemente ejecutando desde la consola:
java -cp axis.jar org.apache.axis.utils.tcpmon
(Nota: axis.jar está en AXIS_HOME/lib)

5-febrero-2012
admin

Tamaño de memoria del Tomcat

Para modificar el tamaño de la memoria debemos ir a:

(Windows)
$TOMCAT_HOME\bin\catalina.bat y añadir: set CATALINA_OPTS=”-Xms512m -Xmx512m”




(Linux)
$TOMCAT_HOME\bin\catalina.sh y añadir: export CATALINA_OPTS=”-Xms512m -Xmx512m”




Nota: El 512 se corresponde con el total de memoria a utilizar.

4-febrero-2012
admin

Transacciones con Spring AOP (Forma declarativa con un fichero xml)

El tratamiendo de las transacciones mediante Spring AOP puede realizarse de varias formas. O bien, de forma programática o bien de forma declarativa (ya sea con anotaciones o con fichero xml):


1/ Si se hace de forma programática, las transacciones, deben controlarse en las distintas clases. Esto puede llegar a resultar bastante engorroso en aplicaciones relativamente grandes.


2/ Si se hace de forma declarativa con anotaciones estaríamos en la misma situación ya que las transacciones se definen dentro de las propias clases como antes, eso sí, de una forma más limpia.


3/ Si se hace de forma declarativa con un fichero xml se puede poner un punto de corte (pointcut) sobre la capa manager que abarque a todas las clases pertenecientes a ella. Y mediante un se pueden definir los tipos de propiedades de las transacciones (propagation, isolation leven, timeout, etc.), que deben ejecutar los métodos de esas clases manager. Para ello basta con seguir algún patrón a la hora de nombrar los nombres métodos y así poder diferenciarlos unos de otros. De esta forma en unas pocas líneas de un fichero xml se tienen tratadas todas las transacciones de la aplicación.




Para usar esta tercera forma nos pide aparte un par de librerías de Aspectj. Obtenidas p.e. de maven, de la siguiente forma:

      
          org.aspectj
          aspectjrt
          1.5.4
      
      
          org.aspectj
          aspectjweaver
          1.5.4
      





Un ejemplo sencillo de uso, con hibernate:

    
    
	
    

    
    
        
     
    
    
    
        
            
            
            
        
    





Nota: Aquí hay bastante más información para consultar http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

3-febrero-2012
admin

Para ver las sesiones abiertas en oracle

SELECT username, status, sid, serial# FROM v$session;

Así, para ver únicamente las sesiones abiertas con el usuario que se está utilizando en la aplicación. Sería:

SELECT * FROM v$session WHERE username LIKE ‘XXXXXXX’;

(Nota: Se deben tener permisos de SYS.)

3-febrero-2012
admin

Cambiar el puerto del JBoss

Para cambiar el puerto bajo el que corre JBoss. Se debe modificar el archivo server.xml.
Concretamente la línea que pone:

 

...




Nota: El archivo server.xml se puede encontrar en el jbosweb. Algo así:
/server/default/deploy/jbossweb.sar/server.xml

2-febrero-2012
admin

Instalar un JBoss

Pasos a seguir para poner a funcionar un JBoss de manera rápida.


Paso 1: Se debe instalar una jdk y añadir la variable de entorno JAVA_HOME.
p.e. si tenemos instalada la jdk en C:\Program Files\Java\jdk1.5.0_22, se añadiría la variable de entorno JAVA_HOME=C:\Program Files\Java\jdk1.5.0_22

Paso 2: Descomprimir en una carpeta del sistema el JBoss y añadir la variable de entorno JBOSS_HOME.
p.e. si descomprimimos el JBoss en la carpeta C:\jboss, se añadiría la variable de entorno JBOSS_HOME=C:\jboss

Paso 3: Ahora se deben añadir esas dos variables de entorno al path. Tal que así:
PATH = %JBOSS_HOME%\bin;%JAVA_HOME%\bin; %PATH%

Paso 4: Para lanzar el servidor de JBoss simplemente se ejecuta el archivo run.bat (está en la carpeta bin del JBoss).

Paso 5: Para probarlo se puede ejecutar el siguiente Hola Mundo:
Paso 5.1: Crear una carpeta llamada HolaMundo y dentro colocar la jsp «hola.jsp». Que contenga por ejemplo:

  <% String mensaje= "Hola, Mundo."; %>
  <%=mensaje %>
  <%=new java.util.Date() %>

Paso 5.2: Dentro de la carpeta HolaMundo crear también la carpeta «WEB-INF» y dentro de ésta un fichero web.xml con el siguiente contenido:


   Hello World

Paso 5.3: Finalmente, para crear el war y desplegarlo en el servidor jboss se crea dentro de la carpeta HolaMundo un fichero deploy.bat con este contenido:

@echo off
"%JAVA_HOME%\bin\jar.exe" -cvf HolaMundo.war *.jsp WEB-INF
copy HolaMundo.war "%JBOSS_HOME%\server\default\deploy"
pause

Paso 5.4: Ejecutar ese deploy.bat y probar en el navegar la siguiente url http://localhost:8080/HolaMundo/hola.jsp»
Si todo ha ido bien, se debe ver un hola mundo.

1-febrero-2012
admin

Test does not support runtime expressions

Programando unas jsp me he encontrado con una serie de ‘warnnings’. Aunque al ejecutarlas bajo un tomcat funcionaban correctamente, en un OAS daban problemas. Los ‘warnnings’ en cuestión eran tal que así:

  • test does not support runtime expressions
  • value does not support runtime expressions
  • items does not support runtime expressions

Esto sucedía porque estaba importando la taglib de JSTL 1.0 en lugar de su versión 1.1.
Utilizaba:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

En lugar de:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"  %>

Como se puede ver, las dos URI’s se parecen mucho y es bastante fácil equivocarse.

Páginas:«1...1819202122232425

Categorias

Linkedin