처음부터 차근차근
get과 post 나눠서 처리하는 방법과 forward와 redirect의 차이 본문
반응형
servlet에서 get과 post 나눠서 처리하는 3가지 방법
- service() 함수 오버라이드해서 직접 if else문으로 나눠 처리
- service() 함수 오버라이드 안하고 doGet(), doPost() 오버라이드해서 처리
- 위에꺼 둘다하기
HttpServlet의 service()함수는 기본적으로 get요청이 오면 doGet()함수를, post요청이 오면 doPost()함수를 실행한다.
그래서 doGet(), doPost()가 override되어있지 않으면 오류가 난다.
1번
@WebServlet("/hi")
public class TestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getMethod().equals("GET")) {
// 코드
}
else if (request.getMethod().equals("POST")){
// 코드
}
}
}
2번
@WebServlet("/hi")
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// get 요청일 때 코드
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// post 요청일 때 코드
}
}
3번
@WebServlet("/hi")
public class TestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 코드
super.service(req, resp); // doGet()이나 doPost() 호출
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// get 요청일 때 코드
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// post 요청일 때 코드
}
}
redirect
response.sendRedirect("test.jsp");
redirect는 현재 작업한 내용과 상관없이 새로운 요청을 할 때 사용하는 것이다.
forward
RequestDispatcher dispatcher = request.getRequestDispatcher("/test.jsp");
dispatcher.forward(request, response);
현재 작업한 내용을 이어갈 수 있도록 request객체와 response객체를 공유하면서 페이지를 이동시킬 때 사용하는 것이다.
출처 : https://www.youtube.com/playlist?list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd 변형 및 요약
반응형
'프로그래밍 > JSP' 카테고리의 다른 글
EL (0) | 2022.01.08 |
---|---|
JSP (0) | 2022.01.06 |
상태유지 방법 (0) | 2022.01.02 |
Servlet Filter (0) | 2022.01.01 |
servlet 한글 깨짐과 쿼리스트링 (0) | 2021.12.31 |
Comments