본문 바로가기
JSP 웹 프로젝트

JSP 웹 프로젝트 (7) 게시글 수정하기

by s_hoonee 2023. 1. 3.
반응형

대학생을 위한 웹 페이지 제작

사용 언어 : java (jdk 12.0.2), JavaScript, css, html
사용 툴 : Eclipse
데이터베이스 : Mysql
서버 : Tomcat
테스트 브라우저 : Chrome, Edge
파일 : jsp

학교 프로젝트로 만든 대학생을 위한 학교 웹 페이지입니다. 

 

기능

1. 자유 게시판, 중고책, 분실물 게시판 등 운영 ( 이미지 첨부, 댓글 달기, 수정 등 가능 )
2. 학교 공지사항 게시
3. 기타 대외활동 포스터 게시
4. 학점 계산기, 자신만의 시간표, 건물 정보, 주차 구역 확인
5. 회원가입시 AES 암호화 + salt 값을 추가하여 비밀번호를 해쉬값으로 저장하여 암호화
6. 카카오 지도 API

 

시스템 구성도


 

postDAO.java

 게시글 번호, 제목, 내용을 받아서 선택된 게시물(레코드)를 수정하여 저장

public int update(int postID, String postTitle, String postContent) {
		String SQL = "UPDATE post SET postTitle = ?, postContent = ? WHERE postID = ?";
		try {
			PreparedStatement pstmt = conn.prepareStatement(SQL);
			pstmt.setString(1, postTitle);
			pstmt.setString(2, postContent);
			pstmt.setInt(3, postID);
			return pstmt.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return -1; 
	}

 

UpdateAction.jsp

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<% 
	PrintWriter script = response.getWriter();
	int result =0;
	String site = null;
	int boardID=0;
	if(request.getParameter("boardID")!=null){    //bbsID를 받기
		boardID = Integer.parseInt(request.getParameter("boardID"));
	}
	String userID = null;
	if(session.getAttribute("userID")!= null){
		userID = (String) session.getAttribute("userID");
	}

	int bookID=0;
	int lostID=0;
	int bbsID=0;
	int postID=0;
	String Title = null;
	String Content = null;
    // 게시글 종류 구분 --------------------------------------
	if(boardID == 1){
		if(request.getParameter("ID")!=null){    //bbsID를 받기 - post와는 다른 게시글
		bbsID = Integer.parseInt(request.getParameter("ID"));
		}
	}else 	if(boardID == 2){
		if(request.getParameter("ID")!=null){    //bookID  - post와는 다른 게시글
			bookID = Integer.parseInt(request.getParameter("ID"));
		}
	}else 	if(boardID == 3){
		if(request.getParameter("ID")!=null){    //lostID 받기 - post와는 다른 게시글
			lostID = Integer.parseInt(request.getParameter("ID"));
		}
	}else 	if(boardID == 4){
		if(request.getParameter("ID")!=null){    //postID 받기 
			postID = Integer.parseInt(request.getParameter("ID"));
		}
	}
     // 이전 페이지에서 제목과 내용을 가져옴 ---------------------
	Title = request.getParameter("Title"); 
	Content = request.getParameter("Content");
	
	// 세션 확인 -------------------------------
	if(userID == null){  // session 을 받아서 로그인이 되어 있는 경우
		
		script.println("<script>");
		script.println("alert('로그인을 하세요.')");
		script.println("location.href = 'login.jsp' ");
		script.println("</script>"); }
	
	
	Bbs bbs = new BbsDAO().getBbs(bbsID);
	Book book = new BookDAO().getBook(bookID);
	Lost lost = new LostDAO().getLost(lostID);
	Post post = new PostDAO().getPost(postID);
	// 입력 안된 사안이 있을 때 ( 권한이 있을 때)
		if ( (Title != null && !Title.equals("")) &&  (Content != null && !Content.equals("") ) ) 
			{
			if(boardID == 1){
				BbsDAO bbsDAO = new BbsDAO();
				result = bbsDAO.update(bbsID, Title,Content);
				 site = "location.href = 'mbbs.jsp' ";
				}else if(boardID == 2){
				BookDAO bookDAO = new BookDAO();
				result = bookDAO.update(bookID, Title,Content);
				 site = "location.href = 'mbook.jsp' ";
								 
				} else if(boardID == 3){
				LostDAO lostDAO = new LostDAO();
				result = lostDAO.update(lostID, Title,Content);
				 site = "location.href = 'mlost.jsp' ";
				}	 else if(boardID == 4){
					PostDAO postDAO = new PostDAO();
					result = postDAO.update(postID,Title,Content);
					 site = "location.href = 'post.jsp' ";
					}	
			if(result == -1){
				script.println("<script>");
				script.println("alert(' 글 수정 실패.')");
				script.println("history.back()");
				script.println("</script>");
			}else {
				script.println("<script>");
				script.println("alert(' 글 수정 성공')");
				script.println(site);
				script.println("</script>");
			}
		}else{
			script.println("<script>");
			script.println("alert('제목과 내용을 모두 입력하시오.')");
			script.println("history.back()");
			script.println("</script>");
		}
	%>
</body>
</html>