모든지 기록하자!

간단한 웹사이트 만들기(DB, JSP, BootStrap) 08 - 글쓰기 기능 구현하기 본문

Web/기본 website만들기

간단한 웹사이트 만들기(DB, JSP, BootStrap) 08 - 글쓰기 기능 구현하기

홍크 2021. 6. 20. 18:56
728x90

bbs.jsp 페이지를 복사해서 붙여 넣기 한 후에 추가적으로 내용을 수정해 준다.

 

write.jsp 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>
<%@ page import="java.io.PrintWriter" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width", initial-scale="1">
<link rel="stylesheet" href="css/bootstrap.css">
<title>JSP 게시판 웹 사이트</title>
</head>
<body>
	<%
		String userID = null;
		if(session.getAttribute("userID") != null){
			userID = (String) session.getAttribute("userID");
		}
	%>
	<nav class="navbar navbar-default">
		<div class="navbar-header">
			<button type="button" class="navbar-toggle collapsed"
				data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
				aria-expanded="false">
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
			</button>
			<a class="navbar-brand" href="main.jsp">JSP 게시판 웹사이트</a>
		</div>
		<div class="collapse navbar-collapse" id="#bs-example-navbar-collapse-1">
			<ul class="nav navbar-nav">
				<li><a href="main.jsp">메인</a></li>
				<li class="active"><a href="bbs.jsp">게시판</a></li>
			</ul>
			<%
				if(userID == null){ // 로그인이 되어있지 않다면 회원가입이나 로그인을 할수 있게 만들어준다.
			%>
			<ul class="nav navbar-nav navbar-right">
			 	<li class="dropdown">
			 		<a href="#" class="dropdown-toggle"
			 			data-toggle="dropdown" role="button" aria-haspopup="true"
			 			aria-expanded="false">접속하기<span class="caret"></span></a>
			 		<ul class="dropdown-menu">
			 			<li><a href="login.jsp">로그인</a></li>
			 			<li><a href="join.jsp">회원가입</a></li>
			 		</ul>
			 	</li>
			</ul>
			<%
				}else{
			%>
			<ul class="nav navbar-nav navbar-right">
			 	<li class="dropdown">
			 		<a href="#" class="dropdown-toggle"
			 			data-toggle="dropdown" role="button" aria-haspopup="true"
			 			aria-expanded="false">회원관리<span class="caret"></span></a>
			 		<ul class="dropdown-menu">
			 			<li><a href="logoutAction.jsp">로그아웃</a></li>
			 		</ul>
			 	</li>
			</ul>				
			<%
				}
			%>
		</div>
	</nav>
	<div class="container">
		<div class="row">
		<form action="writeAction.jsp" method="post">
			<table class="table table-striped" style="text-align: center; border: 1px solid #dddddd">
				<thead> <!-- thead: 테이블 해드 -->
					<tr> <!-- tr: 하나의 행 -->
						<th colspan="2" style="background-color: #eeeeee; text-align: center;">게시판 글쓰기 양식</th>

					</tr>
				</thead>
				<tbody>
					<tr>
						<td><input type="text" class="form-control" placeholder="글 제목" name="bbsTitle" maxlength="50"></td>
					</tr>
					<tr>
						<td><textarea class="form-control" placeholder="글 내용" name="bbsContent" maxlength="2048" style="height: 350px"></textarea></td>
					</tr>
				</tbody>
			</table>
			<input type="submit" class="btn btn-primary pull-right" value="글쓰기">
		</form>	
		</div>
	</div>
	<script type="text/javascript" src="//code.jquery.com/jquery-3.4.1.min.js"></script>
	<script src="js/bootstrap.js"></script>
</body>
</html>

 

joinAction.jsp 페이지를 복사해서 writeAction.jsp 페이지를 만들고 추가적인 내용을 수정해 준다.

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>
<%@ page import="bbs.BbsDAO" %>
<%@ page import="java.io.PrintWriter" %>
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:useBean id="bbs" class="bbs.Bbs" scope="page" />
<jsp:setProperty name="bbs" property="bbsTitle" />
<jsp:setProperty name="bbs" property="bbsContent" />

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP 게시판 웹 사이트</title>
</head>
<body>
	<%
		String userID = null;
		if(session.getAttribute("userID") != null){
			userID = (String)session.getAttribute("userID");
		}
		if(userID == null){
			PrintWriter script = response.getWriter();
			script.println("<script>");
			script.println("alert('로그인을 하세요.')");
			script.println("location.href = 'login.jsp'");
			script.println("</script>");
		}else{
			if(bbs.getBbsTitle() == null || bbs.getBbsContent() == null){
					PrintWriter script = response.getWriter();
					script.println("<script>");
					script.println("alert('입력이 안된 사항이 있습니다.')");
					script.println("history.back()");
					script.println("</script>");

				} else{
					BbsDAO bbsDAO = new BbsDAO();
					int result = bbsDAO.write(bbs.getBbsTitle(), userID, bbs.getBbsContent());
					if(result == -1){
						PrintWriter script = response.getWriter();
						script.println("<script>");
						script.println("alert('글쓰기에 실패했습니다.')");
						script.println("history.back()");
						script.println("</script>");
					}
					else {
						PrintWriter script = response.getWriter();
						script.println("<script>");
						script.println("location.href='bbs.jsp'");
						script.println("</script>");
					}	
				}
		}
	%>
</body>
</html>
728x90
Comments