JSP문법으로 기본 제공되는 요소
<jsp:수행명령어 속성="설정값"></jsp:수행명령어>자바코드가 많으면 가독성이 떨어짐 -> 줄일 수 있으면 줄여주기
자바코드로 구현해야 하는걸 (액션) 태그의 모양으로 바꿔준 것
자바빈으로 등록하지 않고 자바객체로 사용하는 것도 가능하지만 같은 이유로
JSP에서 사용하는 자바 클래스 객체, 인스턴스
Emp emp = new Emp(); 👉🏻 Java 객체
Java 객체를 JSP라는 컨텍스트 정보로 등록 👉🏻 자바 빈 이라는 개념으로 불리게 됨
표준적 방법에 맞게 규칙적으로 만들면 자바 빈이 됨
id="
bean 이름"
class="클래스 이름"
scope="스코프 지정" 👉🏻 생략 가능
자바 빈(Java Bean) 객체로 지정
<%
//자바 객체 생성 - 자바 스코프
Emp emp = new Emp();
//page 컨텍스트 정보로 등록 👉🏻 자바 빈
pageContext.setAttribute("emp", emp);
%>
name="
bean 이름"
property="필드명"
value="설정값"
자바빈 객체의 프로퍼티 값을 설정
name="
bean 이름"
property="필드명"
자바빈 객체의 프로퍼티 값을 불러옴
page="
삽입할 페이지 URL"<jsp:include page="" > <jsp:param value="전달값" name="전달변수이름" /> </jsp:include>JSP 페이지에서 다른 페이지의 내용을 추가할 때 사용
- include 지시자와 비슷한 기능을 수행
- include 지시자 :
<%@ include file="" %>- include 액션 :
<jsp:include page="" />
✔ 차이점- include 지시자 : JSP코드를 하나의 JSP로 합치고 나서 컴파일을 함
- 정적인 페이지를 포함시킬 수 있음
- 전달파라미터를 전달할 수 없음
- include 액션 : 각각의 JSP코드를 컴파일한 후 결과물을 합침
- 정적, 동적 페이지를 포함시킬 수 있음
- 전달 파라미터를 전달할 수 있음
forward page="
포워드 페이지"<jsp:forward page="" > <jsp:param value="전달값" name="전달변수이름" /> </jsp:forward>다른 페이지로 포워드할 때 사용하는 액션 태그
전달 파라미터를 추가할 수 있음
서버 코드를 이용하여 페이지 화면을 전환하는 동작
서버에서 수행하지만 클라이언트 입장에서 보고있는 화면이 변경됨
request스코프를 유지하면서 화면을 전환하는 방식
요청 -> 응답이 이루어지는 동안 컨텍스트 정보를 유지
요청 객체(HttpServletRequest), 응답객체(HttpServletResponse)가 유지됨
전달 파라미터가 사라지지 않음(req.getParameter())
request컨텍스트 정보가 유지됨(req.setAttribute(), request.getAttribute())
요청 URL이 변경되지 않음
브라우저의 주소 입력창이 바뀌지 않음
Controller에서 View로 MODEL값을 전달할 때 포워드 방식을 사용해야 함
서버에서 클라이언트에게 새로운 요청을 보내라는 명령으로 응답
request스코프가 새롭게 만들어짐
요청 객체, 응답객체를 새롭게 만듬
URL이 변경됨
전달 파라미터가 이어지지않음
컨텍스트 정보도 없어짐

<% %> : 자바코드 수행<%! %> : 자바 정의 코드 작성<%@ %> : JSP 설정<%= %> : 브라우저 출력될 내용 작성<%-- --%>클라이언트(브라우저)가 전송한 파일을 웹 어플리케이션이 받아들여 처리하는 절차
쿼리스트링 형식으로 전송
<<Request Message BODY 영역>>
title=a&data1=b&data2=c&upfile=파일이름
boundary 문자열을 이용하여 각각의 전송 데이터를 구분하는 형식
<<Request Message BODY 영역>>
title=a
----WebKitFormBoundaryBehiZFWmkZ73c3tY
data1=b
----WebKitFormBoundaryBehiZFWmkZ73c3tY
data2=c
----WebKitFormBoundaryBehiZFWmkZ73c3tY
upfile=파일의 내용물