본문 바로가기
개발/Framework || Lib

step by step2-2

by 백아절현 2007. 10. 4.

자 이제 드디어 .do 바꾸는것과 둥둥떠댕기는 bean객체에서 뭐좀 가져와보고, 프로퍼티 파일도 좀 건드려 봅시다. 또 경로 다쓰는것도 귀찮으니 고놈도 좀 바꾸고...

오렌지 색 보이시죠~ htm을 do로 바꾼부분입니다! ㅋㅋㅋ 이 이전에 web.xml에 보면
  <servlet-mapping>
    <servlet-name>springTest</servlet-name>
    <url-pattern>*.htm</url-pattern>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

이부분이 있는데 오렌지 색 부분 추가 ㅋㅋ 이로서 .do진입 -_-;
위에 보면 갈색으로 bean 되어있는부분 보이시죠 이부분이 쓰잘데없는 경로를 짧게 줄여주는 부분입니다. 보면 /WEB-INF/jsp 하고 다음줄에 .jsp 라고 적혀있는걸 보니 대충 보이시죠?
한마디로 우린 경로를 다 안적고 이제부턴 걍 hello 이렇게만 적는다는겁니다. 어디서?
이담에서 -_-;

다른부분 하나도 안바뀌고 경로부분의 "hello"만 바뀌었죠? ㅎㅎ 이제부턴 다 적지말고 요놈만 적으면 댑니다 ㅎ
벌써 .do와 자질구레한 경로 다적는부분을 다했네요 이제 객체 가져와 쓰는법에 대해 이야기 해보죠

그러기 위해선 객체를 만들어야 할터


암것도 없는 걍 객체 입니다. get과 set메소드만 가지고 있습니다.(이클립스에서 패키지 만드시면 알아서 폴더 만들어 줍니다~)
 자 그럼 계속해서 컨트롤러 부분

갈색부분이 추가할 부분입니다. 대충 보니 get , set, Map형 myModel 에 put하고 있죠
저부분이 시간인 now와 우리가 가져다쓸 bean입니다.
이제 view부분인 jsp부분

뭐가 또 자질구레한게 많이 늘었죠? ㅎ fmt:message부분은 메시지번들 부분입니다. 프로퍼티에서 값을 가져오는거죠... key부분이 title뭐이런 항목을 찾아 그값을 가져오는것입니다.
<c:forEach 부분은 for문입니다.
변수 prod 가 model.products 값을 본다(?) 뭐 대충 조건문입니다.;
왜 for(int i=0;i >10;i++) 이렇게 하잖아요 i >10 같은 뭐 그런? 비유가 이상한가?; 뭐 어쨌든 그런부분이고...
안에 있는  <c:out value="${prod.description}"/> <i>$<c:out value="${prod.price} 이넘들은
위의 변수 prod에 description을 찾아오란 말이죠 -_-; 위의 Porduct.java에 보면 더블형으로 선언되어있고 get / set하는 부분이 있습니다.

아직 이해하기 힘드시죠? 히밤 왜 import나 bean 선언도 안하고 사용을 하는지 -_-;
안해도 댑니다; xml에 보면 다 선언되어있고 빈이 둥둥~ 떠댕긴다고 생각하면 대요 ㅋ
view 부분은 선언없이 떠댕기는 빈을 사용만하면 됩니다.(맞나?)
제 짧은 지식으론 이렇게 밖에 이해가 안되는군요;;
하여튼 어려운말로 spring이 직접 bean의 라이프 사이클을 관리한다니...
지가 알아서 해주겠죠모..;
이제 xml부분을 좀 건드려야겠죠? 어디 선언되어있는지 봅시다.


우와.. 많기도 하네요; 차근차근 짚어봅시다...;
<bean id="springTestController" class="web.SpringTestController">
<property name="productManager">  -->요이름으로 쓰면

<ref bean="prodMan"/>                   -->요놈을 참조합니다. 그래서 바로밑에보면 요놈이 있죠?
        </property>
    </bean>

    <bean id="prodMan" class="bus.ProductManager">
        <property name="products">        
            <list>
                <ref bean="product1"/>
                <ref bean="product2"/>
                <ref bean="product3"/>
            </list>
        </property>
    </bean>

    <bean id="product1" class="bus.Product">
        <property name="description"><value>Lamp</value></property>
        <property name="price"><value>5.75</value></property>
    </bean>
       
    <bean id="product2" class="bus.Product">
<property name="description"><value>Table</value></property>
        <property name="price"><value>75.25</value></property>
    </bean>

    <bean id="product3" class="bus.Product">
        <property name="description"><value>Chair</value></property>
        <property name="price"><value>22.79</value></property>
    </bean>

    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename"><value>messages</value></property>
    </bean>
다 마찬가지 입니다. id는 이름, class는 실제 class, name은 항목, value는 값
킁;; 대충 이해하세요..
마지막에 메시지소스 라는 이름가진 빈이 있죠... 이넘이 프로퍼티 파일을 정해주는 넘입니다. messages.properties 파일을 보죠 이 파일에 다넣을순 없으니 나중에
resource.messages 라고 해주시고 messages파일을 resource폴더에 넣으시면 거기있는 messages로 시작하는 모든놈을 다 읽습니다.
messages_ko , messages, messages_jp 뭐 이런식으로 댄놈들요
한마디로 없으면 단놈을 찾는단 소리.... 나중에 다국어 지원에도 나올 예정이죠....
아까 hello만 쓰면 된다는 부분이있었죠?
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
        <property name="prefix"><value>/WEB-INF/jsp/</value></property>
        <property name="suffix"><value>.jsp</value></property>
    </bean>
바로 요놈때문에 그럴수있는겁니다~ ㅋ

흠 그럼 계속해서...
이넘을 경로에 만들어 주시면 됩니다. 더 해보고싶으신 분들은 아까 위에 제가 말한것 처럼 수정해보세요 그리고 view부분에 <fmt: 부분으로 더 넣어보시면 됩니다.
만약에 ?? 뭐 이런식으로 나오면 찾지 못하는 거니 경로나 파일명 똑같이 해주셔야 합니다.

사용자 삽입 이미지
요놈이 나오면성공~
아까 깜박하고 대충 넘어가서 글을 안적었네요 forEach 부분 기억하시죠? products 부분 출력하는거요 암것도 없는데 걍 출력하잖아요~

그부분이 xml의 빈에 선언이 되어있습니다. value에 보면 저 값들이 다 들어있어요
항목도 다 구분되어있구요 ㅎ

화면 나오면성공! 아님 삽질 ㄱㄱ~
담편은 공부해서 -_-; 지금부터 공부.... ㅜ.ㅜ


'개발 > Framework || Lib' 카테고리의 다른 글

스프링 예제 설명되어있는 블로그  (1) 2007.10.24
SiteMesh  (0) 2007.10.17
step by step2-1  (0) 2007.10.04
step by step1-2  (0) 2007.10.03
step by step1-1  (0) 2007.10.03

댓글