=== modified file 'src/com/goldencode/p2j/main/WebHandler.java' --- src/com/goldencode/p2j/main/WebHandler.java 2016-01-28 12:40:59 +0000 +++ src/com/goldencode/p2j/main/WebHandler.java 2016-02-05 10:27:09 +0000 @@ -240,7 +240,7 @@ errorMessage = htmlErrorMessage(webSpawner.getExitCode(), userName); // return a page having containing error message - doGet(target, base, request, response); + sendError(errorMessage, base, request, response); // reset error message errorMessage = ""; @@ -293,6 +293,51 @@ } /** + * Sends the error message to the client. + * + * @param error + * The error message to the client. + * @param base + * The base request. + * @param request + * The http request. + * @param response + * The http response. + */ + private void sendError( + String error, + Request base, + HttpServletRequest request, + HttpServletResponse response) + { + response.setContentType(MimeTypes.Type.TEXT_HTML.asString()); + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + response.setHeader(HttpHeader.CACHE_CONTROL.asString(), + "no-cache, no-store, must-revalidate"); + response.setDateHeader(HttpHeader.EXPIRES.asString(), 0); + + try + { + PrintWriter writer = response.getWriter(); + writer.println(error); + writer.flush(); + } + catch (IOException ioe) + { + LOG.logp(Level.SEVERE, + "WebHandler.sendRedirectPath()", + "", + LogHelper.generate("IOException!"), + ioe); + } + finally + { + // mark the request as handled + base.setHandled(true); + } + } + + /** * Process the given string and make any replacements of parameter * values as needed. The replacement placeholder follow the JEE * expression language (EL) format for immediate evaluation. @@ -332,7 +377,7 @@ */ private String htmlErrorMessage(int exitCode, String userName) { - StringBuilder sb = new StringBuilder("

"); + StringBuilder sb = new StringBuilder(); if (PlatformHelper.isUnderWindowsFamily()) { @@ -386,7 +431,6 @@ } } - sb.append("

"); return sb.toString(); } } === modified file 'src/com/goldencode/p2j/main/web_client.html' --- src/com/goldencode/p2j/main/web_client.html 2016-01-28 14:56:08 +0000 +++ src/com/goldencode/p2j/main/web_client.html 2016-02-05 10:25:53 +0000 @@ -42,6 +42,12 @@ window.location.assign(httpRequest.responseText); } } + else if (httpRequest.status === 401) + { + var msg = httpRequest.responseText; + var errorNotifier = document.getElementById("error"); + errorNotifier.textContent = msg; + } } } catch(ex) @@ -104,7 +110,9 @@ -
${error}
+
+

${error}

+