Componentes para trabajar con Cookies y Headers HTTP
Hemos añadido componentes para trabajar de forma más sencilla con las cookies y cabecereas HTTP de las peticiones y respuestas HTTP.
Componentes para trabajar con Headers HTTP
El componente para trabajar con cabeceras HTTP tiene como nombre org.jboss.seam.web.headers y como clase org.jboss.seam.web.HttpHeaders. Es un componente sin estado (stateless). Tiene los siguientes métodos:
- public String getRequestHeader(String name) : permite obtener una cabecera de la solicitud HTTP como cadena de caracteres. Si hay varias definidas con el mismo nombre, devuelve la primera.
- public int getRequestIntHeader(String name) : permite obtener una cabecera de la solicitud HTTP como valor entero.
- public long getRequestDateHeader(String name) : permite obtener una cabecera de la solicitud HTTP de fecha como valor en milisegundos.
- public Date getRequestDateHeaderAsDate(String name) : permite obtener una cabecera de la solicitud HTTP de fecha como una instancia de la clase java.util.Date.
- public Enumeration<String> getRequestHeaders(String name) : permite obtener una cabecera de la solicitud HTTP como un enumerdo de cadena de caracteres. Util cuando hay varias cabeceras definidas con el mismo nombre.
- public Enumeration<String> getRequestHeadersNames() : permite obtener los nombres de las cabeceras definidas en la solicitud HTTP.
- public void addHeader(String name, String value) : permite añadir una cabecera a la respuesta HTTP independientemente de que esta ya exista o no. Permite añadir varias cabeceras con el mismo nombre. El valor es una cadena de caracteres.
- public void setHeader(String name, String value) : permite añadir una cabecera a la respuesta HTTP si esta no existe o modifica el valor si esta ya existe. El valor es una cadena de caracteres.
- public void addHeader(String name, String value, boolean overwrite) : permite añadir/modificar una cabecera a la respuesta HTTP dependiendo de el valor booleano establecido en overwrite. El valor es una cadena de caracteres.
- public void addIntHeader(String name, int value) : permite añadir una cabecera a la respuesta HTTP independientemente de que esta ya exista o no. Permite añadir varias cabeceras con el mismo nombre. El valor es un valor entero.
- public void setIntHeader(String name, int value) : permite añadir una cabecera a la respuesta HTTP si esta no existe o modifica el valor si esta ya existe. El valor es un valor entero.
- public void addIntHeader(String name, int value, boolean overwrite) : permite añadir/modificar una cabecera a la respuesta HTTP dependiendo de el valor booleano establecido en overwrite. El valor es un valor entero.
- public void addDateHeader(String name, Date date) : permite añadir una cabecera a la respuesta HTTP independientemente de que esta ya exista o no. Permite añadir varias cabeceras con el mismo nombre. El valor es una fecha definida como una instancia de la clase java.util.Date.
- public void setDateHeader(String name, Date date) : permite añadir una cabecera a la respuesta HTTP si esta no existe o modifica el valor si esta ya existe. El valor es una fecha definida como una instancia de la clase java.util.Date.
- public void addDateHeader(String name, Date value, boolean overwrite) : permite añadir/modificar una cabecera a la respuesta HTTP dependiendo de el valor booleano establecido en overwrite. El valor es una fecha definida como una instancia de la clase java.util.Date.
- public void addDateHeader(String name, long date) : permite añadir una cabecera a la respuesta HTTP independientemente de que esta ya exista o no. Permite añadir varias cabeceras con el mismo nombre. El valor es una fecha definida en milisegundos.
- public void setDateHeader(String name, long date) : permite añadir una cabecera a la respuesta HTTP si esta no existe o modifica el valor si esta ya existe. El valor es una fecha definida en milisegundos.
- public void addDateHeader(String name, long value, boolean overwrite) : permite añadir/modificar una cabecera a la respuesta HTTP dependiendo de el valor booleano establecido en overwrite. El valor es una fecha definida en milisegundos.
Este componente se puede utilizar en expresiones EL. Ejemplo:
package es.um.atica.prueba.backbeans; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.validation.constraints.Max; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Create; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; @Name("pruebaHeaderHttp") @Scope(ScopeType.PAGE) public class PruebaHeaderHttp { @In("#{headers.getRequestHeader('User-Agent')}") private String miStringHeader; @In("#{headers.getIntRequestHeader('Upgrade-Insecure-Requests')}") private int miIntHeader; @In("#{headers.getDateRequestHeader('Date')}") private long miMillisecondHeader; @In("#{headers.getRequestDateHeaderAsDate('Date')}") private Date miDateHeader; }
Componentes para trabajar con Cookies HTTP
El componente para trabajar con cookies HTTP tiene como nombre org.jboss.seam.web.cookies y como clase org.jboss.seam.web.HttpCookies. Es un componente sin estado (stateless). Tiene los siguientes métodos:
- public Cookie getRequestCookie(String name) : permite obtener una cookie de la petición HTTP como instancia de la clase javax.servlet.http.Cookie.
- public Cookie[] getRequestCookies() : permite obtener todas las cookies de la petición HTTP como un array de instancias de la clase javax.servlet.http.Cookie.
- public void removeCookie(String name) : permite eliminar una cookie mediante la respuesta HTTP.
- public void addCookie(Cookie cookie)) : permite añadir una cookie mediante la respuesta HTTP. La cookie es una instancia de la clase javax.servlet.http.Cookie.
Este componente se puede utilizar en expresiones EL. Ejemplo:
package es.um.atica.prueba.backbeans; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.validation.constraints.Max; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Create; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; @Name("pruebaHeaderHttp") @Scope(ScopeType.PAGE) public class PruebaCookieHttp { @In("#{cookies.getRequestCookie('mi_cookie')}") private Cookie miCookie; @In("#{cookies.getRequestCookie('JSESSIONID')}") private Cookie miSessionId; }
— JUAN MIGUEL BERNAL GONZALEZ 28/01/2020 13:18
- fdw2.0/fundeweb2.0/gt/modificaciones_jboss_seam/cookies_headers_components.txt
- Última modificación: 28/01/2020 14:27
- por JUAN MIGUEL BERNAL GONZALEZ