Java Servlet #2

Jay·2023년 4월 14일
0

JAVA

목록 보기
2/4
post-thumbnail

html문서를 만들자

bookinput.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>책을 등록해보자</title>
</head>
<body>
	<form action="bookReg" method="post">
		책제목 : <input type="text" name="title"><br>
		저자 : <input type="text" name="author"><br>
		출판사 : <input type="text" name="publisher"><br>
		<input type="submit" value="등록">
	</form>
</body>
</html>

form태그는 현재 bookReg로 이어져 있다.
submit을 하면 어떤 결과가 생겨야 하는데, 이걸 어떻게 구현할까.

클래스를 만들어보자(Feat.캡슐화?)

Book.java

package com.edu.test;

public class Book {
	private String title;
	private String author;
	private String publisher;
	
	public String getTitle() {
		return title;
	}
	
	public void setTitle(String title) {
		this.title = title;
	}
	
	public String getAuthor() {
		return author;
	}
	
	public void setAuthor(String author) {
		this.author = author;
	}
	
	public String getPublisher() {
		return publisher;
	}
	
	public void setPublisher(String publisher) {
		this.publisher = publisher;
	}
}

보면 Book클래스 안의 멤버변수들이 private지정되어 있고 여기에는 getter랑 setter를 통해서 접근하고 있다.
Java는 객체지향 언어로서 캡슐화, 상속, 다형성, 추상화, 정보은닉, 관계성의 특징이 있음(Feat.정처기ㅠㅠ)
이것이 캡슐화구나 좀 와닿는다.

그럼 이것에 어떻게 접근할 건가.

서블릿 작성

(귀찮아서 이미지로 대체)
BookTest1Servlet.java
BookTest1Servlet
8번째줄에서 처음 작성한 html의 action값이 webServlet경로로 지정된 것을 볼 수 있다.
21번째 줄에서 book이 생성되는 걸 볼 수 있음.
17-19번째줄에서, http요청된 파라미터를 각각의 변수에 저장하고 있다.
22-24번째줄에서, Book의 멤버변수는 private이나 getter랑 setter는 public이므로 거기에 접근해서 상기에 저장한 변수를 set해주는 중..

근데 여기서 req.setAttribute("book", book) 은 왜 하는 거지?
이건 좀 더 알아보도록 하자..

profile
ㄱ이 아닌 개발자가 되고 싶은 사람

0개의 댓글