(2022) 공부 (Study)

🔥 JSP 기본 정리 - #3 JSP 살펴보기

수낭 2021. 1. 2. 11:47

이번 포스팅에서는 JSPWeb Container의 구조에 대해서 살펴보겠습니다.
이번 포스팅은 JSP에 대해 전체적인 흐름을 잡는 파트입니다.


🔑 목차

🎉 1. Web Continaer 구조

🎉 2. JSP 파일 작성

🎉 3. Java 확장자 파일( .java) 확인

 

🚩 1. Web Container 구조

개발자는 xxx.jsp 파일, , jsp파일을 만드는 부분까지만 작업한다.

그 이후 부분은, 서버가 모두 알아서 Compile / Link 작업을 해서
최종 응답시에는 HTML 파일response해주는 것이다.

 

🚩 2. JSP 파일 작성

project explorer의 빈 탭에 우클릭 new dynamic web project를 통해 생성한다.
    (없다면 Other를 눌러서 검색하면 된다.)

😭 Other에도 없다면? 아래를 펼쳐보자.

더보기

Other 탭을 열고, 검색을 해봐도 없다면
다음 절차를 통해 추가하면 된다.

(해결)

이름은 마음대로 짓고 next next 클릭.
그리고 generate web.xml deployment descriptor 에 체크해주고 finish 누르면 된다.
(배치 기술어를 위한 web.xml을 만들어주는 옵션)

 이 부분이, 실제로 web container 역할을 해주는 부분이다.

생성된 컨테이너 우클릭 new JSP file을 통해 JSP 파일 생성

⑤ JSP파일을 저장할 곳을 선택하는 창이 뜬다.
당연히 WebContent 폴더 생성해야 한다. (자동 선택)

⑥ JSP 파일을 확인해보면 위와 같다.
JSP 문법은, HTML 문법JSP 문법 약간 얹은 형태이다.
(네모 안의 내용은 지시어 문법이라고 한다. 나중에 다시 자세하게 언급)

⑦ HTML 문법과 같기 때문에,
<body>
태그에 <p>태그로
“Hello World”라고 작성해보자

이제 실행해보자
jsp파일 우클릭 – Run As – Run on Server 를 클릭

우리는 web containerTomcat 8.5만 가지고 있기 때문에
바로 실행하면 된다. (자동 선택) - finish클릭

위와 같이 Hello World가 정상적으로 출력되면 성공이다.
(서버에서 Hello.jsp 파일실행된 것) (끝) 

 그리고 경로를 아는 것이 중요하다.
http://localhost:8090/testProject/Hello.jsp 를 해석해보면,
testProject → Context라고 부르는데, 이는 우리가 만든 Project 과 동일하다.

Project 내부에 있는 Hello.jsp 파일을 실행했다는 뜻이다.
(요약하면, testProject 라는 Context에 들어와서, Hello.jsp 파일을 실행한 것)

페이지에서 소스 보기를 눌러보면, 위와 같이 나타난다.
여기서 주의할 점은 jsp 파일에 있던 상단 지시문이 없다는 것이다.

📌이유는?
전에 언급되었듯이 
서버에서 최종 Response에서는HTML 파일이 반환되기 때문에,
jsp 파일이 보여질 이유가 없는이다.

JSP 파일은 내용 변경 후, 따로 서버를 재구동 할 필요가 없지만,
다음에서 배울 Servlet의 경우, 매 변경 시마다 서버를 재구동해줘야 한다.
(하지만, Tomcat 최근 버전에서는 자동 수정이 된다. ☞ 하지만 몇 초 정도 시간이 걸린다.)

 추가로, eclipse 에서는 web browser초기 세팅으로
eclipse
내장 브라우저(internal web browser)로 세팅되어 있다. (언제든 변경 가능)

 

🚩 3. Java 확장자 파일( .java) 확인

 웹 프로그램을 만드는 데에 필요한 서버를 구성해보자.

web containerserver 내부에 있기 때문에, 확인하려면 server로 가야 한다.

 apache-tomcat-8.5 버전을 설치한 폴더 내부에서
work – catalina – localhost – “프로젝트명” – org – apache – jsp – 자바/클래스 파일

위 경로를 통해서, 자동 생성된 java/class 파일을 확인할 수 있다.
(전에 언급했듯이, 우리는 jsp 파일만을 만들지만, 서버가 자동으로 java/class 파일을 생성해준것)

 

 다음 포스팅에서는 JSP와 Spring Framework에서
핵심이라고 할 수 있는 Servlet에 대해서 살펴보겠습니다.