728x90
반응형

 

액션태그

jsp의 스크립트태그가 아닌
자신만의 태그를 이용하여 jsp내에서 어떠한 동작을 하도록 지시하는 태그
SYNTAX
<jsp:액션태그명 속성명="속성값" ...=""></jsp:액션태그명>
<jsp:액션태그명 속성명="속성값" ...="">필요한컨텐츠</jsp:액션태그명>

forwardinclude의 차이
<jsp:forward (페이지 이동 방식 방법)
: jsp페이지는 buffer사이즈를 설정하지 않으면 기본으로 8kb를 가진다.
출력 내용이 8kb가 넘게 되면 버퍼를 비우고(화면으로 출력)하는데,
forward는 버퍼에 쌓인 내용을 기본적으로 모두 제거하므로, 출력되는 내용이 없게 된다.
따라서 이동하는 페이지의 내용만 표시가 된다.
<jsp:include 
- 해당 파일을 모두 처리하여 반환된 결과물(html로 컴파일 된 것)만 받아옴.
- 따라서 include에 선언된 메소드, 변수 등을 사용할 수 없다.

<%@include
- include된 파일의 소스코드를 그대로 해당 페이지로 포함시키는 것
- 따라서 include에 선언된 메소드, 변수 등을 사용할 수 있다.
- include된 순서에 따라 사용 가능여부가 달라질 수 있다.

 

08_01_first.jsp
08_01_second.jsp
<jsp:forward ~>
<jsp:include ~>
08_01_first.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>이 파일은 first.jsp입니다.</h2>
	<p>=====first.jsp페이지의 시작 부분입니다. =====</p>
<%-- 	<jsp:forward page="08_01_second.jsp"/> --%>
	<jsp:include page="08_01_second.jsp"/>
<%-- 	<%@ include file="08_01_second.jsp"%> --%>
소스코드로 가져오느냐 html파일로 가지고 오느냐..
	<p>=====first.jsp페이지의 끝입니다. =====</p>
</body>
</html>​
08_01_second.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>이 파일은 second.jsp입니다.</h2>
	<p>현재 정보는 <%=(new java.util.Date()).toLocaleString() %>입니다.</p>
</body>
</html>

 

08_02_allTag.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%!
    int c;
    public int add(int a, int b){
    	c = a + b;
    	return c;
    }
    
    public int subtract(int a, int b){
    	c = a - b;
    	return c;
    }
    
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	int value1 = 3;
	int value2 = 9;
	
	int addResult = add(value1, value2);
	int subtractResult = subtract(value1, value2);
	
	%>
	
<%= value1 %> + <%= value2 %> = <%= addResult %>
<br>
<%= value1 %> - <%= value2 %> = <%= subtractResult %>
</body>
</html>​

 

 

 

 

 

데이터 전송방식
=>url이동 됨.
- get : url뒤에 쿼리스트링(QueryString)방식으로 데이터를 전송하는 방식
**쿼리스트링 : url뒤에 ?키(name)=값(value)&키(name)=값(value) 형식으로 데이터를 전송하는 방법 
데이터 용량이 제한적이다.
- post :데이터를 body(header부분)부분에 키(name)=값(value)의 쌍으로 데이터를 전송하는 방법,
데이터 전송 용량이 무제한이다.

 

페이지 이동방식
- 포워딩(forwarding) :
현재의 url을 변경하지 않고 전송해야하는 데이터를 담아서 보낼 수 있는 방식

- 리다이렉팅(redirecting) : 
현재의 url이 이동하는 페이지의 url로 변경됨.
데이터를 전송할 수 없다.
데이터를 전송하기 위해서는 쿼리스트링 방식이나 다른 방법으로 전송을 해야만 가능.
소스코드로 가져오느냐 html파일로 가지고 오느냐..

 

728x90
반응형

+ Recent posts