<%%>는 JSP(JavaServer Pages)에서 사용되는 스크립트릿(scriptlet) 태그입니다.
이 태그 안에 포함된 코드는 JSP 페이지를 서블릿으로 변환할 때 자바 코드로 처리됩니다.
<%= %>는 표현식(expression) 태그로, 그 안에 있는 값이 출력됩니다.
로그인 유저와 글쓴이가 같으면 수정&삭제 버튼 띄우기
<%
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>
<%
}
%>
글 목록에서 게시글 제목 선택해서 들어가서 글 보기
게시글 번호에 맞는 내용 출력하기 위한 메서드 생성
public Bbs getBbs(int bbsID) {
String SQL = "SELECT * FROM BBS WHERE bbsID=?";
try {
PreparedStatement pstmt = conn.prepareStatement(SQL);
pstmt.setInt(1, bbsID);
rs = pstmt.executeQuery();
if(rs.next()) {
Bbs bbs = new Bbs();
bbs.setBbsID(rs.getInt(1));
bbs.setBbsTitle(rs.getString(2));
bbs.setUserID(rs.getString(3));
bbs.setBbsDate(rs.getString(4));
bbs.setBbsContent(rs.getString(5));
bbs.setBbsAvailabe(rs.getInt(6));
return bbs;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
view.jsp
bbsID 값 넣기
<body>
<%
String userID = null;
if(session.getAttribute("userID") != null) {
userID = (String) session.getAttribute("userID");
}
int bbsID = 0;
if(request.getParameter("bbsID") != null) {
bbsID = Integer.parseInt(request.getParameter("bbsID"));
}
if (bbsID == 0) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('유효하지 않은 글입니다.')");
script.println("location.href = bbs.jsp'");
script.println("</script>");
}
%>
게시글의 작성자와 userID가 동일하다면 수정 삭제 버튼 활성화
<%
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>
<%
}
%>
글 내용에 특수문자가 들어갔을 때 html 문법인지 뭔지 알 수 없어서 처리하기
크로스 사이트 스크립트 : 게시판에 글을 쓸 때 특수문자 처리가 제대로 되지 않으면 해킹 공격이 가능함
스크립트가 삽입될 수 있는 문제를 해결하기 위해 특수문자 치환 필요함.
<tr>
<td>내용 </td>
<td colspan="2" style="min-height: 200px; text-align: left;">
<%= bbs.getBbsContent().replaceAll(" ", " ").replaceAll("<", "<")
.replaceAll(">", ">").replaceAll("\n", "<br/>") %>
</td>
</tr>
'강의 > JSP 게시판 만들기' 카테고리의 다른 글
[JSP 게시판 만들기] 14. 웹 사이트 메인 페이지 디자인 (0) | 2023.12.10 |
---|---|
[JSP 게시판 만들기] 13. 게시글 수정 및 삭제 기능 구현하기 (0) | 2023.12.10 |
[JSP 게시판 만들기] 11. 게시판 글 목록 기능 구현하기 (0) | 2023.12.08 |
[JSP 게시판 만들기] 10. 글쓰기 기능 구현하기 (1) | 2023.12.08 |
[JSP 게시판 만들기] 9. 게시판 데이터베이스 구축하기 (1) | 2023.12.08 |