서블릿 -> 페이지 기반의 서버페이지를 만드는 플랫폼(Java Server Page)
-> Jasper 에게 도움받기
저 안에 있는 내용을 다 출력형태로 알아서 바꿔서 출력해줌
확장자가 jsp인 파일을 요청하면 톰캣은 제스퍼에게 넘김 (jasper를 통해서 서블릿을 만들어야겠네)
서블릿코드같은 경우에는 실제 저장되는 파일명과 url명이 다르게 매핑이 되었었다
jsp같은 경우에는 파일이름 자체가 url로 매핑이 된다
jasper가 url을 가지고 만들어내는 실제 서블릿 코드는
add_jsp.java이고 그 왼쪽의 경로에 만들어진다
진짜로 만들어지는지 구경해보자
clac.html의 확장자를 jsp로 바꾸어 놓은 상태이다
톰캣 서버를 두번 클릭하면 서버의 설정에 대한 정보가 아래의 사진과 같이 나온다
server path가 작업디렉토리폴더 , 실제 서비스되는 (임시)배포디렉토리이다
브라우저가 보고있는 문서는 여기있는 것을 보는 것이 아니다
여기있는 문서는 개발될 때 사용되는 개발 디렉토리이고
이것을 실행하겠다고 하면 이것을 배포하는데
-> 톰캣의 홈 디렉토리로 옮겨지게 된다
(실제 톰캣에서의 워크 디렉토리에 두지 않고
서비스 운영을 위한 별도의 사본을 만들게 된다 -> 배포디렉토리)
tmp폴더에 있는 것들은 복사본이다
컴파일된 결과물의 배포는 이런 경로로 되어있다
톰캣을 다시 삭제했다가 jsp파일 f11해줘봤다
그렇다면 제스퍼가 만든 클래스는 어디있을까
jsp파일 실행하는 순간 이곳에 만들어진다
이 파일 열어서 맘대로 고치거나 추가하려고 하면 안된다..-> 서블릿코드가 아니라 jsp파일안의 코드에서 지시를 해야해
자 그럼 jsp에게 출력하도록 일을 시켜볼건데...
이건 계산식으로 인식되지 않고 그저 출력 코드가 되어버린다 (왜? jasper가 출력형태로 바꿔서 출력해줄거니까)
출력해버림...
출력하지 않을 거라면 제스퍼에게 자바 코드라는 것을 알려줘야 돼
<% ~ %> 안에 넣어줘야함!!
잘 출력된다
request / response
pageContext : 현재 페이지
request : 두 서블릿 간의 저장소
session : 사용자별 저장소
application : 전역 저장소
out : 문자열 출력도구 / page : 현재 서블릿 객체에 대한 참조를 가진 것
-> 잘 알아둘 것...
www.youtube.com/watch?v=P-1aqLsRRX8&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=41
'뉴렉처 과정 기록 (Backend) > Servlet _JSP' 카테고리의 다른 글
05/03 JSP 목록 구현하기 (0) | 2021.05.03 |
---|---|
04/16 Servlet/JSP JSP의 코드 블록 (0) | 2021.04.16 |
04/14 Servlet (get/post)코드 분리, 서블릿 생명주기(thread) (0) | 2021.04.14 |
Thread와 프로세스 (0) | 2021.04.14 |
04/13 Servlet 사용자 입력을 통한 GET 요청과 POST 요청 (0) | 2021.04.14 |