1 분 소요

JSP로 게시판 만들기(2)


저번 시간에 리스트를 완성하였으니 글쓰기 페이지를 작성해보자.

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>
<%	
}
%>

이 페이지도 마찬가지로 로그인이 되어있어야 접근이 가능하도록 처리하고 비로그인으로 접근시 로그인 페이지로 이동하게 된다.

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에서 form 태그로 받은 데이터들을 request.getParameter를 통해 변수에 저장하여 sql문을 통해 insert되게 된다. 등록이 되면 다시 list.jsp로 이동한다.

정상적으로 글이 등록이 되었다면 list에 저장된 글이 보여지게 될 것이다.

jsp12_1

jsp12_2

태그:

카테고리:

업데이트: