ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 학원 day80. model2 실습
    기록 2022. 12. 27. 14:54

    - 'hong', 'kang' 이라는 유저에게는 '새 게시글 쓰기' 가 보이고, 세번째 세션의 주인은 새 게시글 쓰기가 안보인다.

    - 게시글 등록할 때, 작성자 id를 hidden으로도 넘길 필요 없다. 세션에서 가져올 수 있으니까

    - 요청객체의 속성으로 가져온 건 진한 파란색, 요청객체의 요청파라미터로 가져온 건 노란색

    - EL의 내장객체에 param이라는게 있는데 파라미터명 앞에 param이라고 적으면 요청파라미터값을 조회할 수 있다.

    - 속성은 앞에 param을 붙이지 않는다.

     

    - 페이지네이션에 beginPage, endPage라는 변수는 없다.

    .뒤에 있는게 사실 변수명이 아니라 getter메소드 이름이었다. 

    객체의 값을 가져올 때 멤버변수의 이름이 아니라 getter메소드의 이름을 쓰는것이다.

    el표현식 안에 .뒤는 객체일때는 getter메소드의 이름이고, Map일 때는 key의 이름이다.

     

    - 표현식 안의 pagination은 객체가 아니라 이름이다.

    속성의 요청객체에 담아놓은 이름이다.

    Pagination이라는 객체가 아니라 pagination이라는 이름이다.

     

    - jsp 내부적으로만 사용할 값들은 모두 PageContext라는 걸 사용한다.

    - c:set은 기본적으로 PageContext에 저장되고, 뒤에 scope를 적으면 다른 곳에 저장할 수도 있다.

    PageContext는 해당 jsp 안에서만 접근할 수 있다. 

    - 요청객체는 응답이 완료되기 전까지는 FrontController, Controller, jsp에서 접근할 수 있다.

     

    - isFirst의 is는 생략하고 소문자로 EL표현식에 적는다.

    - boolean은 getter메소드 만들 때 get이 아닌 is-로 나타남, is가 getter의 역할을 한다. 

    자바Beans의 작성규칙이다. 

    - 입력화면에서 넘겨줘야 할 것 2가지는 comment_content랑 comment_post_no이다. 

    기본값이 있는건 넣을 필요 없다. null을 허용하지 않는 것 4개 중에 comment_no는 시퀀스로 할거니까 신경쓸 필요 없고, comment_user_id는 세션에서 로그인한 사용자정보를 가져오면 된다. 

    ** 항상 코딩하기 전에는 관련 테이블 숙지 후 코딩해야 한다!!

     

    - dto는 단순히 화면에 보이는 것만 dto에 포함하는게 아니라 로직처리 링크에 필요한 것들도 가져와야 해서 최대한 많이 가져오는 게 좋다.

     

    - 스프링을 하면 아래와 같이 controller 하나로 가능하다!

      - 스프링은 반복적인 작업을 줄여준다.

    수정은 조회1번 업데이트1번 총 2번 작업

     

    - 화면의 전환은 서버에 갔다오는 것이다.

    jsp실행결과가 나한테 보이는 것인데 jsp를 실행하려면 서버요청해야 한다.

    페이지 내에서 팝업을 띄우면 detail의 값을 그대로 써줄 수 있지만 새로운 화면은 안됨

    - 프로그램의 업무로직은 잘못된 것부터 빨리 찾아서 종료시키고 쳐내는 작업을 한다.

     

    만약 return으로 "redirect:list.hta"가 아닌 "post/list.jsp"가 온다면 문제가 발생한다.

    첫번째 문제.

    list.jsp에는 <c:forEach var="dto" items="${posts }">라는 코드가 있을텐데 요청객체에 posts가 없기 때문에 

    list.jsp는 빈화면만 나올 것이다.

    ListController에서 request.setAttribute("posts", dtos); 코드가 실행되어야 한다.

    detail.jsp도 마찬가지로 댓글 조회하는 코드가 있을텐데 요청객체에 댓글이 없기 때문에 댓글이 나오지 않는 문제가 발생한다.

     

    두번째 문제.

    URL과 화면과의 괴리가 있다.

    내부이동해버렸으니가 요청URL이 그대로 남아있을 것이다.

    list화면 주소가 modify로 적혀있는 괴리가 있음.

     

    뭔가 잘못되었을 때에도 재요청이 가야되는 것이다. 

    hta로 Controller로 가야한다.

     

    - 게시글 등록이나 수정이나 화면은 같지만 

    검사창을 눌러보면 네트워크에 전달되는게 다르다.

    새글 : title, content

    수정 : title, content + postNo 글번호가 추가되어서 간다.

     

    - 메소드 이름 룰 :  getPostByNo 동작/목적어/조건

    관례가 정해져 있다. 코딩가이드. 

    네이버에 자바코딩가이드 검색해서 한글 문서 찾아볼 것!!

    댓글

Designed by Tistory.