[1] JSP : Java Server Pages
(1) JSP
JSP로 작성하면 서블릿으로 자동 변환이 되기 때문에 서블릿과 같은 존재라고 볼수 있다
JSP는 HTML 내부 안에 <% ~%> 라는 자바 코드가 있는 파일을 말한다
html 내에 자바코드를 삽입하여 웹 서버에서 동적으로 웹 브라우저를 관리하는 언어이다.
동적 웹 애플리케이션 컴포넌트
.jsp 확장자
웹 서버에서 동적으로 웹 페이지를 생성하여 HTML로 응답한다
MVC패턴에서 view 역할을 한다.
java 언어를 기반으로 하는 스크립트 언어라서 자바 기능을 사용할수 있다.
java 기반이기 때문에 윈도우,리눅스 등으로 운영체제가 바껴도 코딩을 새로 작성할필요없다.
(2) JSP 구현
① 변수선역 영역
<%! ~%>
iv , cv 선언할때 사용한다
클래스 영역 구역
② 처리 영역
<%~%>
처리되는 프로그램 구역
메서드 영역 구역
③ 값 반환
<%= 값%>
④ jsp 생성
경로를 정확하게 하지 않으면 조회가 되지 않는다
ch2 > src > main > webapp > jsp 파일 작성
⑤ jsp 조회
jsp는 서블릿처럼 맵핑 작업을 하지 않고 파일을 호출해주면 된다
(3) JSP 호출 과정
첫번째 호출할때
jsp파일 -> 소스파일로 변환 -> 클래스 파일로 컴파일 -> 서블릿 인스턴스 생성 -> 서블릿 인스턴스로 응답
두번째 호출할때 서블릿 인스턴스가 있으므로
바로 서블릿 인스턴스로 응답한다
jsp파일이 변경되었을경우 다시 첫번째 호출방식으로 돌아간다
(4) JSP 기본객체
생성하지 않고 사용할수 있는 객체
기본객체 | 출력 |
request | 요청정보가 담겨있는 객체 |
response | 요청에 응답을 작성할때 사용 |
session | HTTP session을 구현한 객체 세션 정보 저장에 사용 |
application | web application 전체에서 공유하는 객체 |
config | jsp페이지 설정정보가 담긴 객체 |
page | jsp 페이지 객체 자신 |
pageContext | jsp 페이지 context정보를 제공 |
out | 응답 출력할때 사용 |
exception | 예외발생시 생성되는 객체 |
_jspService()의 lv변수로 선언되었기 때문에 객체를 생성하지 않아도된다
(5) JSP 컴파일 후 파일 삭제
JSP를 수정했는데 JSP가 적용이 안될때
JSP 변환파일 문제로 인해 안되는것이기 때문에 톰캣에 저장된 변환파일을 삭제한다