public String getApplicationUri() {
   try {
     FacesContext ctxt = FacesContext.getCurrentInstance();
     ExternalContext ext = ctxt.getExternalContext();
     URI uri =
         new URI(
             ext.getRequestScheme(),
             null,
             ext.getRequestServerName(),
             ext.getRequestServerPort(),
             ext.getRequestContextPath(),
             null,
             null);
     return uri.toASCIIString();
   } catch (URISyntaxException e) {
     throw new FacesException(e);
   }
 }