안드로이드2018. 8. 1. 10:57

※ 서버사이드 언어는 JSP로 작성


1. 게시글 각각의 데이터를 담을 VO를 작성한다. - Board.java

  게시판 구조는 게시글번호(nno), 제목(title), 내용(content), 작성일(createDate)로 구성.

public class Board {
  protected int nno;
  protected String title;
  protected String content;
  protected String createDate;
  
  public int getNno() {
    return nno;
  }
  public void setNno(int nno) {
    this.nno = nno;
  }
  public String getTitle() {
    return title;
  }
  public void setTitle(String title) {
    this.title = title;
  }
  public String getContent() {
    return content;
  }
  public void setContent(String content) {
    this.content = content;
  }
  public String getCreateDate() {
    return createDate;
  }
  public void setCreateDate(String createDate) {
    this.cre_dt = createDate;
  }
}


2. 서버로부터 게시글 리스트를 가져오는 쿼리를 작성한다. - get_list.jsp

  그리고 가져온 데이터를 json 형식으로 출력하는 코드를 작성한다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="org.json.simple.*" %>
<%@ page import="java.sql.*" import="java.util.*" 
    import="VO작성한패키지.Board" %>
<%
Connection con = null;
Statement stmt = null;
List list = null;
try {
  Class.forName("com.mysql.cj.jdbc.Driver");
  con = DriverManager.getConnection("jdbc:서버주소?serverTimezone=UTC", "아이디", "비밀번호");
  if(con == null)
    throw new Exception("데이터베이스에 연결할 수 없습니다.");
 
  stmt = con.createStatement();
  String query = String.format("SELECT * FROM BOARD ORDER BY createDate DESC"); 

  list = new ArrayList(); // 리스트 생성
  Board board = null;
  ResultSet rs = stmt.executeQuery(query);

  JSONObject jObject = new JSONObject(); // 객체를 담을 JSON 오브젝트 생성
  JSONArray jArray = new JSONArray(); // 객체 리스트를 담을 JSON 배열 생성

  int jCount = 0; // JSON 형식 배열 index
  while(rs.next()) {
    JSONObject innerObj = new JSONObject();
    innerObj.put("nno", rs.getInt(1)); // 게시글 번호
    innerObj.put("title", rs.getString(2)); // 게시글 제목
    innerObj.put("content", rs.getString(3)); // 게시글 내용
    innerObj.put("createDate", rs.getString(4)); // 게시글 작성일
    jArray.add(jCount, innerObj);
    jCount++;
  }
  jObject.put("data", jArray);
  out.print(jObject);

  rs.close();
} catch(Exception e) {
  e.printStackTrace();
} finally {
  try {
    stmt.close();
    con.close();
  } catch(Exception ignored) {}
}
%>
Posted by 홍규홍규