728x90
CREATE TABLE BOOK(
BOOK_ID NUMBER,
TITLE VARCHAR2(300),
CATEGORY VARCHAR2(100),
PRICE NUMBER,
CONTENT VARCHAR2(4000),
INSERT_DATE DATE,
CONSTRAINT PK_BOOK PRIMARY KEY(BOOK_ID)
);
태이블 생성
BookVO 클래스 생성
package kr.or.ddit.vo;
import java.util.Date;
//자바빈 클래스
//1) 멤버변수 2)기본 생성자 3) getter/setter메소드
public class BookVO {
//멤버변수
private int bookId;
private String title;
private String category;
private int price;
private String content;
private Date insert_Date;
//기본 생성자
public BookVO() {
}
//getter/setter
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getInsert_Date() {
return insert_Date;
}
public void setInsert_Date(Date insert_Date) {
this.insert_Date = insert_Date;
}
@Override
public String toString() {
return "BookVO [bookId=" + bookId + ", title=" + title + ", category=" + category + ", price=" + price
+ ", content=" + content + ", insert_Date=" + insert_Date + "]";
}
}
BookController 클래스 생성
package kr.or.ddit.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import kr.or.ddit.vo.BookVO;
import lombok.extern.slf4j.Slf4j;
/* Controller 어노테이션
스프링 프레임워크에게 "이 클래스는 웹 브라우저의 요정(equest)를
방아들이는 컨트롤러야"라고 알려주는 것임
스프링은 servlet-context.xml의 context:component-scan의 설정에 의해
이 클래스를 자바빈 객체로 등록(메모리에 바인딩)
*/
@Slf4j
@Controller
public class BookController {
/*
요청URL : /create
요청파라미터 : 없음
요청방식 : get
BookVO [bookId=0, title=이순신의 모험, category=소설, price=10000, content=null, insert_Date=null]
*/
@RequestMapping(value="/create", method=RequestMethod.GET)
public ModelAndView create() {
/*
ModelAndView
1) Model : Controller가 반환할 데이터(String, int, List, Map, VO..)를 담당
2) View : 화면을 담당(뷰(View : JSP)의 경로)
*/
ModelAndView mav = new ModelAndView();
//forwarding : JSP를 처리, 컴파일하여 HTML로 만들어 리턴
//prefix : /WEB-INF/views/
mav.setViewName("book/create");//book=폴더, creqate=파일
//suffix : .jsp
//조립되면 : /WEB-INF/views/book/create.jsp
return mav;
}
/*
요청URL : /create
요청파라미터 : {title=이순신의 모험, categoty=소설, price=35000}
요청방식 : post
*/
@RequestMapping(value="/create", method = RequestMethod.POST)
public ModelAndView createPost(HttpServletRequest requeset
, ModelAndView mav, BookVO bookVO) {
String title = requeset.getParameter("title");
String category = requeset.getParameter("category");
String price = requeset.getParameter("price");
//log.info("title : " + title + ", category : " + category +
// "price : " + price);
log.info("bookVO : " + bookVO);
//forwarding
mav.setViewName("book/create");
return mav;
}
}
create.jsp생성
<%@ 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>Insert title here</title>
</head>
<body>
<h1>책 등록</h1>
<!-- 뷰(View) : 화면을 담당
Client -> 요청(/create) -> Server(create()메소드와 매핑. View에 create.jsp를 포워딩)
<- 응답(create_jsp.java, create_jsp.class, HTML**) <-
웹 브라우저(크롬)에서 HTML을 렌더링 : 브라우저가 읽어서 해석
-->
<!--
요청URL : /create
요청파라미터 : {title=이순신의 모험, categoty=소설, price=35000}
요청방식 : post
-->
<form action="/create" method="post">
<!-- 폼 데이터 -->
<p>제목 : <input type="text" name="title" required></p>
<p>카테고리 : <input type="text" name="category" required></p>
<p>가격 : <input type="number" name="price" maxlength="10"
required></p>
<p>
<input type="submit" value="저장" />
<input type="button" value="목록" />
</p>
</form>
</body>
</html>
모든 요청은 Controller에서 받는다
pom.xml 하기 일단 전에
lombok을 설정할건데
Lombok은 Java 기반에서 기계적으로 작성하는 VO, DTO, Entity 관련 작업을 쉽게 할 수 있게 해주는 라이브러리
Lombok을 이용하면 Getter, Setter, ToString, hashCode 등의 메소드들을 간편하게 사용할 수 있게 해준다
복사
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
xml에
dependencies에 추가 하고
4번 실행
lombok이 들어있는 파일에 들어가서 경로는 위에 이미지 참고
cmd검색
cmd 창에서
java -jar lombok-1.18.22.jar
엔터 치면 이거 뜸
그러면 Specify location클릭
내가 쓰는 이클립스 경로 찾아감
이클립스 선택후 Select
하고 install하셈
하고 서버를
stop하고
이클립스를 닫고
다시킴
그리고 실행해보기
실행
결과
'Spring > Spring 기초' 카테고리의 다른 글
Spring 템플릿 만들기 (0) | 2023.07.18 |
---|---|
Spring jstl추가 (0) | 2023.07.18 |
Spring Log4j 설정 (0) | 2023.07.18 |
Spring Filter(필터) 설정 (0) | 2023.07.18 |
Spring Maven설정 (0) | 2023.07.18 |