[JSP] HttpServlet : 실습(2)

Minit88·2023년 1월 20일
0

[Web]

목록 보기
4/9
post-thumbnail

TodoRegisterController는 특이하게도 GET 방식으로 호출되는 경우에는 입력할 수 있는 화면을 보여주고,post 방식으로 호출되는 경우에는 등록이 처리된 후에 다시 목록 페이지(/todo/list)를 호출하게 된다.(sendRedirect())

package org.zerock.w1.calc.todo.service;

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;
import java.io.IOException;

@WebServlet(name = "todoRegisterController",urlPatterns="/todo/register")
public class TodoRegisterController extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException {
        System.out.println("입력화면을 볼 수 있도록 구성");

        RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/todo/register.jsp");

        dispatcher.forward(req,resp);
    }
    @Override
    protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException {
        System.out.println("입력을 처리하고 목록 페이지로 이동");
        resp.sendRedirect("/todo/list");
    }![](https://velog.velcdn.com/images/minit88/post/7ac7470f-25f9-4a2d-828c-da0dad3e8423/image.png)
![](https://velog.velcdn.com/images/minit88/post/3e71e5c8-08db-4b7c-bc10-fcf84cca6900/image.png)


}

GET과 POST를 모두 처리해야 하기 때문에, doGet(),doPost()를 구현한다.
와이어 프레임으로 보면 GET 방식으로 호출되는 경우 등록 화면을 보는 구조이므로,RequestDispatcher를 이용해서 JSP를 보도록 작성한다. /todo/register.jsp를 수행하기 위해 다음과 같이 코드를 작성한다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/todo/register" method="post">
  <button type="submit">등록 처리</button>
</form>
</body>
</html>

/todo/register 을 실행하면 다음과 같은 페이지가 뜨게 된다.

버튼을 누르게 되면, 지정된 /todo/list 주소로 이동하여 다음과 같은 페이지가 나온다.

profile
" To be BE "

0개의 댓글