2024-01-23 (32일차) - JSP_AM 페이지네이션, get/post

·2024년 1월 23일

📅 2024-01-23, 32일차


TODO

[프로그래머스]
1. 문제해석
2. 문제풀이
3. 2번을 코드로 번역
4. 벨로그에 정리

[강의 다시보고 로직 이해하기]

  • 작업 16, 페이지네이션, 페이지 한계 설정 x
  • 작업 17, 게시물 작성 기능 구현
  • 작업 18, POST 방식을 활용한 게시물 작성 기능 구현
  • 작업 19, 게시물 수정 기능 구현
  • 작업 20, detail에 수정, 삭제 추가, 수정 페이지 개선
  • 작업 21, 페이지네이션 하는 중

추가로 한 것
[JSP_AM]

  • get, post, form, submit, input 구글링/찾아보기

[JDBC_AM]

  • 회원가입 로직 복습
  • 로그인, 로그아웃 로직 복습
  • 작성자, 권한체크 로직 복습

질문은 -> 어떻게해요?가 아니라, 이렇게 생각했는데 이게 맞나요?


페이지네이션

생각의 흐름

어딜 건드려야할까?
list와 articlelistServlet을 건드려야 함

쿼리
mySQL쿼리에 limit을 활용
SELECT * FROM article
ORDER BY id DESC
LIMIT 0, 10;

mySQL쿼리에 limit을 활용
SELECT * FROM article
ORDER BY id DESC
LIMIT ?, 10;

? -> (page - 1) * (10)

1 -> 20
2 -> 30

Math.ceil(totalCnt / (double) itemsInAPage))


게시글 등록

생각의 흐름

요청사항-> title=제목1&body=내용1
DB -> INSERT

어딜 건드려야 할까? 만들어야할까?

  • ArticleWriteServlet 만들어야할 것 같음 o

doWrite jsp는 필요할까? 등록페이지가 있어야 하나?

  • 일단 write jsp만들어놓고 다시 생각해보기 o

주소창에 요청사항을 적으면 500에러 뜸
그런데 리스트에 들어가면 등록은 되어있음..
그럼 주소창에 요청사항을 적었을때 500이 뜨지 않고
alert창을 뜨게하는 방법을 찾아야함


get 방식

  • url 뒤에 쿼리스트링을 쓰고 -> 보안에 취약

post방식

  • url 뒤에 안쓰고, body에 담음 -> 보안적

게시글 수정

생각의 흐름

요구사항:
/article/doModify?title=제목1&body=내용1
write와 유사
1. DB에 UPDATE 되도록

  • 1번 글이 수정되었습니다 alert 후 -> detail로 이동
  1. 게시물 수정 페이지 구현 -> jsp

/////

write와 유사하다면, modify와 doModify 서블릿 두개가 필요? 일단 만듬
modify.jsp도 필요? 일단 만듬

쿼리는:

UPDATE article
SET title= '제목1',
`body' = '내용1'
WHERE ? = ?;

?-> id(게시물번호)여야 할까?
id는 어떻게 찾아오지? 이게 관건!

jsp는 어떻게 그려야 할까
1. 리스트 옆에 수정버튼이 있어야 함
2. 수정 버튼을 클릭하면 새 글쓰기 페이지와 똑같은 모양의 페이지가 나와야 함.
3. 제목과 내용을 다시 입력하면 덮어씌워져야 함

update 쿼리 사용해야 함


  1. 상세보기에서 수정 삭제 가능하도록
  2. 페이지네이션 숫자 조절
  3. 수정 페이지 개선
  4. 날짜 포맷??
  5. 회원가입 -> 로그인 로그아웃

페이지네이션 하는 중

생각의 흐름

요구사항: 페이지네이션 숫자 조절

문제: 페이지 수가 다 뜸
리밋이 있어야 함
반복문으로 어디까지 멈추라고 조건을 걸어야하나?
totalPage건드려야할 것 같음

10개씩 보여줘야하고
이전 / 다음 링크 클릭하면 숫자가 변해야 함

profile
hello world

0개의 댓글