글쓰기를 하려면 인증이 되어야 가능
그렇기 때문에 글쓰기 관련 request는 모두 seeeion을 확인 해야함
1. post/saveForm.jsp
글쓰기를 할 때 누가 글을 썻는지 알아야 하기 때문에 hidden 값으로 넘겨준다.
한번에 넘겨서 한번에 받아서 처리하는게 좋아요. 여기저기서 받으면 복잡해짐. 요청시에 필요한 데이터를 한방에 보내기 위해!
<form action="/apple/post?cmd=saveProc" method="post">
<input type="hidden" value="${sessionScope.principal.id}" name="memberId">
<table border="1">
<tr>
<th>제목</th>
<td><input type="text" name="title" /></td>
</tr>
<tr>
<th>내용</th>
<td><textarea rows="3" cols="22" name="content"></textarea></td>
</tr>
</table>
<button>글쓰기완료</button>
</form>
2. PostDao.java
public int 글쓰기(int memerId, String title, String content) {
try {
String sql = "INSERT INTO post VALUES(post_seq.nextval, ?, ?, ?, sysdate)";
conn = DBConn.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, memerId);
pstmt.setString(2, title);
pstmt.setString(3, content);
return pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
3. PostSaveProcAction.java
package com.cos.apple.db.action.post;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.cos.apple.db.action.Action;
import com.cos.apple.db.dao.PostDao;
public class PostSaveProcAction implements Action{
@Override
public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
if(session.getAttribute("principal")==null) {
response.sendRedirect("member/loginForm.jsp");
return;
}
int memberId = Integer.parseInt(request.getParameter("memberId"));
String title = request.getParameter("title");
String content = request.getParameter("content");
PostDao postDao = new PostDao();
int result = postDao.글쓰기(memberId, title, content);
if(result == 1) {
response.sendRedirect("index.jsp");
}else {
response.sendRedirect("post/saveForm.jsp");
}
}
}
'jsp 프로젝트 V2 post' 카테고리의 다른 글
JSP게시판 만들기 11강 - 글 상세보기 (0) | 2020.06.19 |
---|---|
JSP게시판 만들기 7강 - 로그인 (0) | 2020.06.19 |
JSP게시판 만들기 6강 - 회원가입 (0) | 2020.06.18 |
JSP게시판 만들기 5강 - 모델 만들기 (0) | 2020.06.18 |
JSP게시판 만들기 4강 - 화면구현 (0) | 2020.06.18 |