簡體   English   中英

如果會話不存在,如何將jsf頁面重定向到主頁

[英]How to redirect a jsf page to home page if session does not exist

我正在創建一個JSF應用程序,該應用程序已在主頁面中嵌入了一個applet。 我的問題是我無法弄清楚如何在將applet加載到主頁之前檢查會話是否存在,並且如果該會話不存在,我想將用戶重定向到主頁

我建議使用過濾器:

public class LoggedFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        HttpSession session = httpServletRequest.getSession(false);
        if (session == null) {
            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
            httpServletResponse.sendRedirect(httpServletResponse.encodeRedirectURL(httpServletRequest.getContextPath() + "/"));
        } else {
            chain.doFilter(request, response);
        }
    }

當然,將此過濾器映射到web.xml所有JSF頁面:

<filter>
  <filter-name>LoggedFilter</filter-name>
  <filter-class>LoggedFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>LoggedFilter</filter-name>
  <url-pattern>*.xhtml</url-pattern>
</filter-mapping>

(我假設JSF頁面的后綴為xhtml)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM