Light Purple Pointer
Scope ) Page 영역
·
BACKEND/Java
page 영역은 기본적으로 클라이언트의 요청을 처리하는 데 관여하는 JSP페이지마다 하나씩 생성된다. page 영역을 사용하기 위한 pageContext 객체를 할당받게 되는데, 이 객체에 저장된 정보는 해당 페이지에서만 사용할 수 있고 페이지를 벗어나면 소멸된다. 예제) PageContextMain.jsp 생성 page 영역의 속성값 읽기 Integer 객체 : String 객체 : Person 객체 : , include된 파일에서 page 영역 읽어오기 페이지 이동 후 page 영역 읽어오기 PageLocation.jsp 바로가기 include 파일인 PageInclude.jsp 생성 Include 페이지 Integer 객체 : String 객체 : Person 객체 : , 화면 출력 태그 링크로 이..
데이터 전송 객체(DTO) 준비, 자바빈즈
·
BACKEND/Java
데이터 전송객체 DTO란 데이터를 전송하거나 저장하는데 쓰이는 객체로 , 데이터만 담고있음. DTO는 자바빈즈JavaBeans 규약에 따라 작성한다. 자바빈즈 규약 1) 기본 패키지 이외의 패키지에 속해야함 2) 멤버 변수의 접근 지정자는 private으로 선언 3) 기본 생성자가 있어야함 4) 멤버 변수에 접근할 수 있는 게터getter 세터 setter가 있어야함 5) 게터와 세터 메서드의 접근 지정자는 public으로 선언해야함 예제) Person DTO 작성 package common; public class Person { //멤버 변수 private String name; private int age; //기본 생성자 public Person() { } //게터,세터 생성 public Stri..
북마켓 프로젝트 9
·
BACKEND/Jsp
MySQL DB연결하기 marketdb생성 Apply use marketdb; DROP TABLE IF EXISTS BOOK; CREATE TABLE IF NOT EXISTS Book ( id VARCHAR(10) PRIMARY KEY, name VARCHAR(20), unitPrice INTEGER, author VARCHAR(50), publisher VARCHAR(20), description TEXT, category VARCHAR(20), unitsInStock LONG, totalPages LONG, releaseDate VARCHAR(20), b_condition VARCHAR(20), fileName VARCHAR(20) ); book으로 저장 데이터 입력 INSERT INTO Book V..
북마켓 프로젝트 8
·
BACKEND/Jsp
주문하기 요청하면 배송정보페이지 cart.jsp 주문하기 버튼 수정 주문하기 shipping.jsp 파일 생성 배송 정보 성명 배송일 국가명 우편번호 주소 이전 취소 이미 장바구니 정보는 세션에 저장되어있음. 화면 출력 취소 버튼 눌렀을 경우 취소페이지로 이동 orderCancel.jsp 파일 생성 주문 취소 주문이 취소되었습니다. « 도서목록 shipping.jsp에서 등록 버튼 누르면 processShipping.jsp으로 이동함 processShipping.jsp파일 생성 ** 쿠키에 주문 배송 정보를 저장한다. ***setMaxAge : 쿠키 생존 시간 (초 단위) **** : 쿠키를 한글로 저장 시 URLEncoder 클래스를 사용해서 저장 시 encode를 한다. Cookie cartId = ..
북마켓 프로젝트 7
·
BACKEND/Jsp
장바구니에 책 담기 dto -> Book.java 멤버변수 추가 private int quantity; // 장바구니에 담은 개수 public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } book.jsp 재고수 밑에 수정 도서주문 » 장바구니 » 도서목록 » 도서 정보 [] 도서코드 : 저자 : 출판사 : 출판일 : 총 페이지수 : 재고수 : 원 도서주문 » 장바구니 » 도서목록 » 출력화면 도서주문 클릭 시 addCart.jsp 파일 생성 삭제하기 주문하기 도서 가격 수량 소계 비고 - 삭제 총액 « 쇼핑 계속하기 삭제 버튼을 눌렀을 시 id가 넘어감 해당 ..
북마켓 프로젝트 6
·
BACKEND/Jsp
관리자용 페이지 만들기 1. 관리자 계정 만들기 밑에 admin계정 및 패스워드 만들기 오류나는거 무시 함 관리자 권한 인정해줌 여러명이면 아래에 더 복사해서 작성하면 됨. web.xml web.xml 추가 관리자 admin BookMarket Security BookMarket /addBook.jsp 관리자 권한 admin url-pattern 관리자만 addBook.jsp 사용할 수 있다. role-name = tomcat에서 지정한 관리자 관리자인지 아닌자 확인하도록 로그인 페이지를 만들어줌 web.xml 추가 작성 FORM /login.jsp /login.failed.jsp *참고 ) WEB-INF에서 만든 파일은 servlet을 통해서만 접근가능함. login.jsp 파일 생성 후 코드 작성 t..
북마켓 프로젝트 5
·
BACKEND/Jsp
도서 등록 시 유효성 검사 폼 입력시 입력값이 올바른지 판단해서 잘못된 경우 알려주는 프로그램 작성 validation.js /** * 폼 입력시 입력값이 올바른지 판단하여 잘못된 경우 알려준다. * * 폼태그의 이름 입력창의 이름 , 그 값 */ function CheckAddBook() { const bookId = document.newBook.bookId; // 도서 아이디 입력창 const name = document.newBook.name.value; // 도서명 const unitPrice = document.newBook.unitPrice.value; // 가격 const author = document.newBook.author.value; // 저자 const publisher = do..
북마켓 프로젝트 4
·
BACKEND/Jsp
상세 정보와 도서 목록에 각 책 이미지 추가 Book.java 파일에 코드 추가 private String filename; // 이미지 파일명 public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } BookRepository.java 에 코드 추가 html.setFilename("ISBN1234.jpg"); java.setFilename("ISBN1235.jpg"); spring.setFilename("ISBN1236.jpg"); 정적인 파일을 넣을 폴더 생성 resources css폴더 생성 https://getbootstrap.com/docs..
북마켓 프로젝트 3
·
BACKEND/Jsp
상세정보를 클릭하면 그 책의 상세 정보를 출력하는 코드 작성 book.jsp 생성 도서 정보 [] 도서코드 : 저자 : 출판사 : 출판일 : 총 페이지수 : 재고수 : 원 도서주문 » 도서목록 » dao. BookRepository 수정하기 package dao; import java.util.ArrayList; import dto.Book; public class BookRepository { private ArrayList listOfBooks = new ArrayList(); //dto의 Book import //모든 책리스트를 리턴하는 메서드 public BookRepository() { Book html = new Book("ISBN1234", "HTML5+CSS3", 15000); html.s..
북마켓 프로젝트2
·
BACKEND/Jsp
dto 폴더 생성 -> Book 클래스 생성 DTO : 데이터를 전달하는 객체 책이라면 책에 관련된 데이터를 전달하는 객체임 package dto; public class Book { private String bookId; // 도서 아이디 private String name; // 도서명 private Integer unitPrice; // 가격 private String author; // 저자 private String description; // 설명 private String publisher; // 출판사 private String category; // 분류 private long unitsInStock; // 재고 수 private long totalPages; // 페이지 수 priva..