본문 바로가기

JSP&SERVLET

[JSP_Servlet] include_forward_param

 

Jsp include

 

 

즉 플러쉬를 하면 sub.jsp include jsp의 헤더정보가 미리 flush되기 때문에 header를 추가해도 변경되지 않는다는 의미

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Jsp:param > Jsp:include jsp안의 파라미터를 추가할 수 있다.

 

 

infoSub.jsp에 파라미터를 추가로 전달함

 

Request 객체에 전달되므로 위와 같이 jsp:param의 파라미터를 받을 수 있다.

 

 

동일한 파라미터가 존재하는 경우 기존 파라미터를 유지하면서 새로운 값을 추가한다.

 

위와같이 파라미터가 2개로 추가되는데, request.getParameter를 실행하면 기존 파라미터가 아닌 jsp:param을 통해 추가된 파라미터의 값을 사용하게된다. 2개를 모두 사용하려면 아래와 같이 request.getParameterVAlues를 사용해야한다.

 

 

 

 

Include jsp의 인코딩이 적용되었는지 확인

 

 

 

 

1.     Include 디렉티브 : 다른파일의 내용을 현재 위치에 삽입한 후에 JSP파일을 자바파일로 변환하고 컴파일하는 방식

2.     Jsp:include : JSP흐름을 이동시켜 그 결과물을 현재위치에 포함시키는 방식

 

 

 

변수를 공유한다. Include 디렉티브

 

위 위 includer.jsp 파일에 include.jspf의 내용이 삽입되어 자바파일로 변환된다는 말임.

 

2개의 jsp파일 모두에서 서로 변수를 공유한다.

Tomcat6, jetty6버전은 같은 컨테이너들은 include 디렉티브를 통해 변경될 경우 자동으로 반영

 

Jsp:include 액션태그와 include 디렉티브의 차이점

1.     모듈화 : 독립적인 기능을 갖는 단위

2.     jsp액션태그는 모듈을 flush 등으로 요청흐름 즉 결과물을 출력할지 말지 등을 컨트롤이 가능하고, 영역을 명확하게 나누는 처리를 위해 사용됨

 

 

 

모든 페이지에 include 디렉티브를 증복으로 선언하지 않아도 되는 방법

 

 

 

 

 

 

 

 

Jsp:include 액션태그와 include 디렉티브의 차이

 

Jsp:forward 액션태그

 

 

jsp:forward

 

 

 

Forward 액션태그를 선언한 jsp의 출력 버퍼 내용이 버려지고 이동한 페이지의 출력결과가 출력버퍼에 새롭게 저장됨.

 

 

버퍼를 none으로 설정하면 곧바로 웹브라우저에게 전송하기 때문에 forward를 사용할 수 없고 출력한 내용을 취소할 수 없다.

 

 

버퍼가 차서 웹브라우저에 전송이 이미 된 경우에도 에러발생

 

예를 들어 파라미터 값에 따라 서로 다른 결과를 보여줘야할 때 사용된다.

 

 

 

 

 

 

 

Forward에 파라미터 추가시키기

 

Jsp 경로 설명

 

 

상대경로 .. 등 현재 디렉터리를 기준으로 한 경로. 위의 예제는 chap07경로에 있다는 기준으로

 

상대경로를 사용해야하는 경우

 

 

Jsp:param String 타입만 전달이 가능하기 때문에 request에 담아 보내주는 것이 효과적이다.

 

 

 

'JSP&SERVLET' 카테고리의 다른 글

[Java/JSP] JDBC 데이터베이스 프로그래밍  (0) 2021.03.25
[JSP_Servlet] 쿠키  (0) 2021.03.24
[JSP&Servlet] push 채팅  (0) 2021.03.22
[JSP&Servlet] pulling 채팅  (0) 2021.03.21
[JSP_Servlet] MODEL2 고전방식 게시판  (0) 2021.03.20