ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Day4] navi 완성 및 각 controller에 탑재
    프로젝트/MBTI 게시판 2023. 9. 20. 10:04

    * Navigator는 갱신되지 않도록 두고, 클릭 이벤트에 따라 Container 부분만 변하게 만드는 건 패스. 현재 내가 jsp로 할 수 있는 영역이 아닌 것 같다. 이에 따라 오늘부터는 클릭 이벤트가 넘겨주는 값에 따라 다른 Container가 나오도록 한다.

    1. header.jsp에서 li로 작성했던 navi를 a 태그로 변경

    	<div class="navigator">
    		<a href="./homeCtrl.jsp" class="homeBtn">Home</a>
    		<a href="./testCtrl.jsp" class="testBtn">Test</a>
    		<a href="./mapCtrl.jsp" class="mapBtn">Counseling Center</a>
    		<a href="./loginCtrl.jsp" class="loginStr">Log In</a>
    	</div>

     

    2. Log in  여부에 따라 navigator에서 Log in 버튼 다르게 출력하기

    로그인 되지 않은 상태라면 'Log In' 링크, 로그인 된 상태라면 '(사용자 이름)님 환영합니다!' 출력.

    homeCtrl에서 session을 검사해서 log in 여부 판단하기.

     

    String loginBtn = "<a href='./loginCtrl.jsp' class='loginBtn'>Log In</a>";
    
    if (request.getMethod().equals("GET")) {
    	/* session.setAttribute("container", "<jsp:include page=" + container + " />"); */
    	/* session.setAttribute("container", "boardLink.jsp"); */
    	request.setAttribute("container", container);
    	session.setAttribute("loginBtn", loginBtn);
    
    	pageContext.forward(viewPath + "home.jsp");
    }

     

    • log in 정보를 session에 저장하는 이유 : 여러 페이지에서 계속 로그인 상태를 유지해야 하므로
    • (변경) container 정보를 request에 저장하는 이유 : forward로 이동할 때, pageContext에 저장한 정보는 함께 전달되지 않는다. 전날 pageContext를 사용하면서도 잘 됐던 이유는 주석 처리한 코드에서 session에 저장한 적 있어서인 것으로 추측된다. home.jsp가 호출된 후에는 소멸되도 되는 정보이므로 request를 사용한다.

    3. testCtrl.jsp, mapCtrl.jsp 만들기

    • testCtrl : MBTI 외부 테스트 링크 제공 및 약식 에니어그램 테스트 제공
    • mapCtrl : 오프라인 성격 상담소 위치 제공

    이번 프로젝트 기간(3일...) 내에 해당 페이지들을 완성할 수 있을지 모르겠지만, 일단 링크에 연결해둘 빈 페이지라도 만들어 두기로 한다.

     

    4. logo 버튼에 homeCtrl.jsp 연결, CSS 수정

    여기서 homeCtrl.jsp 관련은 일단 잠시 두고 다른 페이지들을 수정하기로 한다.

     

    5. ~Ctrl.jsp -> ~Controller.jsp로 이름 수정 : 팀원들과 파일명 통일

    6.  listCtrl.jsp와 viewCtrl.jsp에 navigator 달기

    이 과정에서 home.css에서 header 부분 추출해 header.css 파일로 독립시켰다. 다른 컨트롤러에서 스타일을 적용시킬 때 불필요한 영향을 덜 받게 하기 위해.

    view 페이지에 Navi를 달았다. 데이터를 db와 연결하는 작업은 다른 팀원들이 하고 있다.

     

     

     

    [Daily Log]

    • git 지속 활용 중

    계속 변경사항을 git에 commit, push 하며 진행 중. 습관 들이니까 어렵지 않은 듯하다.
    commit msg도 간결, 상세하게 적으려고 노력 중

    • 팀원 1명 이탈

       우리 팀은 지난 미니프로젝트 때는 5명이었고, 이번에는 4명으로 시작했다. 그리고 지금은 3명이 남았다. 두 분은 각자의 이유로 수업을 이탈하셨다. 이에 따라 기존 기획 중 새로운 기능을 구현하는 것은 대부분 미뤄두고, 내가 맡은 페이지 외에도 기존 페이지를 JS에서 JSP로 변경하는 작업을 우선하기로 했다.

     

    • 주 강사님의 첨언

      말도 안 되는 짧은 기간에 너무 많은 것을 훑고 지나가다보니 우리가 내용을 정리하고 소화할 시간이 많이 부족했던 것 같다. 이번 프로젝트는 대단한 성과보다 할 수 있는 만큼, 배운 것을 조금 활용해본다는 생각으로 진행해보시길.

    '프로젝트 > MBTI 게시판' 카테고리의 다른 글

    [day6] 발표일  (0) 2023.09.21
    Day3] MVC모델 게시판 - homeController 만들기  (0) 2023.09.19
Designed by Tistory.