JPet Store 1 0 SPRING FRAMEWORK Apache Tomcat

  • Slides: 40
Download presentation
JPet. Store 분석자료 1. 0 SPRING FRAMEWORK 작성자 : 김태완

JPet. Store 분석자료 1. 0 SPRING FRAMEWORK 작성자 : 김태완

구동 및 테스트환경 Apache Tomcat 5. 5 � Eclipse Galileo IDE � JDK 1.

구동 및 테스트환경 Apache Tomcat 5. 5 � Eclipse Galileo IDE � JDK 1. 6 � My-SQL 5. 5 � Spring 2. 5. 5 � i. Batis 2. 3 � � 본 문서는 JPet. Store에서 Web. Service(Spring Remoting, JAX-RPC)와 관련된 부분과 Struts에 관련된 부분을 제외 하고 작성되었다.

Library 라이브러리 용도 jpetstore. jar JPet. Store의 Class파일들. spring. jar Spring의 기본 라이브러리. Spring

Library 라이브러리 용도 jpetstore. jar JPet. Store의 Class파일들. spring. jar Spring의 기본 라이브러리. Spring Core를 비롯하여 기 본적인 라이브러리 내장. spring-webmvc. jar Spring MVC 라이브러리. commons-logging. jar 로깅에 관련되어 있으며 Spring 전반에 걸쳐 사용. aspectjweaver. jar @Aspect. J 애스펙트를 Spring설정으로 사용하기 위함. commons-dbcp. jar, commons-pool. jar Spring에서 Jakarta DBCP(커넥션 풀)을 사용하기 위함. ibatis-2. 3. 2. 715. jar i. Batis 기본 라이브러리. jstl. jar JSTL 지원을 위해 필요함. j 2 ee 기본 라이브러리. standard. jar Jakarta의 JSTL 구현체. axis. jar, saaj-api. jar, wsdl 4 j. jar Apache Axis 프로젝트를 통해 JAX-RPC 리모팅을 사 용하기 위함. jaxrpc. jar Spring 리모팅의 JAX-RPC를 사용하기 위해 필요한 j 2 ee 라이브러리. hessian-3. 1. 3. jar Spring 리모팅이 Caucho의 Hessian 프로토콜을 사용 하기 위함. struts. jar Struts 기본 라이브러리. commons-beanutils. jar, commons-collections. jar, commons-digester. jar, commons-discovery. jar, commons-validator. jar Struts에서 사용하는 Jakarta Commons 프로젝트. hsqldb. jar JPet. Store에서 hsqldb를 사용하기 위함. DB에 따라 필 요없을 수 있음.

환경설정 파일명 용도 web. xml JPet. Store 프로젝트의 배포서술자. application. Context. xml JPet. Store

환경설정 파일명 용도 web. xml JPet. Store 프로젝트의 배포서술자. application. Context. xml JPet. Store 전반에 걸친 공통 Bean 설정. Validator, Property, 퍼사드패턴을 이용한 Business Logic 집합 Bean, 트랜잭션 AOP 설정. data. Access. Context-local. xml JPet. Store의 Data Access Layer. Database 접근에 관련된 공통 Bean 설정. Data. Source 선언, 트랜잭션 매니저, i. Batis 연동을 위한 Sql. Map. Client, 각 DAO 구현체 jdbc. properties Data. Source 를 위한 DB 설정 프로퍼티. log 4 j. properties Log 4 J 설정 프로퍼티. petstore-servlet. xml JPet. Store 의 기본 Dispatcher. Servlet에 대한 설정. View. Resolver, Handler. Mapping, 각종 명령에 대한 Controller Bean. sql-map-config. xml i. Batis의 기본 설정파일. 각 Sql. Map에 대한 설정파일의 위치 기록됨. data. Access. Context-jta. xml JPet. Store의 Data Access Layer. JNDI Data. Source를 사용하여 두개의 Data. Base에 접근하려 할 때 사용함. mail. properties 메일지원 프로퍼티. 내용 없음. remoting-servlet. xml Spring 리모팅을 위한 Dispatcher. Servlet에 대한 설 정. via Hessian, Burlap, Spring’s HTTP invoker에 대한 Bean. server-config. wsdd Axis에 대한 Server 설정인듯. 불명확함. struts-config. xml Spring MVC가 아닌 Struts를 사용할 때의 설정 파일

Database 설정 with i. Batis data. Access. Context-local. xml application. Context. xml jdbc. properties

Database 설정 with i. Batis data. Access. Context-local. xml application. Context. xml jdbc. properties Next Page

Database 설정 with i. Batis sql-map-config. xml Next Page

Database 설정 with i. Batis sql-map-config. xml Next Page

Database 설정 with i. Batis 사용 Example

Database 설정 with i. Batis 사용 Example

JPet. Store 요청 정리 요청 Controller 종류 설명 /shop/index. do 없음. 정적인 뷰 제공.

JPet. Store 요청 정리 요청 Controller 종류 설명 /shop/index. do 없음. 정적인 뷰 제공. JPet. Store의 메인화면으로 가기 위한 요청. /shop/new. Account. do Simple. Form. Controller 회원가입 폼 제공. 폼 Validator. 회원가입. /shop/edit. Account. do Simple. Form. Controller 회원정보 수정 폼 제공. 폼 Validator. 회원정보 수정. /shop/signon. Form. do 없음. 정적인 뷰 제공. 로그인 화면 폼. /shop/signon. do Controller 로그인. /shop/signoff. do Controller 로그아웃. /shop/view. Cart. do Controller 장바구니 목록. /shop/view. Category. do Controller 카테고리 목록. /shop/view. Product. do Controller 해당 카테고리의 상품 목록. /shop/view. Item. do Controller 상품상세정보 화면. /shop/search. Products. do Controller 상품검색 목록. /shop/add. Item. To. Cart. do Controller 장바구니에 해당 상품 추가. /shop/checkout. do Controller 선택한 상품을 체크아웃함. 주문요청함. /shop/remove. Item. From. Cart. do Controller 장바구니목록에서 상품 제거. /shop/update. Cart. Quantities. do Controller 장바구니에서 해당 상품의 구매 요청 갯수 갱신. /shop/new. Order. do Abstract. Wizard. Form. Controller 상품 주문. 주문정보 추가. 폼 Validator. /shop/list. Orders. do Controller 로그인된 회원의 주문 목록. /shop/view. Order. do Controller 주문상세정보 화면. Sign. On 확인. Sign. On. Interceptor 설정.

Project 실행 흐름 Handler. Mapping 1 Bean. Name. Url. Handler. Mapping Controller org. springframework.

Project 실행 흐름 Handler. Mapping 1 Bean. Name. Url. Handler. Mapping Controller org. springframework. samples. jpetstore. web. spring Handler. Mapping 2 Simple. Url. Handler. Mapping 4. 처리 요청 3. 해당 Controller Bean 리턴 5. Model. And. View 리턴 (View 이름) 2. Controller 검색 및 요청 1. Request(*. do) Dispatcher. Servlet Client 8. Response 생성 요청 6. View 검색 및 요청 7. View 리턴 JSP WEB-INF/jsp/spring View. Resolver Internal. Resource. View. Resolver

Model부 실행 흐름 Controller 처리요청 자체처리 Account. Form. Controller Account. Dao Transaction with AOP

Model부 실행 흐름 Controller 처리요청 자체처리 Account. Form. Controller Account. Dao Transaction with AOP Signon. Controller View. Cart. Controller View. Category. Controller DAO Pet. Store. Facade Sql. Map. Account. Dao Category. Dao Sql. Map. Category. Dao DB처리 Pet. Store. Impl Order. Form. Controller Item. Dao . . . Sql. Map. Item. Dao Model. And. View . . .

요청흐름 : 정적인 View 예제 http: //localhost: 8080/jpetstore/shop/index. do 1. petstore-servlet. xml 2. JSP

요청흐름 : 정적인 View 예제 http: //localhost: 8080/jpetstore/shop/index. do 1. petstore-servlet. xml 2. JSP

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 1. petstore-servlet.

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 1. petstore-servlet. xml application. Context. xml Next Page

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH Next Page

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH Next Page

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 2. Pet.

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 2. Pet. Store. Impl. class Next Page

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 3. Sql.

요청흐름 : Controller 구현체 예제 http: //localhost: 8080/jpetstore/shop/view. Category. do? category. Id=FISH 3. Sql. Map. Category. Dao. class Category. xml Next Page