viernes, 21 de diciembre de 2007

Tomcat as service in Red Hat

Para instalar el tomcat como servicio, el usuario es desenv
João Reis diz:
coloca dentro do /etc/rc.d/rc.local
João Reis diz:
su - desenv /home/desenv/tomcat/bin/startup.sh

viernes, 14 de diciembre de 2007

Configue http session timeout in OAS

Para cambiar el timeout de session en una aplicación publicada en OAS seguir el siguiente path en el administrador:
Topologia do Cluster > Servidor de Aplicações: Host > OC4J: Component >
Módulo Web: modulo>
Administration > Configuration properties

Expire http session

En el web.xml se define dentro de web-app:
  <session-config>
<session-timeout>45</session-timeout>
</session-config>


Testeado en Tomcat 6 y OAS

viernes, 7 de diciembre de 2007

Displaytag export filter (Struts, Tiles)

En la documentación se explica bien que hay que agregar un filtro al web.xml
export filter
Lo que no dice (no se si será un standard del web.xml) que el filtro debe estar antes que los de struts y tiles. Lo puse al final y no me anduvo, cuando lo cambié al principio funcó.

    <!-- Displaytag export filter -->
<filter>
<filter-name>ResponseOverrideFilter</filter-name>
<filter-class>
org.displaytag.filter.ResponseOverrideFilter
</filter-class>
</filter>

<!-- URLs the filter will intercept -->
<filter-mapping>
<filter-name>ResponseOverrideFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ResponseOverrideFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!-- Displaytag export filter -->

miércoles, 5 de diciembre de 2007

Mala Praxis: JPS Scriplets , creating and accesing variables

En el siguiento fragmento del JSP se crea un CounterGroup (extends map) , luego dentro del ciclo foreach se van agregando elementos al map (scriptlet), al finalizar el ciclo en otro scriptlet se setea el setKey del map a una nueva variable que se utiliza para el siguiente foreach. Dentro del segundo ciclo se imprime con otro scriptlet que accede a la variable del ciclo pero a través del pageContext:
      <%
CounterGroup nonRepeated = new CounterGroup();
%>
<c:forEach var="tipoEntry" items="${documentosBean}">
<tr>
<td width="60"><c:out value="${tipoEntry.codigo}" /></td>
<td width="60"><c:out value="${tipoEntry.version}" /></td>
<td width="250"><c:out value="${tipoEntry.nombreDocumento}" />
</td>
<td width="250"><c:out value="${tipoEntry.tipo}" /></td>
</tr>
<%
nonRepeated.addItem(((DocumentoBean) pageContext
.getAttribute("tipoEntry")).getTipo());
%>
</c:forEach>
<%
pageContext.setAttribute("groupedKeys", nonRepeated.keySet());
%>
</table>

<table border="1" class="table">
<c:forEach var="key" items="${groupedKeys}">
<tr>
<td width="250"><c:out value="${key}" /></td>
<td width="250">
<%
out.print(nonRepeated.get(pageContext.getAttribute("key")));
%>
</td>
</tr>
</c:forEach>

No es una buena práctica ni se recomienda manejar así la visualización en los JSP pero para casos legacy es bueno tenerlo a mano.

martes, 4 de diciembre de 2007

Eclipse Tomcat: files case sensitive

Los files referenciados por html deben ser case sensitive. Ex:
img alt="Misil" src="images/Lili.jpg" y
img alt="Misil" src="images/lili.jpg"
son diferentes archivos.