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é.
Découvrez la planche #6 !
Un système d'information en constante expansion, avec un nombre croissant d'applications, voit sa complexité augmenter, rendant la communication entre ses différentes applications un véritable défi. Pour surmonter ce problème, diverses solutions existent, telles que les agents de messages. Dans cet article, nous ferons un focus sur celui qui se démarque le plus, Apache Kafka. Bonne lecture !
Il existe un mécanisme de lock sur les EJB permettant de verrouiller celui-ci. Cela permet de définir, quand le Bean est accessible pour traiter une requête.