간단한 기능이 들어간 인터넷 서점을 만들어 보겠다. 우선은 리스트만 띄우는 것으로 하겠다.
# 프로젝트 내의 내용
- 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객체
# 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 |
최근댓글