2025λ 3μ 27μΌ
MVCλ μννΈμ¨μ΄ μν€ν μ² ν¨ν΄ μ€ νλλ‘,
μ ν리μΌμ΄μ μ μΈ κ°μ§ μν λ‘ λλμ΄ κ΄μ¬μ¬ λΆλ¦¬(Separation of Concerns)λ₯Ό μ€νν©λλ€.
ꡬμ±μμ | μ€λͺ |
---|---|
Model | λΉμ¦λμ€ λ‘μ§κ³Ό λ°μ΄ν° μ²λ¦¬ λ΄λΉ (DB μ°λ λ±) |
View | μ¬μ©μμκ² λ³΄μ¬μ§λ νλ©΄ (HTML, JSP, Thymeleaf λ±) |
Controller | μ¬μ©μμ μ λ ₯μ λ°μ μ μ ν λ‘μ§(Model)μ νΈμΆνκ³ , κ²°κ³Όλ₯Ό Viewμ μ λ¬ |
[μ¬μ©μ μμ²] β Controller β Model β Controller β View
/login
URL μμ²LoginController
κ° ν΄λΉ μμ² μ²λ¦¬UserService
μμ λ‘κ·ΈμΈ κ²μ¦Model
μ λ΄μ Viewλ‘ μ λ¬ [Browser]
β μμ²
ββββββββββββββββ
β Controller β β μ¬μ©μμ μμ² μ²λ¦¬
ββββββββββββββββ
β
ββββββββββββββββ
β Model β β DB μ²λ¦¬, λΉμ¦λμ€ λ‘μ§
ββββββββββββββββ
β
ββββββββββββββββ
β View β β νλ©΄ μΆλ ₯
ββββββββββββββββ
β μλ΅
public class UserDto {
private String userid;
private String password;
// getter/setter μλ΅
}
@WebServlet("/login")
public class LoginController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String id = request.getParameter("userid");
String pw = request.getParameter("password");
boolean result = userService.login(id, pw);
if(result)
request.getRequestDispatcher("/home.jsp").forward(request, response);
else
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
<!-- login.jsp -->
<form method="post" action="/login">
μμ΄λ: <input type="text" name="userid" />
λΉλ°λ²νΈ: <input type="password" name="password" />
<button type="submit">λ‘κ·ΈμΈ</button>
</form>
νλͺ© | μ€λͺ |
---|---|
κ΄μ¬μ¬μ λΆλ¦¬ | κ° κ³μΈ΅μ΄ λ 립μ μΌλ‘ μν μν β μ μ§λ³΄μ μ©μ΄ |
νμ ν¨μ¨ | λμμ΄λ(View), κ°λ°μ(Controller, Model) κ° μν κ΅¬λΆ |
νμ₯μ± | κΈ°λ₯ μΆκ°, ꡬ쑰 λ³κ²½ μ μ μ°νκ² λμ κ°λ₯ |