index 화면이 열리기까지의 과정이다.


1. globals.properties에 main page 경로 정의

(/egov_portal_shop/src/main/resources/egovframework/egovProps/globals.properties)

Globals.MainPage = /cmm/main/mainPage.do


2. controller 에서 정의

requestMapping의 value 에 Globals.MainPage 값을 넣어 준다.

각종 조회한 뒤 addAttribute로 넣은뒤

jsp로 넘긴다.("main/EgovMainView")

    @RequestMapping(value = "/cmm/main/mainPage.do")
    public String getMgtMainPage(HttpServletRequest request, ModelMap model)
      throws Exception{

        // 공지사항 메인 컨텐츠 조회 시작 ---------------------------------
        //model.addAttribute("notiList", map.get("resultList"));
        // 공지사항 메인컨텐츠 조회 끝 -----------------------------------

        // 자유게시판 메인 컨텐츠 조회 시작 ---------------------------------
        model.addAttribute("bbsList", bbsMngService.selectBoardArticles(boardVO, "BBSA02").get("resultList"));
        // 자유게시판 메인컨텐츠 조회 끝 -----------------------------------

        // FAQ 메인 컨텐츠 조회 시작 ---------------------------------
        //model.addAttribute("faqList", faqManageService.selectFaqList(searchVO));
        // FAQ 메인 컨텐츠 조회 끝 -----------------------------------

        // 설문참여 메인 컨텐츠 조회 시작 -----------------------------------
        //model.addAttribute("qriList", egovQustnrRespondInfoService.selectQustnrRespondInfoManageList(qVO));
     // 설문참여 메인 컨텐츠 조회 끝 -----------------------------------


        return "main/EgovMainView";
    }


3. jsp page

jsp Page에 대한 처리 정보는 servlet.xml 에서 한다

(/egov_portal_shop/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml)

    <!-- 화면처리용 JSP 파일명의  prefix, suffix 처리에 대한 mvc 설정  -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1"
    p:viewClass="org.springframework.web.servlet.view.JstlView"
    p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> 

기본으로 /WEB-INF/jsp/ 에 .jsp 파일을 설정해놨다


return "main/EgovMainView" 를 하게 되면

/WEB-INF/jsp/main/EgovMainView.jsp 파일을 찾는다.

(/egov_portal_shop/src/main/webapp/WEB-INF/jsp/main/EgovMainView.jsp)


하지만 이렇게 하면

호출되는 주소창에 다음과 같이 나온다.

http://localhost:8080/egov_portal/cmm/main/mainPage.do


깔끔하게 루트로 보내려면

다음과 같은 작업을 한다.

나만의 서비스이므로 package를 새로만든다. robsoft

하지만 spring에서 component-scan에 의해 정해진 package만 사용되므로

base-package인 egovframework를 붙인다.

(/egov_portal_shop/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml)

    <!-- 패키지 내 Controller, Service, Repository 클래스의 auto detect를 위한 mvc 설정 -->
    <context:component-scan base-package="egovframework">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
    </context:component-scan>


그래서 egovframework.rob.shop (shop은 내가 만들 모듈 명)으로 하고 controller class를 만든다.

egovframework.rob.shop.RobMainController


여기에 mainPage로 보낼 코드를 작성한다.

소스는 원래 있던 소스를 그대로 가져왔다.

    /**
     * 메인 페이지 조회
     * @return 메인페이지 정보 Map [key : 항목명]
     *
     * @param request
     * @param model
     * @exception Exception Exception
     */
    @RequestMapping(value = "/mainPage.do")
    public String getMgtMainPage(HttpServletRequest request, ModelMap model)
      throws Exception{

        // 공지사항 메인 컨텐츠 조회 시작 ---------------------------------
        model.addAttribute("notiList", map.get("resultList"));


        // 공지사항 메인컨텐츠 조회 끝 -----------------------------------

        // 자유게시판 메인 컨텐츠 조회 시작 ---------------------------------
        model.addAttribute("bbsList", bbsMngService.selectBoardArticles(boardVO, "BBSA02").get("resultList"));
        // 자유게시판 메인컨텐츠 조회 끝 -----------------------------------

        // FAQ 메인 컨텐츠 조회 시작 ---------------------------------
        model.addAttribute("faqList", faqManageService.selectFaqList(searchVO));
        // FAQ 메인 컨텐츠 조회 끝 -----------------------------------

        // 설문참여 메인 컨텐츠 조회 시작 -----------------------------------
        model.addAttribute("qriList", egovQustnrRespondInfoService.selectQustnrRespondInfoManageList(qVO));
     // 설문참여 메인 컨텐츠 조회 끝 -----------------------------------


        return "main/RobMainView";
    }
 


그 다음 jsp Page

prefix로 /WEB-INF/jsp 가 붙으므로 경로는 다음과 같다.

파일명에도 뒤에 .jsp가 붙는다.

/egov_portal/src/main/webapp/WEB-INF/jsp/main/RobMainView.jsp 

마찬가지로 내용은 원본인 EgovMainView.jsp와 동일하게 했다.


그리고 호출할 때 index.jap파일도 수정해야 한다.

/egov_portal_shop/src/main/webapp/index.jsp

기본으로 index.jsp를 찾게 되고 거기에서 mainPage.do로 forwarding을 한다.

/cmm/main/mainPage.do를 그냥 mainPage.do 로 바꾼다.

원본 : <script type="text/javaScript">document.location.href="<c:url value='/cmm/main/mainPage.do'/>"</script>

수정본 : <script type="text/javaScript">document.location.href="<c:url value='/mainPage.do'/>"</script>


이러면 바로

http://localhost:8080/egov_portal/ 을 하면 바로 mainPage.do로 보인다.

728x90

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)


[net.sf.log4jdbc.DriverSpy] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.


여러 원인이 있다.

1. tomcat의 실제 lib 결로에 mysql jar 파일을 넣으라고도 하고

2. 여러 프로젝트로 인해 꼬였으니 clean 후 다시 배포하라고도 하는데


나의 경우에는 2번인 듯 하다.

똑같은 Project 소스를 이름만 다르게 했는데..

하나를 close project 한뒤에

clean 하고 다시 배포했더니 된다. ㅡ.ㅡ


728x90

수영 3주를 마치고

2018. 10. 28. 10:31

음~ 수영을 다시 다니니 좋은점은

재밌다는 것이다.

(재미있는데 자꾸 남은 시간은 본다 ㅎㅎ)


수업이 시작하면

기본 자유형 4바퀴정도 하고

그날 그날 교정할 자세로 몇바퀴 돌고 * 2

30분쯤 되면 반대쪽으로 걸어갔다오면서 좀 쉬고

남은 20분 빡세게 돌다 끝난다


어쩌다 킥판을 드는 날은 맨 뒤로 가야한다.

하체부실 어쩔 ㅜ.ㅜ


자유형이나 평영을 하면 앞쪽으로

배영은 포지션이 애매~~하다.


맨 앞에서 하게 되면 따라오는게 부담이 되어 오버페이스를 하는 경우가 꽤 있다.

헉헉헉헉.. 머리도 띵하고


아무래도 쫓아가는게 체질인 듯 ㅎ


수업이 끝나고 종료인사 '수고하셨습니다'를 하고 돌아서 자유형으로 또 몇바퀴 돈다.

며칠전에는 플립턴을 간만에 했는데 코에 물이 많이 들어갔는지

제체기에 콧물에... 특별한 감기증상은 없으니 물이 들어가 알러지성 비염증세가 심해진 것 같다.

두르마리 화장지 1개정도 쓴 것 같음.

자리에 수북히 쌓이는 휴지... 민망해서 두어번 갖다 버리고


토요일에 병원가서 코찍 몇 번 뿌리고 나니 흐르는 건 좀 멈췄다.

근데 약을 4일치나 주다니...아침,저녁으로 총 8개. 항생제도 있고..


아무튼 다음주에 끝나고 자유형할때는 플립턴으로 한번 돌아야겠다 ㅋㅋㅋ

(벌써 한달이 지나가네.. 다음달까지만 등록해놨는데 연장을 해야하나)

728x90

맥북 복구하다 ㅎㅎㅎ

2018. 10. 28. 10:09

새벽 몇시까지였는지 기억도 안난다.

넘 피곤했지만...

복구(?)에는 성공했다.


부팅영역 어딘가 문제가 있었던 것 같다.


option + R 을 누르면 멀티부팅 시 선택할 수 있는데

여기에서 정상적으로 맥OS, 윈도우즈가 나타났다.

혹시나 해서 윈도우로 띄워보니 역시나 잘된다.

그러나 맥은 같은 현상이다...


결국 윤철이에게 빌려 온 외장 DVD플레이어에

스노우 레파드(snow leopard)를 넣고 실행시켜서

어찌어찌 디스크 관리자를 열었는데

검사하보니 문제는 없다고 하네...


결구 OS를 새로 설치하는데

이상하게 잘 인식 안할 때가 있고 속도도 엄청 느렸다.

설치는 완료하고 자야했기에 졸린 눈을 비비고

날아드는 모기에도 불구하고

끝까지 설치완료 후 부팅까지 확인했다.


원래 멀티부팅할 때 프로그램을 써서 선택했었는데

시작OS를 윈도우로 설정할 수 있었다는것을 나중에 깨달음 ㅡㅡ.

(몇 년 동안 매번 선택했는데... 쩝)


이제는 전원버튼 누르고 딴짓해도 윈도우로 들어 감 ㅎㅎㅎ

한고비 넘겼으니 또 얼마나 버텨줄 지 모르겠넹

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1933)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :