ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [jsp] MVC패턴1 으로 프로젝트 구성 (구성중)
    기초/JSP 2017. 3. 22. 12:54

    MVC방법으로 프로젝트를 만드려고 한다. 

    #MVC 패턴

    뷰 (view) : 사용자에게 보여지는 구간


    뷰 >> 뷰로 이동하는게 아니다

    뷰 >> 서블릿 >> 뷰로 이동한다.

    이때 서블릿은 DB에 접근해서 데이터처리를 통해 사용자에게 뷰를 제공하낟.


    ex) 로그인이 안되있을 때 login페이지 로그인 되있으면 member 페이지..


    조정 (Controller) : 실질적으로 데이터가 처리되는 구간

    서블릿이 DB접근, ID체크, CRUD메소드를 각각 서블릿에 구현하지않고

    DB에 관련된 클래스를 만들어 호출하는 형식으로 사용한다.

    이러한 DB관련 메소드를 가지고 있는 클래스가 DAO다.


    서블릿 >> DAO에서 메소드 호출 >> DB접근 >> 데이터처리 >> 뷰


    이런 형식이 만들어 지는것이다.


    DAO : Data Access Object

    DB에 관련된 메서드를 가지는 클래스( db연결, crud메서드)

    crud : c: create(insert)     r : read(select)     u : update     d : delete

    >>DAO(객체)의 목적은 서블릿이 DB에 접근하는 메서드들의 집합체 역할이다.


    모델 (model) : 데이터 단위

    return값은 0 or 1개이다.

    하지만 여러개의 데이터처리(insert, delete, update...)에서 데이터들을 가져올 때

    변수 하나하나를 가져오는게 아니라 객체단위로 묶어서 가져온다


    이러한 데이터 단위를 객체로 묶은 클래스가 DTO이며 

    단위가 정해져있으니깐 실제 데이터를 저장할 클래스 ValueObject를 만들며 이 클래스는 Bean규약을 가진다.


     Model =>>>> DTO = VO = Bean

    DTO : Data Transfer Object
    VO : Value Object
    Bean 규약 : 멤버변수는 private  멤버변수 접근은 getter / setter

    그림으로 .. 그리느라 ... 힘들었습니다...





    구성


    = 멤버쉽 게시판 =

    페이지 명세 


    뷰 (jsp) - 

      member 폴더

    login.jsp                   아이디, 비번

    >> 로그인에 실패하면 main으로 이동할 수 없다.

    >> idCheck.jsp


    join.jsp                    가입 페이지

    >> 회원가입 페이지로써 가입이 완료되면 다시 login페이지로 이동

    >> 자바코드는 서블릿으로

    >> insert(of DAO)


    idCheck.jsp              id 중복/사용 여부 체크하는 양식

    >> 로그인을 체크한다 로그인이 성공하면 main으로 이동한다

    >> userCheck(of DAO)


    memberUpdate.jsp    회원정보 수정


    WebContent 폴더

    main.jsp     (로그아웃, 회원정보수정, #회원탈퇴) : 로그인이 성공된 다음의 회원페이지를 만든다.

    로그아웃 : 따로 폼이 필요없다

    회원정보수정 : memberUpdate.jsp    >> 데이터수정은 서블릿으로

    회원탈퇴 : 비밀번호만 체크하는 곳이랑 


    index.jsp                web.xml에 등록되어있는 페이지로써 naver.com/index.htm으로 이동되지않고 

    naver.com으로 이동되는 대문 같은 페이지


    @컨트롤 (서블릿)

    com.koreait.controller    매핑값(확장자 패턴)

    IdCheckServlet               -    /idCheck.do

    JoinServlet                   -     /join.do

    LoginServlet                 -     /login.do

    LogoutServlet               -     /logout.do

    MemberUpdateServlet    -    /memberUpdate.do


    com.koreait.dao.MemberDAO    (DB연동 / 메서드 CRUD sql / id 체크) -> 클래스



    모델 

    com.koreait.dto.MemberVO    -> 클래스


    페이지 요소 - view에 들어갈 css, js, ....

    WebContext 폴더

    script 폴더

    member.js (입력 확인)





    *작성 순서

    #1 DB에 맞춰서 모델 클래스를 생성한다


    sql > create로 생성된 table을 그대로 가져와서 자바 변수로 바꿔준다.


    class Member{

    private String name;

    private String id;

    private String pw;

    private String phone;

    private String email

    private int admin;

    //기본 생성자 getter/setter, toString

    }



    #2 DAO 메서드 틀을 제작한다.

    DB연결해서 권한을 가져오는 것은 한번만 만든다 > 싱글턴패턴을 사용한다

    그리고 메서드로 계속 부르겠다.


    싱글턴 패턴 : 생성자는 private를 가지고 있으며 생성자는 다른 메서드의 return값의 new로 반환된다


    [DAO 생성메서드]

    id : primary key

    1) public int userCheck(String id, String pwd){} >>user체크 //id와 pwd가 필요


    2) public MemberVO getMember(String id){} 

    >> Member를 가져오는데 name, id, pw, phone..등등 가져와야되는데 return 값은 하나여서 객체로 리턴받는데

    >> 그때 사용되는게 MemberVo.java(Model객체)


    3) public int confirmID(String id){} >> id 체크 >> boolean타입으로 안하는이유는 없는지 있는지 틀린지 << 여러개의 상황으로 처리


    4) public void insertMember(MemberVO vo){}


    5) public void updateMember(MemberVO vo){}


    6) public void deleteMember(MemberVO vo){}




    #3 뷰 페이지부터 설계를 시작한다.


    view > servlet > view > servlet > ... 이렇게 뷰와 뷰사이에는 항상 서블릿에서 이동한다.


    >view>1) index.jsp >> 

    로그인을 하려고 한다. 타이틀은 북마크를 생각해서 자세한 내용을 적는다 

    ex) 회원관리 홈페이지::자바프로젝트::jsp프로젝트


    >servelt> 2) LoginServlet.java(로그인체크) >> 

    세션(getSession)에 로그인 정보가 있으면 회원전용페이지(미정)로 

    없으면 login.jsp로 이동한다. >move> 3) login.jsp 이동


    이때 페이지이동 기술은 쿼리스트링을 사용하는 response.sendredirect가 아니라 

    url, request ,response 파라매터를 사용하는 request.Dispatcher.forward를 사용한다. 



    >view> 4) 로그인 창으로 로그인버튼과 회원가입버튼으로 경로가 나뉜다.

      여기서 id와 pwd에 대한 유효성검사를 js에서 해준다.     >> 회원전용페이지(미정)


    >js> 5) id와 pwd가 입력되지 않으면 메세지 창을 띄워준다.


    >move> 6) 회원가입 버튼을 누르면 joinServlet으로 이동한다. 


    >servlet> 7)??     >move> 8)회원가입페이지(join)으로 이동한다.


    >view> 9)회원가입페이지(join)에서는 모든value값을 넣을 수 있는 폼이나온다


    >window 창 move> 10) id 중복체크를 한다 이때는 id체크를 위한 다른 창을 열어서 확인을한다.

    id체크를 위한 text,와 hidden을 만든다.

    >servlet> 입력된 id를 가져와서 DAO를 통해서 DB에서 검사한다.




    >> 7) joinServlet(서블릿) 회원정보를 서블릿에서 insert해줘야 한다.

    insert메서드는 DAO에 있으므로 DAO에서 꺼내쓴다.






    '기초 > JSP' 카테고리의 다른 글

    [JSP] MVC패턴2로 프로젝트 구성 (제작중)  (0) 2017.03.29
    [JSP] 페이지 이동 기술  (0) 2017.03.23
    [JSP] JSP DB연동 3가지 방법  (4) 2017.03.21
    [JSP]데이터 베이스  (0) 2017.03.20
    [JSP] DB 환경설정(sql developer, eclipse)  (2) 2017.03.17

    댓글

Designed by Tistory.