간단한 기능이 들어간 인터넷 서점을 만들어 보겠다. 우선은 리스트만 띄우는 것으로 하겠다.

 

# 프로젝트 내의 내용

BookMarket 프로젝트의 내용

- Java Resources
   BookRepository.java
  : jsp내의 fuction기능을 담고 있음
   Book.java : book객체의 속성을 담고 있음

- WebContent(Root Path) : jsp와 css js를 담고 있음.
   css: bootstrap의 내용을 가져다 저장해놓음
   js :  유효성검사나 기타 jsp내에서의 기능을 다루기 위해 만들어 놓음
   upload : 업로드한 이미지 파일이 올라갈 곳

 

# 1. VO정의(Book.java)

Book이라는 객체의 성격을 정의하고, 그 밑에 setter, getter,생성자 그리고 toString을 쓴다.
(속성의 내용을 갖고올때, 수정할때를 위해서) 맨 밑의 filename은 후에 파일 업로드를 위한 vo객체

   

Book객체의 내용

 

 

 

 

# 2. 리스트 출력 기능에 대한 작성(BookRepository.java)

 테스트용으로 임의의 객체를 2개 넣고 Book객체의 속성들을 한 곳에 넣을 list를 만든다.
그리고 jsp에서 객체한번만 선언하기 위하여 싱글턴 패턴을 짰다. 테스트자료는 임의로 
setter를 통해넣어준 후 list.add를 통해 list안에 vo를 넣어 주었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package ch04.com.dao;
 
import java.util.ArrayList;
import java.util.List;
 
import dto.Book;
 
public class BookRepository {
    
    //Book객체를 넣기 배열에 넣음
    private List<Book> listofBooks = new ArrayList<Book>();
    
    //싱글턴패턴
    private static BookRepository instance = new BookRepository();
    public static BookRepository getInstance() {
        return instance;
    }
 
    //테스트용
    //생성자로 임의의 책 리스트를 채운다.
    public BookRepository() {
        Book book1 = new Book("혼자공부하는자바"24000"신용권"
                "한빛출판사""혼자해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 이 책은 독학으로 자바를 배우는 입문자가
 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게,
 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다!");
        book1.setIsbn("10187");
        book1.setBdate("20190619");
        book1.setTotalpage(708);
        book1.setCategory("Java");
        book1.setStock(1000);
        book1.setCondition("E-BOOK");
        book1.setFilename("10187.jpg");
        
        Book book2 = new Book("점프투파이선"18000"박응용"
                "이지스퍼블리싱""이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 
프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 쓰려고 노력하였으며, 파이썬이란 언어의 개별적인 특성만을 강조하지 않고 프로그래밍
 전반에 관한 사항을 파이썬이란 언어를 통해 알 수 있도록 알기 쉽게 설명하였다.");
        book2.setIsbn("10188");
        book2.setBdate("20220512");
        book2.setTotalpage(300);
        book2.setCategory("파이선");
        book2.setStock(800);
        book2.setCondition("신규도서");
        book2.setFilename("10188.jpg");
        //임의 책 book1을 넣음
        listofBooks.add(book1);
        listofBooks.add(book2);
    }
    
    //모든 Book리스트 출력
    public List<Book> getAllBooks(){
        return listofBooks;
    }
}
cs

 

 

# 3. jsp작성을 통하여 출력해보기(books.jsp)

 

스크립트태그롤 통하여 싱글턴패턴을 갖고오고 for문으로 Book객체안에 있는 모든 자료들을 출력시킨다.
표현식태그는 싱글턴패턴안에 있는 getter,setter로 변수에 들어갈 자료를 넣어준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<%@page import="ch04.com.dao.BookRepository"%>
<%@page import="dto.Book"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>도서 목록</title>
<link rel="stylesheet" href="/css/bootstrap.min.css"/>
</head>
<body>
<%
//싱글턴패턴
BookRepository bookDAO = BookRepository.getInstance();
%>
 
<!-- top 인클루드 -->
<jsp:include page="top.jsp"/>
<!-- top 인클루드 -->
 
<%
    List<Book>listOfBooks = bookDAO.getAllBooks();
%>
<div class="container">
 
<%
    for(int i=0; i<listOfBooks.size();i++){
        Book book = listOfBooks.get(i);
%>
    <div id="content" >
        <div class="img">
            <img src="/BookMarket/upload/<%=book.getFilename()%>">
        </div>
        <div class="col-md-4" style="display: inline;">
            <h4><b>[<%=book.getCategory()%><%=book.getbName()%></b></h4>
            <p><%=book.getDetail()%></p>
            <p><%=book.getWriter()%> || <%=book.getCompany() %> || <%=book.getbPrice()%></p>
            
        </div>
    </div>
    <div class="btn-wrap">
    <a href="book.jsp?isbn=<%=book.getIsbn()%>"><button class="btn btn-secondary">상세정보</button></a>
    </div>    
        
<%
    }
%>
 
</div>
 
<footer>
<!-- bottom 인클루드 -->
<jsp:include page="bottom.jsp"/>
<!-- bottom 인클루드 -->
</footer>
</body>
</html>
cs



 

# 4. 완성자료

 

'Coding story > go Spring,JSP' 카테고리의 다른 글

dbcp와 jdbc #1 - 개념과 설치  (0) 2022.01.22
Session  (0) 2022.01.18
JSTL과 EL  (0) 2022.01.17
인터넷 서점 만들어보기(JSP/Java)- 2.상세정보보기  (0) 2022.01.17
정규표현식  (0) 2022.01.15
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기