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");
}

}
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 주소로 이동하여 다음과 같은 페이지가 나온다.