
artoria.exception.support.AbstractServletErrorHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of artoria-extend Show documentation
Show all versions of artoria-extend Show documentation
Artoria is a java technology framework based on the facade pattern.
The newest version!
package artoria.exception.support;
import artoria.common.Result;
import artoria.exception.ExceptionUtils;
import artoria.exception.ServletErrorHandler;
import artoria.util.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static artoria.common.constant.Charsets.STR_UTF_8;
import static java.lang.Boolean.FALSE;
public abstract class AbstractServletErrorHandler implements ServletErrorHandler {
protected static final String TEXT_HTML = "text/html";
protected String createHtmlString(String errorCode, String errorMessage) {
return "\n" +
"\n" +
"\n" +
" An error has occurred. \n" +
"\n" +
"\n" +
" \n" +
" An error has occurred. \n" +
"
\n" +
(StringUtils.isNotBlank(errorCode) ?
" Error Code: " + errorCode + "
\n" : ""
) +
" Error Message: " + errorMessage + "
\n" +
" Please check the log for details if necessary.
\n" +
"\n" +
"\n";
}
protected Object writeHtmlString(HttpServletRequest request,
HttpServletResponse response,
String htmlString) {
// response write html
response.setContentType(TEXT_HTML + "; charset=" + STR_UTF_8);
try { response.getWriter().write(htmlString); }
catch (IOException e) { throw ExceptionUtils.wrap(e); }
// no return
return null;
}
protected Object buildHtmlResult(HttpServletRequest request,
HttpServletResponse response,
Throwable throwable) {
// create html
String errorMessage = throwable != null ? throwable.getMessage() :
"An error has occurred. (Response Status: " + response.getStatus() + ") ";
String htmlString = createHtmlString(null, errorMessage);
// response write html
return writeHtmlString(request, response, htmlString);
}
protected Object buildOtherResult(HttpServletRequest request,
HttpServletResponse response,
Throwable throwable) {
String errorMessage; int respStatus = response.getStatus();
errorMessage = throwable != null ? throwable.getMessage() :
"An error has occurred. (Response Status: " + respStatus + ") ";
return new Result
© 2015 - 2025 Weber Informatics LLC | Privacy Policy