MVC *S 모델을 사용하여 로그인을 구현

728x90

MVC의 모델 개념 잡기

MVC *S 를 사용하여 코드를 작성하면 나중에 유지보수가 쉬워지는 장점이 있고 코드가 간결해진다.

MVC S를 사용하면 아래의 클래스를 만들어서 사용하고 각각의 클래스에 맞는 역활의 코드를 작성하여 가독성을 높인다

 

  • Model : 즉 데이터의 집합인 VO 클래스
  • View: 사용자에게 보이는 jsp 클래스
  • Contorller: 리모콘역활을 하는 Servlet 클래스(서버 실행용)
  • Service:
    • 데이터 집합을 이용하여 입출력을 담당하는 DAO(Data Access Object)
    • 그 입출력 데이터 메서드를 활용하는 Service 클래스

처음에는 각각의 클래스와 JSP 그리고 Servlet 클래스로 나누어서 작업하는 것이 헷갈릴 수 있지만, 사용하면서 적응해가면 나중에 작성해놓은 DAO의 메서드도 재활용 할 수 있고, View인 JSP파일의 비슷한 코드도 재활용 할 수 있다.

  • 이렇게 하기 전에는 방금 전에 작성한 코드도 내가 뭘 작성했는지 해석이 불가능한 경험이...

 


웹사이트 기능을 작성할 때 참고해야할 모델 - CRUD

 

웹사이트를 구현할 때 나같은 코린이들은 웹사이트를 클릭만 하면 그 웹사이트 주소 그대로 동적인 변화를 준다고 이해하고 있을 수 있다.

 

하지만 웹사이트는 요청자가 링크를 클릭하거나 기능을 요청하면 웹사이트 주소 자체가 바뀌어 Service 클래스에서 사용자의 요청을 분석하고 DAO 클래스내의 메서드를 실행해 결과 값을 도출한다. 그리고 그 값을 사용자에게 전달해서 동적인 효과를 주는 것이다.

 

이런 변화를 주기 위해선 아래의 모델을 참고해서 작성할 필요가 있다.

 

CRUD

  • C : Create
  • R : Read
  • U : Upload
  • D : Delete

CRUD의 기능을 로그인 기능를 통해 이해해보자.

 

Create, 즉 아이디를 생성할 때 하는 기능으로 사용자가 요청하면 회원가입의 페이지를 통해 아이디를 생성할 수 있다.

Read, 만약 사용자가 본인의 상세페이지를 보고 싶다면 본인의 정보를 읽을 수 있게 도와줘야 한다.

Upload, 사용자의 정보를 수정하고 싶다면 수정하는 기능을 제공한다.

Delete, 사용자가 회원탈퇴를 원하면 탈퇴기능을 제공해야 한다.

 

위 같이 로그인 뿐만 아니라 다른 모든 기능을 CRUD의 개념을 적용하여 프로그램을 작성해야 사용자의 편의를 증대시킬 수 있다.

 

국비학원을 들으면서 기억에 남았던 말.

응답이 없으면 페이지가 아니다.


간략하게 위의 설명한 모델을 실제 클래스와 Servlet 그리고 JSP 만들어놓은 모습

로그인 페이지 그리고 ID와 PW를 입력한 후, 입력된 ID와 PW가 서버에 저장되있는 데이터와 동일할 시 "로그인 성공"이라는 alert가 뜨는 프로그램

 

728x90