220727 오늘의 훈련 mvn/오류처리

(。◠ ◠。)·2022년 7월 28일

이것은 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>");
	}
profile
화이탱!

0개의 댓글