ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 게시물목록(jsp버전)
    JAVA 2021. 7. 25. 00:03

    게시물목록

    1. 업무규칙

    -> 서버에서 처리되야하니 자바코드로

    2. 데이터수집

    -> Java

    3. 목록출력

    -> HTML에 출력


    >>게시물목록.jsp

     

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*" %>  
            
    <%
    // 1. 업무규칙검사
    // 했다치고
    
    // 2. 데이터수집
    		try {
    			Class.forName("com.mysql.cj.jdbc.Driver");
    
    			Connection DB연결관리자 = DriverManager.getConnection("jdbc:mysql://localhost:3306/board1_1?useUnicode=true",
    					"root", "1234");
    
    			Statement 명령전달자 = DB연결관리자.createStatement();
    
    			System.out.println("연결 성공");
    
    			String 수집SQL = "select * from 게시물;";
    
    			ResultSet 수집된표관리자 = 명령전달자.executeQuery(수집SQL); 
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
    <center>
    <!-- 3. 목록출력 -->
    <h1>게시물목록</h1>
    <ul>
    <%
    			int i = 1;
    			while(수집된표관리자.next()) {
    %>
    			
    <!-- 3-1. 게시물 1개출력 -->	
    <li>
    <%= i++ %>
    <%= 수집된표관리자.getString("제목") %> &nbsp;&nbsp;
    <%= 수집된표관리자.getDate("작성일").toString() %> &nbsp;&nbsp;
    <%= 수집된표관리자.getInt("조회수") %>
    </li>
    
    <%			
    		}
    			수집된표관리자.close();
    			DB연결관리자.close();
    
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    %>
    </ul>
    </center>
    
    </body>
    </html>

    ResultSet의 표를 객체로 출력

    위의 ResultSet 이 가져온 Query결과(Select-from)의 표는 자바객체 즉, 완제품으로 가져온 것이 아니라

    부품들을 하나씩 가져온것 뿐이다.

    (클라이언트에게서 정보를 받아 DB에 저장했을 때와 같은 논리 =

    하나씩 String으로 받기 보단 java파일로 클래스를 하나 만들어 DB와 멤버가 동일한 객체를 생성해 객체로 set하고 get으로 얻었다.)

    그러면 페이지소스를 확인했을 때 HTML의 글로 보이기 때문에 이 글들의 출처가 어디일 지 알 수가 없다.

    그래서 이번엔 ResultSet이 가져온 표를 객체로 바꿔보자.

    Collection을 사용해야한다.

    [] = 원시배열(java 이론에 원래 있던 배열)

    Collection의 클래스들 = library에 있는 따로 만들어낸 배열

    둘의 차이점: 원시배열 삽입/삭제 불가(고정길이) , Collection클래스는 삽입/삭제(가변길이)/원하는 값 가져오기 등 여러가지 가능

    그 중 List의 클래스인 ArrayList를 사용할 것이다.

     

    >> 게시물목록2.jsp

     

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%>
    <%@page import="java.util.*"%>
    <%@ page import="boardmanage.게시물"%>
    
    <%
    	// 1. 업무규칙검사
        // 했다치고
    
    ArrayList<게시물> array게시물 = new ArrayList<게시물>();
    // 2. 데이터수집
    try {
    	Class.forName("com.mysql.cj.jdbc.Driver");
    
    	Connection DB연결관리자 = DriverManager.getConnection("jdbc:mysql://localhost:3306/board1_1?useUnicode=true", "root",
    	"1234");
    
    	Statement 명령전달자 = DB연결관리자.createStatement();
    
    	System.out.println("연결 성공");
    
    	String 수집SQL = "select * from 게시물";
    	ResultSet 수집된표관리자 = 명령전달자.executeQuery(수집SQL);
    		int 일련번호 = 1;
    
    		while (수집된표관리자.next()) {
    			
    	int 게시물번호 = 수집된표관리자.getInt("번호");
    	String 제목 = 수집된표관리자.getString("제목");
    	java.sql.Date 작성일 = 수집된표관리자.getDate("작성일");
    	int 조회수 = 수집된표관리자.getInt("조회수");
    	
    	게시물 게시물1 = new 게시물();
    
    	게시물1.set번호(게시물번호);
    	게시물1.set제목(제목);
    	게시물1.set작성일(작성일);
    	게시물1.set조회수(조회수);
    
    	array게시물.add(게시물1);
    
    		}
    
    	수집된표관리자.close();
    	DB연결관리자.close();
    } catch (Exception e) {
    	e.printStackTrace();
    }
    %>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
    	<center>
    		<!-- 3. 목록출력 -->
    		<h1>게시물목록</h1>
    		<ul>
    			<%
    				for(int i = 0; i<array게시물.size(); i++)
    				{
    					게시물 수집된게시물 = array게시물.get(i);
    			%>
    
    
    			<!-- 3-1. 게시물 1개출력 -->
    			<li>
    			<%= 수집된게시물.get제목() %> &nbsp;&nbsp; 
    			<%= 수집된게시물.get작성일().toString() %>&nbsp;&nbsp; 
    			<%= 수집된게시물.get조회수() %> 
    			</li>
    			
    <%
     	}
     %>
    
    <a href="게시물등록준비.jsp">글쓰기</a>
     
    </ul>
    </center>
    
    </body>
    </html>

    >> 게시물등록준비.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <center>
    	<h1>게시물등록 제목</h1>
    	<form action="게시물등록.jsp" method="post">
    		제목<input type="text" name="title" maxlength="50"> <br> 
    		내용<textarea col1=10 rows=10 name="contents"></textarea>
    		<input type="submit" value="등록">
    	</form>
    <a href="게시물목록2.jsp">목록으로</a>
    </center>
    
    </body>
    </html>

    'JAVA' 카테고리의 다른 글

    게시물Paging+페이지블럭(jsp버전),DAO  (0) 2021.07.25
    게시물목록,상세보기,Paging(jsp버전)  (0) 2021.07.25
    JSP-MySQL,게시물등록(jsp버전)  (0) 2021.07.24
    JDBC  (0) 2021.07.24
    JAVA와 DBMS연결하기-JDBC  (0) 2021.07.24

    댓글

Designed by Tistory.