전 게시글과 마찬가지로 집에서는 다 했지만.. 학원에서 긴 예제를 하는 도중 저는 미리 끝냈고 다른사람들 기다리면서 작성 중이라 동빈나님 화면을 캡쳐합니다.
https://www.youtube.com/watch?v=SC7EP8ID9D8&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6&index=12
[게시글을 눌렀을 때, 내용을 보여주는 view.jsp를 만들기]
1. bbsDAO 에 하나의 글 내용을 불러오는 함수를 추가한다.
BbsDAO > getBbs()
1) bbsID를 받아 Bbs 객체를 생성한 후 해당 속성들을 가져와서 reutrn하여 게시글을 보여준다.
2. write.jsp를 복사해서 view.jsp 를 만들고 해당 내용에 맞게 수정한다.
1) 데이터베이스를 사용할 수 있도록 bbs.Bbs 와 bbs.BbsDAO(데이터베이스 접근)를 import 한다.
2) 매개변수 int bbsID = 0; 으로 설정하고 bbsID 로 매개변수가 넘어온다면, 넘어온 매개변수로 bbsID 를
재설정해준다. bbsID가 0이라면 '유효하지 않은 글'이라고 경고창을 띄운 후 bbs.jsp로 돌려보낸다.
3) 게시판 구체적인 내용을 가져올수 있도록 BbsDAO 객체(bbs)를 하나 생성한다.
4) write.jsp를 복사했던 내용에서 container 부분을 수정한다. (맨하단)
(1) <form>을 사용하지 않으므로 <form>을 삭제한 후 , bbs의 내용들을 가져온다
ㄱ) bbs.getBbsTitle() : 글제목
ㄴ) bbs.getUserID() : 작성자
ㄷ) bbs.getBbsDate().substring(0,11) + bbs.getBbsDate().substring(11,13) + "시"
+ bbs.getBbsDate().substring(14,16) + "분"
(2) bbs.jsp 로 돌아갈 수 있는 목록버튼을 만든다.
(3) 들어온 글의 작성자가 본인이라면 글을 수정하고 삭제할 수 있는 버튼을 만든다.
반영화면(작성자가 본인 글을 볼 때)
반영화면(작성자가 아닌 사람이 글을 볼 때, 수정, 삭제 버튼이 없는 걸 확인할 수 있다.)
5) 현재 상태에서는 웹페이지에 특수문자를 입력했을 때, 특수문자를 읽지 못한다. 각 내용이 들어가는 부분에
bbs.getBbsContent().replaceAll(" ", " ").replaceAll("<", "<")
.replaceAll(">", ">").replaceAll("\n", "<br>") 로 replaceAll 을 달아준다.
★ 특수문자를 처리하지 않으면 크로스 사이트 스크립팅( XSS, cross-site-scripting) 공격을 당한다.
https://itinformation.tistory.com/60
XSS (크로스사이트 스크립트, 크로스 사이트 스크립팅) 취약점
XSS (크로스사이트 스크립트, 크로스사이트 스크립팅, Cross Site Scripting) 취약점 1. 정의 - 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실행되는 취약점이다...
itinformation.tistory.com
내용은 추후에 더 올리겠습니다.
'동빈나 JSP 게시판 만들기' 카테고리의 다른 글
동빈나 JSP 게시판 만들기 따라하기 5-8강(회원가입 페이지 디자인, 회원가입 기능 구현, 접속한 회원 세션관리, 게시판 메인페이지 디자인) (1) | 2021.05.23 |
---|---|
동빈나 JSP 게시판 만들기 따라하기 1-4강(로그인페이지 디자인, 회원데이터베이스 구축하기, 로그인 기능 구현하기) (0) | 2021.05.23 |