이것은 pom.xml jar없이 사용할수있다
<dependencies>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.5.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
</dependencies>
이것은 web.xml 오류페이지로 보내준다
<error-page>
<error-code>405</error-code>
<location>/errorHandler405</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/errorHandler</location>
</error-page>
<error-page>
<exception-type>java.lang.ArrayIndexOutOfBoundsException</exception-type>
<location>/errorHandler</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/errorHandler</location>
</error-page>
서블릿에서 보내주는 오류안내 페이지
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
Integer code = (Integer)request.getAttribute("javax.servlet.error.status_code");
String message = (String)request.getAttribute("javax.servlet.error.message");
Object type = request.getAttribute("javax.servlet.error.exception_type");
Throwable exception = (Throwable)request.getAttribute("javax.servlet.error.exception");
String uri = (String)request.getAttribute("javax.servlet.error.request_uri");
out.print("<h2>Error Code : " + code + "</h2>");
out.print("<h2>Error Message : " + message + "</h2>");
out.print("<h2>Error Type : " + type + "</h2>");
out.print("<h2>Error Object : " + exception + "</h2>");
out.print("<h2>Error URI : " + uri + "</h2>");
}