<%@ include %> => 디렉티브, 정적(내용이 고정) -파라미터 X
<jsp: include> => 액션태그, 동적 - 파라미터O
request 객체 -> request 클래스 존재(JSP에서 기본적으로 제공하는 객체)
VO객체를 JSP에서 쉽게 가져오는 방법
<jsp: => 액션태그(JSTL이 아님)
forward : (second.jsp로)이동하고 끝남
include : 갔다가 다시 옴
ex) 반장을 아예 위임하는 것 : forward
임시로 반장 권한을 위임받았다가 다시 돌려주는 것 : include
flush=false (치킨+떡볶이를 같이 담아서 보냄)
flush=true (치킨을 먼저 보내고 떡볶이를 보냄)
<%@page import="java.util.Date"%>
<%@ 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>
<h2>include 액션 태그</h2>
<jsp:include page="includeAction04.jsp" flush="false">
<jsp:param name="date" value="<%=new Date()%>"/>
</jsp:include>
<p>-----------------</p>
</body>
</html>
<%@page import="java.util.Date"%>
<%@ 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>
<p>오늘은 몇일? 그리고 지금 시간은?</p>
<p><%=(new Date()).toLocaleString()%></p>
</body>
</html>
request객체에 parameter가 담겨있음
request객체는 하나의 요청이 끝날때까지 살아있음.
응답이 끝났을 때 request가 끝난다.
날짜를 출력할 때 : Date() 사용
날짜를 계산하거나 작업할 때 : Calendar 사용
page영역은 하나의 JSP 내에서 pageContext를 공유하여 씀.
자바빈 클래스의 조건
1. field가 있어야 한다.
2. getter, setter 메서드가 있어야 한다.
3. 기본생성자가 있어야 한다.
=> MVC 패턴을 사용하기 위해
M(Model) : 비즈니스 로직, 자바빈 클래스
V(View) : jsp (HTML)
C(Controller) : Servlet (모든 요청을 받아들임)
화면을 출력하는 부분하고 데이터를 처리하는 로직(비즈니스 로직)을 분리.
로직(비즈니스 로직) 부분의 코드에 자바빈즈라는 클래스를 사용
ex) 짜장면집
요청(View) => 전화받는 사람 = 사장님(Controller) => 주방장(Model) => 재료(DB)
재료(DB)를 담을 그릇이 필요 - 이 그릇이 바로 자바빈클래스
객체가 만들어졌을 때 그것을 담아서 보낼 그릇
<jsp:useBean id="아이디 지정" class="패키지명.클래스명" />
클래스를 객체로서 사용이 가능하다.
id는 객체명
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.Date"%>
<!DOCTYPE html>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<%
// Date date = new Date();
%>
<!-- new Date()와 같은 의미 -->
<jsp:useBean id="date" class="java.util.Date" />
<p>오늘 날짜 및 시간 : </p>
<p><%=date%></p>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="ch04.com.dao.Calculator"%>
<!DOCTYPE html>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<%
/* Calculator bean = new Calculator();
//m은 5 * 5 * 5
int m = bean.process(5);
out.print("5의 3제곱: " + m); */
%>
<jsp:useBean id="bean" class="ch04.com.dao.Calculator" />
<%
int m = bean.process(5);
out.print("5의 3제곱: " + m);
%>
</body>
</html>
<%@ 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>
<p>이름 : <%=person.getName()%></p>
</body>
</html>