프로그래밍/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