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 |