Supprimer les jsessionid des urls pour un meilleur référencement de vos pages dans les applications JEEJava Entreprise Edition
Ceci n’est pas un bug mais le fonctionnement de base de JEEJava Entreprise Edition qui crée une session. Ne sachant pas si le navigateur du client possède la fonctionnalité des cookies, java préfère passer la session dans l’url.
Pour ce faire, il suffit de créer un filter comme expliqué dans l’excellent post suivant:
http://java.dzone.com/articles/java-jsessionid-harmful
Créer une classe java suivante:
public class URLSessionFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (!(request instanceof HttpServletRequest)) {
chain.doFilter(request, response);
return;
}
HttpServletResponse httpResponse = (HttpServletResponse) response;
HttpServletResponseWrapper wrappedResponse = new HttpServletResponseWrapper(
httpResponse) {
public String encodeRedirectUrl(String url) {
return url;
}
public String encodeRedirectURL(String url) {
return url;
}
public String encodeUrl(String url) {
return url;
}
public String encodeURL(String url) {
return url;
}
};
chain.doFilter(request, wrappedResponse);
}
public void init(FilterConfig filterConfig) {
}
public void destroy() {
}
}
Et renseigner ce filter dans votre web.xml:
<filter>
<filter-name>URLSessionFilter</filter-name>
<filter-class>com.framework.filter.URLSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>URLSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
C’est tout! Le paramètre jsessionid disparait tout simplement des urls lors de la première connexion.
Attention néanmoins si vous utiliser pretty faces, il est important de placer ce filter avant le filter de prettry faces, sinon pretty-faces sera comme désactivé.
Comprendre les performances en Java Springboot et les optimiser.
Découvrez comment évaluer et gérer la dette technique au sein de vos systèmes d'information pour optimiser la performance et l'évolutivité de vos applications.
Comment mettre en place l’accessibilité mobile sur IOS et Android pour les personnes en situation de handicap ?