목록(2019) 소스코드 분석-Best Practice/jpetstore-6-master (5)
공부한것들을 정리하는 블로그 입니다.
보호되어 있는 글입니다.

jpetstore-6 예제들은 기본적으로 MVC(Model-View-Controller)를 지키고 있습니다. 화면 및 소스 캡처를 병행하여 이벤트의 흐름대로 진행해보겠습니다. 참고로, 우측상단의 메뉴 및 console로그 등 몇가지 소스들은 제가 실습을 위해 임의로 추가한 것들입니다. jpetstore-6 프로젝트 내의 소스코드들과 크게 다른점은 없으니 이해하시는데 지장은 없을 것입니다. id/password는 j2ee/j2ee 또는 ACID/ACID로 접속하시면 됩니다. Main.jsp - 상단메뉴 또는 좌측메뉴의 버튼을 클릭하시면 Category로 넘어가게 됩니다. Category.jsp CatalogActionBean.java - viewProduct() CatalogActionBea.java ->..

EL의 기본문법을 살펴보면 아래와 같습니다. ${param1.param2} 인 경우, param1.getParam2() 와 동일합니다. 즉 ${actionBean.cart.cartItems} 의 경우에는 new Cart(), new CartItems() 생성자가 호출되고 getCart() 와 getCartItems() 모두 실행됩니다. 화면 및 소스 캡처를 병행하여 이벤트의 흐름대로 진행해보겠습니다. 참고로, 우측상단의 메뉴 및 console로그 등 몇가지 소스들은 제가 실습을 위해 임의로 추가한 것들입니다. jpetstore-6 프로젝트 내의 소스코드들과 크게 다른점은 없으니 이해하시는데 지장은 없을 것입니다. Main.jsp CartActionBean.java viewCart2() Cart2.jsp ..

HSQLDB란, 개발시에 간단히 쓸 수 있는 순수자바로 개발된 데이터베이스입니다. 파일베이스이며 별도의 설치없이 .jar 파일만 이용해서 사용이 가능합니다. hsqldb를 사용하기 때문에, 초기에 서버 구동시 매우 느립니다. 실행 인자를 통해 영속성이 보장되는 파일 방식인지 휘발성인 메모리 방식인지 정할 수 있습니다. 아무 설정없이 그냥 사용하시면 서버 재기동시 자료가 모두 날아갑니다. (jpetstore-6 프로젝트에 존재하는 파일들은 남아있고, 그외에 사용자가 추가 및 변경한 데이터가 날아갑니다.) 위의 특성으로 인하여 사이트 접속 후 로그인 해놓은 상태에서(세션에 저장됨) 서버 재기동시 500 error가 발생할 것입니다. 이를 해결하기 위한 방법으로 브라우저-쿠키-세션-초기화를 매번 해주거나 또는..
jpetstore-6 Mybatis에서 Spring 기반으로 제작한 샘플입니다. 굉장히 유명한 샘플이지만 또 굉장히 오래된 프로젝트입니다. DBMS는 HSQLDB로 되어있으며 MyBatis 3, Spring 4 and Stripes 로 구성되어 있습니다. Stripes 로 구현되어 있기 때문에 일반적인 Spring 코드와는 많은 차이가 있습니다. 개인적으로 jpetstore-6 를 다루며 그 특징이라고 볼 수 있는 Stripes, Mapper, HSQLDB 의 조합은 참 신기하고 재미있었습니다. 실습시 id/password는 j2ee/j2ee 또는 ACID/ACID로 접속하시면 됩니다. 다운로드주소(깃헙) 참고 : https://github.com/mybatis/jpetstore-6/tree/master..