구조 include하면서 DB접속도 끊기지 않도록 하는 방법) 특정 jsp가 모든 페이지에 보여준 과정정리(HTML

해결 포인트 요약 사진(이 사진 설명은 아래에 단계별로 나와 있다)

  1. @Request Mapping을 배열로 여러 개 설정한다.여기에 넣은 요소는 view폴더 안에 있는 폴더 url에서 보았을 때

이 부분에 대한 조치

2. 카트 DB에서 데이터를 가져오는 Get Mapping을 *로 해준다.그러면 product/로 시작하는 url, basket/로 시작하는 url에 모두 장바구니 DB가 연결된다(단, HTML에 jsp:include로 HTML 구조도 넣어야 한다).

이 과정은 url을 기준으로

이 부분의 처리인 3. Ite mController에 있던 get 메서드를 BasketController에 가져왔다.

가져온 이유: /item으로 끝나는 url에 대한 처리가 2개소(Item Controller, Basket Controller)에서 행해져 충돌이 발생하여 2개소 중 1개소만 처리되었다.그래서 Item Controller 전체를 주석 처리해 버리고 필요한 부분만 Basket Controller에게 가져왔다.

4. Basket Servcie와 Item Service 변수를 별도로 선언하고 /item 관련 부분에 add Attribute를 각각 넣었다.

Basket Servcie와 Item Servic e 변수를 별도로 선언한 이유: Basket Service에 있는 getList() 메소드는 t_basket에 있는 데이터의 산을 가져오는 아이이고, Item Service에 있는 get() 메소드는 t_item에 있는 데이터를 골라오는 아이이기 때문이다.

/item 관련 부분에 add Attribute를 두 번 넣은 이유:url이/item으로 끝나는 아이는 @Get Mapping(“*”)과 @Get Mapping(“/item”)이 충돌한다. 둘 중 하나만 실행돼야 할 것 같다. 그리고 상대적으로 매핑이 더 구체적인 @GetMapping(“/item”)이 자동 선택되어 작동하는 것 같다.그래서 /item으로 끝나는 아이는 아예 @GetMapping(“/item”)으로 처리를 다 몰아가 버렸다 (t_item DB 접속 처리와 t_basket DB 접속 처리)

결과

이렇게 잘 나오는(주소가 /item으로 끝나는 상황이지만 장바구니 영역에도 물건 사진이 잘 나오고 상품 상세페이지 영역의 토마토 사진도 잘 보인다. 이미지엑박스는이과정과관계없는오류)

error: Content is protected !!