본문 바로가기

동빈나 JSP 게시판 만들기

동빈나 JSP 게시판 만들기 따라하기 12-15강(게시글보기 기능 구현, 게시글 수정 및 삭제 기능 구현, 웹사이트 메인페이지 디자인, 프로젝트 완성 및 배포)

전 게시글과 마찬가지로 집에서는 다 했지만.. 학원에서 긴 예제를 하는 도중 저는 미리 끝냈고 다른사람들 기다리면서 작성 중이라 동빈나님 화면을 캡쳐합니다.

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(" ", "&nbsp;").replaceAll("<", "&lt;")

.replaceAll(">", "&gt;").replaceAll("\n", "<br>") 로 replaceAll 을 달아준다.

★ 특수문자를 처리하지 않으면 크로스 사이트 스크립팅( XSS, cross-site-scripting) 공격을 당한다.

https://itinformation.tistory.com/60

 

XSS (크로스사이트 스크립트, 크로스 사이트 스크립팅) 취약점

XSS (크로스사이트 스크립트, 크로스사이트 스크립팅, Cross Site Scripting) 취약점 1. 정의 - 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실행되는 취약점이다...

itinformation.tistory.com

내용은 추후에 더 올리겠습니다.