ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 57일 차 Spring MVC 실전에 최대한 가깝게 (Model 패키지 없이)
    삼성SDS_멀티캠퍼스/Spring Frame Work 2015. 11. 27. 14:43
    반응형

    **시나리오**





    main.do : 메인페이지를 요청/파라미터는 없음

              로그인 되있다면 session에 회원정보가 들어있음

              main.jsp로 포워드


    loginForm.do : 로그인 페이지를 요청/파라미터 없음

    loginForm.jsp로 포워드


    login.do : 입력한 아이디 비번으로 로그인을 요청

    파라미터 id, pw

    로그인이 성공한다면 session에 회원정보를 담아서 main.do리다이렉트

    실패한다면 loginForm.do로 리다이렉트


    logout.do : 메인페이지에서 로그아웃을 요청/파라미터 없음

    session의 회원정보를 삭제 하고 main.do로 리다이렉트


    memberList.do : 회원들의 정보를 보기위한 요청

    파라미터는 없음

    모든 회원들의 정보 리스트를 attribute로 들고

    memberList.jsp로 포워드




    Service

    - 로그인이 성공하는지 판별할 수 있는 기능(매개변수로 id,pw을 받음)

    - 모든 회원들의 정보 리스트를 구해주는 기능



    Dao

    - id에 해당하는 회원 레코드를 조회해주는 기능

    - 모든 회원 정보를 조회해주는 기능





    main.do : 기본 페이지, 모든 상품의 리스트를 보여주는 페이지를 요청

    파라미터 x, attribute에 상품리스트, main.jsp 포워드


    registerForm.do : 상품등록을 위한 폼 페이지를 요청

    파라미터 x, registerForm.jsp로 포워드


    register.do : 상품등록 작업을 요청

    파라미터 : 아이디(id), 이름(name), 가격(price), 상품설명(desc)

    파라미터로 들어온 정보를 이용해 상품을 등록하고

    main.do로 리다이렉트


    delete.do : 메인페이지의 상품리스트중에서 각 상품에 달려 있는 삭제버튼

    에 의해서 발생하는 요청, 해당상품을 삭제하는 요청

    파라미터 : id

    해당 id의 상품을 삭제하고

    main.do로 리다이렉트


    updateForm.do : 상품을 수정하기 위한 폼을 요청

    파라미터 : id

    id에 해당하는 상품의 정보를 구해와서 attribute에 담고

    updateForm.jsp로 포워드


    update.do : 상품 수정 작업을 요청

    파라미터 : id, name, price, desc

    파라미터로 들어온 id에 해당하는 상품을 나머지 값으로 수정하는 작업

    main.do로 리다이렉트


    필요한 로직

     - 모든 상품 리스트를 가져오는 로직() - List<Produce>

     - 상품을 등록하는 로직(Product) - void

     - 상품을 삭제하는 로직(id) - void

     - 특정 상품의 정보를 구해오는 로직(id) - Product

     - 상품을 수정하는 로직(Product)


    필요한 디비기능

     - 모든 레코드 조회

     - 하나의 레코드 추가

     - 하나의 레코드 삭제

     - 하나의 레코드 조회

     - 하나의 레코드 수정


    필요한 라이브러리

     - Spring core

     - Spring context

     - Spring web

     - Spring web-mvc

     - Spring jdbc

     - mybatis

     - mybatis-spring

     - mysql-connector

     - jstl










    스프링 MVC에서 다양한 반환유형


    1.데이터와 뷰의 정보가 둘다 있는 경우 → ModelAndView

    2.뷰의 정보만 있는 경우 → String, View, , , 

    3.데이터의 정보만 있는 경우 → Map, Model, 사용자가 만든 Model , , , View는 ?!?!?!?

    4.둘다없는 경우 ?!?!?







    2번의 예시







    3번은 왠만하면 하지마세요






    4번의 예시 (왠만하면 하지마세요)











    2번을 응용하면 이렇게 할 수 있습니다






    스프링에서는 1번 방법을 많이들 쓰신다고 하는데


    스트럿츠때 부터 하시던 분들은 2번을 많이 사용하신다고 합니다.





































    반응형
Designed by Tistory.