MVC 패턴
M(Model) : 비즈니스 로직(service,dao,vo), 자바빈 클래스
V(View) : jsp -> html처럼 사용하기(태그의 집합체)
C(Controller) : Servlet(모든 요청을 한곳으로 집중해줌)
화면을 출력하는 부분하고 데이터를 처리하는 로직(비즈니스 로직)을 분리.
로직(비즈니스 로직) 부분의 코드에 자바빈즈라는 클래스 사용
*자바빈즈의 동작 흐름
1) 웹 브라우저가 톰켓(컨테이너: 웹서버 + 서블릿)에게 JSP 페이지 요청
2) 자바빈즈와 통신
3) 자바빈즈가 데이터베이스에 연결
4) 톰켓이 웹 브라우저에게 응답
package ch04.com.dao;
import java.io.Serializable;
//자바빈 클래스
public class MemberBean implements Serializable {
//1.필드(멤버 변수, 프로퍼티) 정의
private int id;
private String name;
//2.기본 생성자
public MemberBean() {
}
//3.Getter/Setter() 메소드
//get: 멤버 변수에 저장된 값을 가져올 수 있음
public int getId() {
return id;
}
//set: 멤버 변수에 값을 저장할 수 있음
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
자바빈 클래스에는 1.필드 정의, 2.기본 생성자, 3.getter/setter()메소드를 정의해야함!!
<%@ 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>Action Tag</title>
</head>
<body>
<!-- private int id = 20181004;
private String name = "개똥이";
-->
<jsp:useBean id="person" class="ch04.com.dao.Person" />
<p>아이디 : <%=person.getId() %>
<p>이름 : <%=person.getName() %>
</body>
</html>
package ch04.com.dao;
import java.io.Serializable;
//자바빈 클래스
public class Person implements Serializable {
//Serializable를 받아서 Person 클래스를 구현한다.
//1.필드
private int id = 20181004;
private String name = "개똥이";
//2.기본생성자(생략가능)
public Person() {
}
//3.getter/setter메소드
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
펄슨에서 받아와서 jsp에서 실행되는 것!