서블릿 클래스에서 에러페이지를 호출하는 방법은 jsp와 유사하다.
위와같이 NewAdderServlet클래스와 DataErrorServlet클래스로 구성된다.
NewAdderServlet.java
package com.exam.kch;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class NewAdderServlet
*/
@WebServlet("/NewAdderServlet")
public class NewAdderServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try{
String str1 = request.getParameter("NUM1");
String str2 = request.getParameter("NUM2");
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
int result = num1 + num2;
response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>덧셈 프로그램</TITLE></HEAD>");
out.println("<BODY>");
out.printf("%d + %d = %d", num1, num2, result);
out.println("</BODY>");
out.println("</HTML>");
}catch(NumberFormatException e){
RequestDispatcher dispatcher = request.getRequestDispatcher("DataErrorServlet");
dispatcher.forward(request, response);
}
}
}
DataErrorServlet.java
package com.exam.kch;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DataErrorServlet
*/
@WebServlet("/DataErrorServlet")
public class DataErrorServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>에러화면</TITLE></HEAD>");
out.println("<BODY>");
out.println("잘못된 데이터가 입력됨");
out.println("</BODY>");
out.println("</HTML>");
return;
}
}
출력 화면
아래와 같이 파란색부분에 정상적인 값을 입력하면 결과 값이 잘 나온다.
하지만 다음과 같이 다른 값이 입력되면 에러 페이지로 이동하게 된다.
'프로그래밍 > JSP Servlet' 카테고리의 다른 글
JSP/Servlet - jspInit 메소드와 jspDestroy 메소드 활용 (0) | 2016.01.04 |
---|---|
JSP/Servlet - 서블릿 초기화 파라미터 (0) | 2016.01.04 |
JSP/Servlet - init 메소드와 destroy 메소드 사용하기 (0) | 2016.01.03 |
JSP/Servlet - 익셉션(exception) 타입별로 에러페이지 등록하기 (0) | 2016.01.02 |
JSP/Servlet - jsp 페이지에서 에러 발생시 다른 페이지로 이동하기 (0) | 2015.12.30 |
JSP/Servlet - JSP페이지에서 세션 사용하는 방법 (0) | 2015.12.29 |
JSP/Servlet - 서블릿 클래스에서 세션 기술 사용 방법 (0) | 2015.12.27 |
JSP/Servlet - 쿠키(Cookie) 사용 방법 (0) | 2015.12.27 |