@WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/newform")
public class MemberFormServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter w = response.getWriter();
w.write("<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
" <meta charset=\"UTF-8\">\n" +
" <title>Title</title>\n" +
"</head>\n" +
"<body>\n" +
"<form action=\"/servlet/members/save\" method=\"post\">\n" +
" username: <input type=\"text\" name=\"username\" />\n" +
" age: <input type=\"text\" name=\"age\" />\n" +
" <button type=\"submit\">전송</button>\n" +
"</form>\n" +
"</body>\n" +
"</html>\n");
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/jsp/members/save.jsp" method="post">
username: <input type="text" name="username" />
age: <input type="text" name="age" />
<button type="submit">전송</button>
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
그래서 나온 것이 MVC 패턴!
(1) 컨트롤러(Controller)
(2) 모델(Model)
(3) 뷰(View)
cf)
컨트롤러에 비즈니스 로직을 둘 수도 있으나, 이 경우 컨트롤러가 너무 많은 역할을 담당하게 되므로 Service 계층을 별도로 만들어서 처리한다.
(1) 포워드 중복
(2) ViewPath에 중복
(3) 사용하지 않는 코드
(4) 공통처리가 어려움
위 문서는 김영한 스프링 MVC 1편 강의를 기반으로 작성되었습니다.