JSP

 

 

 

class BoardListCon

	protected void reqPro(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//화면에 보여질 게시글의 개수를 지정
		int pageSize=10;
		//현재 보여지고 있는 페이지의 넘버값을 읽어드림
		String pageNum =request.getParameter("pageNum");
		//null 처리
		if(pageNum ==null){
			pageNum="1";
		}
		//전체 게시글의 갯수
		int count=0;
		//jsp 페이지 내에서 보여질 넘버링 숫자값을 저장하는 변수
		int number=0;
		
		//현재 보여지고 있는 페이지 문자를 숫자로 변환
		int currentPage=Integer.parseInt(pageNum);
		//전체 게시글의 갯수를 가져와야 하기에 데이터베이스 객체 생성
		BoardDAO bdao =new BoardDAO();
		count =bdao.getAllCount();//
		
		//현재 보여질 페이지 시작 번호를 설정
		int startRow =(currentPage -1)*pageSize+1;
		int endRow =currentPage *pageSize;
		
		
		//최신글 10개를 기준으로 게시글을 리턴 받아주는 메소드 호출
		Vector<BoardBean> v =bdao.getAllBoard(startRow, endRow);
		
		
		
	}
	

 

 

 class BoardDAO 

	//모든 (화면에 보여질 데이터를 10개씩 추출해서 리턴하는 메소드
	public Vector<BoardBean> getAllBoard(int startRow, int endRow) {
		//리넡할 객체 선언
				Vector<BoardBean> v =new Vector<>();
				getCon();
				try{
					//쿼리 준비
					String sql ="select *  from "
							+ " (select A.* , Rownum Rnum from (select * from board order by ref desc, re_step asc) A ) "
							+ " where Rnum >= ? and Rnum <= ?";
							
					//쿼리를 실행할객체 선언
					pstmt =con.prepareStatement(sql);
					//쿼리실행 후 결과 저장
					pstmt.setInt(1, startRow);
					pstmt.setInt(2, endRow);
					rs=pstmt.executeQuery();
					//데이터 개수가 몇개인지 모르기에 반복문을 이용하여 데이터를 추출
					while(rs.next()){
						//데이터를 패키징( 가방  = Boardbean 클래스를 이용)해줌
						BoardBean bean =new BoardBean();
						bean.setNum(rs.getInt("num"));
						bean.setWriter(rs.getString("WRITER"));
						bean.setEmail(rs.getString("EMAIL"));
						bean.setSubject(rs.getString("SUBJECT"));
						bean.setPassword(rs.getString("PASSWORD"));
						bean.setReg_date(rs.getDate("REG_DATE").toString());
						bean.setRef(rs.getInt("ref"));
						bean.setRe_step(rs.getInt("RE_STEP"));
						bean.setRe_level(rs.getInt("RE_LEVEL"));
						bean.setReadcount(rs.getInt("READCOUNT"));
						bean.setContent(rs.getString("CONTENT"));
						//패키징한 데이터를 벡터에 저장
						v.add(bean);
					}
					
				}catch(Exception e){
					e.printStackTrace();
				}finally{
					//자원 반납
					closed();
				}
				return v;
	}

	
	

 

 

 

 

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

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

 

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

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

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

 

 

유튜브 동영상 출처 :

소프트캠퍼스

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

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

 

 

 

about author

PHRASE

Level 60  라이트

알맞게 사랑하시오. 오랜 사랑은 그런 것이다. 너무 빨리 닿는 것은 너무 늦은 것처럼 더딘 것이오. -셰익스피어

댓글 ( 4)

댓글 남기기

작성