반응형
#38강 GET과 POST에 특화된 서비스 함수
- 사용자로부터 요청이 오면 service 함수를 통해서 doGet() 실행되거나 doPost()가 실행된다.
- GET만 처리하는 로직이 필요할 경우엔 service 함수를 오버라이드 하지 않으면, 알아서 doGet()이 호출된다.
1. calculator.html 문서
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="calculator" method="post">
<input type="submit" value="요청">
</form>
</body>
</html>
2. Calculator.java 서블릿 문서
package com.newlecture.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/calculator")
public class Calculator extends HttpServlet {
// GET, POST 한번에 처리해야 할 경우 사용.
// 이때 super.service는 없애는게 바람직하다.
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if (req.getMethod().equals("GET")) {
System.out.println("GET 요청이 왔습니다.");
} else if (req.getMethod().equals("POST")) {
System.out.println("POST 요청이 왔습니다.");
}
// super는 부모꺼 호출.
// 요청에 따른 두 함수(GET, POST)를 호출하게 하는 것.
// 이때 해당하는 메서드를 처리하는 함수가 없으면 오류 발생한다.
super.service(req, resp);
}
// GET요청만 따로 처리할 경우
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGET 메소드가 호출 되었습니다.");
}
// POST요청만 따로 처리할 경우
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPOST 메소드가 호출 되었습니다.");
}
}
반응형
'프로그래밍 > 자바, JDBC' 카테고리의 다른 글
뉴렉처 학습(서블릿/JSP) 39강 (0) | 2020.05.22 |
---|---|
자바 ArrayList (0) | 2020.05.22 |
Json 파서 직접 구현 개념(Json 저장하기/Json불러오기) (0) | 2020.05.20 |
뉴렉처 학습(서블릿/JSP) 37강 (0) | 2020.05.20 |
뉴렉처 학습(서블릿/JSP) 36강 (계산기 만들기) (0) | 2020.05.19 |