삼성SDS_멀티캠퍼스/Spring Frame Work

57일 차 Spring MVC 실전에 최대한 가깝게 (Model 패키지 없이)

박성우기 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번을 많이 사용하신다고 합니다.





































반응형