글 작성후 게시판 메인화면에 글목록이 출력이 되도록 하려고 한다.

 

1. 데이터베이스에서 글의 목록을 가져오는 소스코드를 작성하고

   LatestDAO클래스에 리스트를 담아 반환해주는 ArrayList<Latest>함수를 작성한다.

 

1)특정한 리스트를 담아서 반환할 수 있도록 한다.

게시판은 페이지를 넘어가면서 글들을 읽을 수 있게 한다.

 

2)ArrayList 작성후 외부라이브러리에서 가져올 수 있도록 한다. shift + ctrl + o

public AarrayList<Bbs> getList(int pageNumber) {

ArrayList<Latest> list = new ArrayList<Latest>();

}

 

3)특정한 페이지에 따른 총 10개의 게시글을 가져올 수 있도록 한다.

(10개까지의 데이터만 가져올 수 있도록 쿼리문 작성한다.)

String SQL = "SELECT * FROM LATEST WHERE latestID < ? AND latestAvailable =1 ORDER BY latestID DESC LIMIT 10";

 

3) try catch문에서 try 내에 SQL문을 연결하는 구문 작성한다.

다음게시글의 순서를 가져와서 번호를 예상하게 해서 페이지를 설정하는 구문작성한다.

쿼리를 실행하는 구문작성한다.

 

4)while문 내에 latest인스턴스를 생성해서 set을 해주고 결과를 get으로 가져와서

list에 해당 리스트를 받아와서 add를 통해 반환할 수있도록 한다.

 

PreparedStatement pstmt = conn.prepareStatement(SQL);

pstmt.setInt(1, getNext() -(pageNumber -1) * 10);

rs = pstmt.executeQuery();

while (rs.next()) {

Latest latest = new Latest();

latest.setLatestID(rs.getInt(1));

latest.setLatestTitle(rs.getString(2));

latest.setUserID(rs.getString(3));

lateest.setLatestContent(rs.getString(4));

latest.setLatestAvailable(rs.getInt(6));

list.add(latest);

}

}catch (Exception e) {

e.printStackTrace();

}

return list;

 

5)그리고 try catch문에서 catch문 밖에 return으로 list최종적으로 반환할 수 잇게 해준다.

 

 

2. 페이징처리를 위해 함수를 작성한다.

 

-게시글이 10개라면 다음페이지가 존재하지 않으니

 10개글 또는 10개내의 글의 수만 있다면 다음페이지가 보이지 않게 한다.

-booleantry catch문의 적용

 

public boolean nextPage(int pageNumber) {

String SQL = "SELECT * FROM LATEST WHERE latestID < ? AND latestAvailable = 1";

try{

PreparedStatement pstmt = conn.preparedStatement(SQL);

pstmt.setInt(1, getNext() * (pageNumber-1) * 10);

rs = pstmt.executeQuery();

if(rs.next()) {

return true;

}

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

}

 

 

1번 2번 작성내용

 

3. 위의 두가지 함수를 이용해서 커뮤니티발견(게시판)화면에서 게시글을 볼 수있도록한다.

  latest.jsp 에서 작업

 

1)위의 DAOarraylist를 가져오기 위한 jsp 설정

게시글 누를때에 밑에 밑줄 친 부분이 안보이도록 style로 수정해주기

user아이디 세션관리 할 수 있도록 구문 작성

pageNumberrequest로 받아와서 해당 Parameter의 값을 넣어주어 정수형으로

바꾸어준다.

 

사진

 

2)userID가 없다면 로그인 회원가입 페이지 보여주기 그대로 유지

-아니라면 회원관리 페이지 보여주기

 

3)게시글을 뽑아 올 수 있도록 인스턴스 생성 및 arraylist로 페이지 넘버 얻기

* <% } %> ->으로 위의 구문내용의 끝맺음을 해준다.

 

 

다음버튼

 

이전버튼

+ Recent posts