req.getRequestDispatcher("/app/member/join.jsp").forward(req, resp) 코드는 /app/member/join.jsp 페이지로 포워딩하는 코드입니다. 이 페이지는 회원 가입 폼이 있는 페이지입니다.
반면에 new JoinController().execute(req, resp) 코드는 JoinController 클래스의 execute() 메소드를 호출하는 코드입니다. JoinController 클래스는 회원 가입 폼에서 입력한 데이터를 처리하는 컨트롤러 클래스입니다.
따라서, req.getRequestDispatcher("/app/member/join.jsp").forward(req, resp) 코드를 new JoinController().execute(req, resp)로 변경하면, 회원 가입 폼 페이지가 아닌 회원 가입 데이터를 처리하는 컨트롤러 클래스의 execute() 메소드가 호출됩니다. 이는 의도하지 않은 결과를 초래할 수 있습니다.