게시판만들기11

2020. 6. 29. 18:35jsp ,oracle 을 이용한 게시판 만들기

주제: 게시글 보기 기능 구현하기.

 

저번 시간 우리는 게시글 목록에서 해당 게시글을 클릭하였을때 view.jsp로 이동하도록 설정 하였으나,

아직 view.jsp라는 파일이 존재 하지 않기때문에 view.jsp 파일을 생성해주도록 하겠다.

 

우선 BbsDAO.java 파일에 다음과 같이 글을 읽기위한 함수를 작성해준다.

이제 write.jsp 파일을 복사하여 view.jsp 파일을 만들어준다.

그러고나서 DB를 사용하기위해 위쪽에 

<%@ page import="bbs.Bbs" %>

<%@ page import="bbs.BbsDAO" %>

​이 두가지를 임포트 해준다.

 

이제 해당글의 내용, 제목등등 을 가져오기위해 객체를 생성해준다.

수정후 글이 보여지는 화면을 위해 코드를 아래와 같이 수정해준다.

<div class="container">

        <div class="row">

            <table class="table table-striped" style="text-align:center; border:1px solid #dddddd">

                <thead>

                    <tr>

                        <th colspan="3" style="background-color:#eeeeee; text-align:center;">게시판 글 보기</th>

 

                    </tr>

                </thead>

                <tbody>

                    <tr>

                        <td style="width:20%;">글 제목</td>

                        <td colspan="2"><%= bbs.getBbsTitle().replaceAll(" ","&nbsp;").replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n","<br>") %></td>

                    </tr>

                    <tr>

                        <td>작성자</td>

                        <td colspan="2"><%= bbs.getUserID().replaceAll(" ","&nbsp;").replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n","<br>") %></td>

                    </tr>

                    <tr>

                        <td>작성일자</td>

                        <td colspan="2"><%= bbs.getBbsDate().substring(0,11) + bbs.getBbsDate().substring(11, 13) + "시" 

                                + bbs.getBbsDate().substring(14,16) + "분"  %></td>

                    </tr>

                    <tr>

                        <td>내용</td>

                        <td colspan="2" style="min-height:200px; text-align:left;">

                        <!-- 특수문자를 제대로 출력하기위해 & 악성스크립트를 방지하기위해 -->

                        <%= bbs.getBbsContent().replaceAll(" ","&nbsp;").replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n","<br>") %></td>    

                    </tr>

                </tbody>

            </table>

            <a href="bbs.jsp" class="btn btn-primary">목록</a>

            <%

                if(userID != null && userID.equals(bbs.getUserID()))

                {

            %>

                <a href="update.jsp?bbsID=<%=bbsID %>" class="btn btn-primary">수정</a>

                <a href="deleteAction.jsp?bbsID=<%=bbsID %>" class="btn btn-primary">삭제</a>

                

            <%     

                }

            %>

        </div>

    </div>

 

하고나면 다음과 같이 글 본문이 보인다.

수정한 코드에 대해 덧붙이자면,

빨간색 코드부분: 글 입력시 특수문자나 공백이 들어가면 출력되지 않는 오류가 발생하는데 공백 특수문자등을 오류 없이 처리할수 있도록

                          replaceAll 문을 사용해 주었다.

 

또한 글작성시 제목부분에 <script></script> (스크립트 같아 보이지만 그냥 제목으로써의 문자 작성시)

브라우저가 태그문으로 인식할수가 있는데 이런경우 역시 

 

replaceAll을 사용하여 수정해준다.

 

출처:https://www.youtube.com/watch?v=SC7EP8ID9D8&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6&index=12

'jsp ,oracle 을 이용한 게시판 만들기' 카테고리의 다른 글

게시판만들기13  (0) 2020.07.03
게시판만들기 12  (0) 2020.07.01
게시판만들기10  (0) 2020.06.24
게시판만들기9  (0) 2020.06.23
게시판만들기8  (0) 2020.06.22