<%@ page contentType="text/plain" %><% // Accumulate all the reasons this request might fail StringBuffer sb = new StringBuffer(); Object value = null; value = request.getAttribute("javax.servlet.error.exception"); if (value == null) { sb.append(" exception is missing/"); } else if (!(value instanceof java.lang.ArrayIndexOutOfBoundsException)) { sb.append(" exception class is "); sb.append(value.getClass().getName()); sb.append("/"); } value = request.getAttribute("javax.servlet.error.exception_type"); if (value == null) sb.append(" exception_type is missing/"); else if (!(value instanceof Class)) { sb.append(" exception_type class is "); sb.append(value.getClass().getName()); sb.append("/"); } else { Class clazz = (Class) value; String name = clazz.getName(); if (!"java.lang.ArrayIndexOutOfBoundsException".equals(name)) { sb.append(" exception_type is "); sb.append(name); sb.append("/"); } } value = request.getAttribute("javax.servlet.error.message"); if (value == null) sb.append(" message is missing/"); else if (!(value instanceof String)) { sb.append(" message class is "); sb.append(value.getClass().getName()); sb.append("/"); } else if (!"ErrorPage05 Threw ArrayIndexOutOfBoundsException".equals(value) && !"ErrorPage08 Threw ArrayIndexOutOfBoundsException".equals(value)) { sb.append(" message is not correct"); } value = request.getAttribute("javax.servlet.error.request_uri"); if (value == null) sb.append(" request_uri is missing/"); else if (!(value instanceof String)) { sb.append(" request_uri class is "); sb.append(value.getClass().getName()); sb.append("/"); } else { String request_uri = (String) value; String test1 = request.getContextPath() + "/ErrorPage05"; String test2 = request.getContextPath() + "/WrappedErrorPage05"; String test3 = request.getContextPath() + "/ErrorPage08"; String test4 = request.getContextPath() + "/WrappedErrorPage08"; if (!request_uri.equals(test1) && !request_uri.equals(test2) && !request_uri.equals(test3) && !request_uri.equals(test4)) { sb.append(" request_uri is "); sb.append(request_uri); sb.append("/"); } } value = request.getAttribute("javax.servlet.error.servlet_name"); if (value == null) sb.append(" servlet_name is missing/"); else if (!(value instanceof String)) { sb.append(" servlet_name class is "); sb.append(value.getClass().getName()); sb.append("/"); } else { String servlet_name = (String) value; if (!"ErrorPage05".equals(servlet_name) && !"ErrorPage08".equals(servlet_name)) { sb.append(" servlet_name is "); sb.append(servlet_name); sb.append("/"); } } // Report ultimate success or failure if (sb.length() < 1) out.println("ErrorPage06 PASSED - JSP"); else out.println("ErrorPage06 FAILED -" + sb.toString()); %> <% Exception e = (Exception) request.getAttribute("javax.servlet.error.exception"); out.println("EXCEPTION: " + e); Class et = (Class) request.getAttribute("javax.servlet.error.exception_type"); out.println("EXCEPTION_TYPE: " + et.getName()); String m = (String) request.getAttribute("javax.servlet.error.message"); out.println("MESSAGE: " + m); String ru = (String) request.getAttribute("javax.servlet.error.request_uri"); out.println("REQUEST_URI: " + ru); String sn = (String) request.getAttribute("javax.servlet.error.servlet_name"); out.println("SERVLET_NAME: " + sn); %>