JSP

 

 

class BoardUpdateProcCon

	protected void reqPro(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");
		
		//폼에서 넘어온 데이터를 받아줌
		int num =Integer.parseInt(request.getParameter("num"));
		String password =request.getParameter("password"); //사용자로부터 입력받은 패스워드
		String pass =request.getParameter("pass");//실제 데이터베이스에 저장되어있는 패스워드값
		String subject=request.getParameter("subject");
		String content=request.getParameter("content");
		
		//password 값과 pass 값을 비교해야 합니다.
		if(password.equals(pass)){ //패스워드가 같다면 데이터를 수정
			BoardDAO bdao =new BoardDAO();
			bdao.updateBoard(num, subject, content);
			
			//수정이 완료되었다면  전체 게시글보기로 이동
			
			//request.setAttribute("msg", "");
			response.sendRedirect("BoardListCon.do?msg=complete");
			//RequestDispatcher rd=request.getRequestDispatcher("BoardListCon.do");
		   // rd.forward(request, response);	
		}else{
			//비밀번호가 틀렸다면 이전 페이지로 이동
			request.setAttribute("msg", "비밀번호가 맞지 않습니다.");
			RequestDispatcher rd=request.getRequestDispatcher("BoardListCon.do");
		    rd.forward(request, response);			
			//response.sendRedirect("BoardListCon.do");
		}
		
		
	}
	

 

 

class BoardDAO

	//하나의 게시글을 수정하는 메소드
	public void updateBoard(int num, String subject, String content) {	
		//데이터베이스연결
		getCon();
		try{
			//3.쿼리준비 쿼리실행할객체 선언
			String sql="update board set subject =?, content=? where num=?";
			pstmt =con.prepareStatement(sql);
			//?에 값을 대입
			pstmt.setString(1, subject);
			pstmt.setString(2, content);
			pstmt.setInt(3, num);
			//4.쿼리실행
			pstmt.executeUpdate();
			//5.자원 반납
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			closed();
		}
	}

 

 

 

 

BoardList.jsp

<!-- 게시글 보기에 카운터링을 설정하기위한 변수들을 선언  -->
<c:if test="${msg != null  || param.msg != null}">
	<c:if test="${param.msg =='complete'}">
		<c:set var="msg" value="수정이 완료 되었습니다." />
	</c:if>	
	<script type="text/javascript">
	 alert("${msg}");
	 //파라미터 제거
	 history.replaceState({}, null, location.pathname);
	</script>

</c:if>

 

 

class BoardListCon 

	protected void reqPro(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//1.페이징 객체 생성 페이지의 넘버값을 읽어드림
		Paging paging =new Paging(request.getParameter("pageNum"));
		BoardDAO bdao =new BoardDAO();	
		//2.페이징 객체에 전체페이지를 넘겨줌,  Paging 클래스에서 페이지 계산 처리 됨
		paging.setTotalCount(bdao.getAllCount());
		//3.페이지가 넘어갈 url 주소
		paging.paginHtml("BoardListCon.do");

		
		//페이징 객체에서 계산 처린된  row 값 최신글 10개를 기준으로 게시글을 리턴 받아주는 메소드 호출
		Vector<BoardBean> v =bdao.getAllBoard(paging.getStartRow(), paging.getEndRow());

		
		//수정시
		String msg=(String)request.getAttribute("msg");
		if(request.getParameter("msg")!=null){
			msg=request.getParameter("msg");
		}
		request.setAttribute("msg", msg);
		
		
		/////// BoardList.jsp 쪽으로 request 객체에 담아서 넘겨줌
		request.setAttribute("v",v);
		request.setAttribute("paging", paging);

		RequestDispatcher dis =request.getRequestDispatcher("BoardList.jsp");
		dis.forward(request, response);
		
	}
	
	
	

 

 

 

 

동영상 강좌와 다르게  모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.

여기서는  jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.

 

또한, 일부 자바 코드는 제 입맛에 맞게 변경 하였습니다.

혹시, 이 강의를 들으면서 제 글을 읽고 소스코드를 참조하는 수강생이 있다면 동영상의 코드와 다르다고 생각지 마세요. 대부분 동여상 내용과 같으니 학습에 도움이 될거라 생각 합니다.

소스 :  https://github.com/braverokmc79/jsp_sin

 

 

유튜브 동영상 출처 :

소프트캠퍼스

강사 : 신형섭(잭임연구원)

저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.

 

 

 

 

about author

PHRASE

Level 60  라이트

부지런한 것은 돈으로 살 수 없는 보배이며, 근신은 몸을 지키는 부적이다. -강태공

댓글 ( 5)

댓글 남기기

작성