프로그래밍/JSP
JSP 게시판 만들기(2)
하와이블루
2022. 12. 2. 23:23
728x90
이번 시간에는 게시글 작성 페이지를 만들어보자.
게시글 작성 페이지(write.jsp) 작성
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String userid = (String)session.getAttribute("userid");
if(userid == null){
%>
<script>
alert('로그인 후 이용하세요');
location.href='../login.jsp';
</script>
<%
}else{
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>커뮤니티 - 글쓰기</title>
</head>
<body>
<h2>커뮤니티 - 글쓰기</h2>
<form method="post" action="./write_ok.jsp">
<p>작성자 : <%=userid%></p>
<p>제목<input type="text" name="b_title"></p>
<p>내용</p>
<p><textarea name="b_content" rows="5" column="40"></textarea></p>
<p><input type="submit" value="등록">
<input type="reset" value="다시작성">
<input type="button" value="리스트" onclick="location.href='list.jsp'"></p>
</form>
</body>
</html>
<%
}
%>
로그인이 되어있어야 접근이 가능한 페이지임으로 세션을 불러와 확인하고 데이터는 form태그를 활용하여 post방식으로 글 제목, 내용에 입력된 데이터를 write_ok.jsp로 보낸다. 작성자의 이름은 로그인된 유저의 세션값을 받아와 처리한다.
게시글 글작성 처리 페이지(write_ok.jsp) 작성
<%@ page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.koreait.db.Dbconn"%>
<%
request.setCharacterEncoding("UTF-8");
String userid = (String)session.getAttribute("userid");
if(userid == null){
%>
<script>
alert('로그인 후 이용하세요');
location.href='../login.jsp';
</script>
<%
}else{
String b_title = request.getParameter("b_title");
String b_content = request.getParameter("b_content");
Connection conn = null;
PreparedStatement pstmt = null;
String sql = "";
try {
conn = Dbconn.getConnection();
if (conn != null) {
sql = "insert into tb_board (b_userid, b_title, b_content) values (?, ?, ?);";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userid);
pstmt.setString(2, b_title);
pstmt.setString(3, b_content);
pstmt.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace();
}
%>
<script>
alert('게시글이 등록되었습니다.');
location.href='./list.jsp';
</script>
<%
}
%>
write.jsp에서 전달받은 데이터는 request.getParameter를 통해 변수에 저장하여 쿼리를 통해 게시글 테이블로 insert 처리하게 된다. 등록이 되면 다시 게시판 페이지(list.jsp)로 이동하고 정상적으로 글이 등록이 되었다면 게시판 리스트에 저장된 글이 보여지게 될 것이다.
728x90