JSP를 시작하기 앞서 웹 JSP를 위해서 Java, tomcat, eclipse등 JDK와 path설정을 해놓으시고 서버로 사용할 tomcat 그리고 IDE인 eclipse가 설치되어있어야합니다!
이클립스에 기본적으로 tomcat을 연결해주세요!
웹 컨테이너의 구조를 먼저 볼까요?
개발자는 jsp파일을 만들어서 서버에 요청을 하게 됩니다.
만약 xxx.jsp파일을 요청했다면 그 파일은 xxx_jsp.java파일로 변환되게 됩니다.
이렇게 변환된 파일은 컴파일 되어 xxx_jsp.class파일이 되게 될것입니다.
이 파일은 오브젝트 파일인 xxx_jsp.obj로 바뀌어 자바 환경에서 실제로 실행이 되게 됩니다.
이렇게 실행된 결과물이 응답될 때는 HTML로 응답이 됩니다.
우리가 이와 같은 것을 WAS(Web Application Server)라고 합니다.
즉, 개발자는 JSP만 작업을 해두면 서버가 알아서 그 이후의 작업을 해주는 것입니다.
그러면 한번 이클립스에서 프로젝트를 열어볼까요??
우선 왼쪽의 Project Explorer에서 빈공간에 우클릭을 하고 New를 클릭해줍니다.
JSP는 Dynamic Web Project를 만들어서 프로젝트를 생성하는데요.
혹시 New를 눌러도 보이지 않으신다면 Other를 클릭해주시면 됩니다.
Other를 클릭해서 Dynamic Web Project를 찾아서 만들어주시면 되는데요.
혹시 찾기가 힘드시다면 검색을 통해 찾아주셔도 됩니다!
다이나믹 웹프로젝트를 만들려고 하면 우선 프로젝트 이름을 작성해주시고 작성하시면 Next버튼이 활성화 됩니다.
그리고 위에 체크박스를 체크하고 Finish를 눌러주세요.
그러면 프로젝트가 만들어지는데 프로젝트의 구조를 보면 WebContent가 있습니다.
이 WebContent가 JSP파일이 들어갈 곳입니다.
WebContent안에 JSP파일을 만들어볼까요??
저는 Hello라는 이름으로 만들었습니다.
만들어진 JSP파일을 보면 HTML과 너무나도 비슷하게 기본설정이 되어나오죠??
JSP는 Java Server Page로서 HTML을 기본으로하여 HTML에 Java를 덮붙인 파일을 의미하기때문에 HTML과 거의 흡사한 설정이 되어있습니다.
즉, 기본적으로 HTML파일이지만 HTML파일에 JSP 문법을 추가할수 있는 구조인것입니다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
그치만 가장위에 보면 HTML에서는 볼수 없었던 부분이 나옵니다.
이 부분은 페이지 지시어라고 하는데 JSP는 정적인 파일이 아니라 동적인 파일인데 웹컨테이너한테 이 파일은 어떤 파일인지 지시를 해주는 구분이라고 볼 수 있습니다.
기본 설정 되어있는 이 부분의 의미는 page의 language는 java로 되어있고 contentType은 text/html이며 charset은 EUC-KR이되며 pageEncoding또한 EUC-KR이라고 지시를 하게 되는 것입니다.
그리고 기본적으로는 EUC-KR로 되어있지만 UTF-8을 기본적으로 쓰는것을 권장드립니다.
저는 body 태그안에 <p>Hello, JSP!</p>를 작성하고 실행시켜 보겠습니다.
파일을 우클릭하고 Run As에 Run on Server를 클릭해주고 Finish 버튼을 눌러주면
짜잔 이렇게 파일이 실행이 되네요.
이클립스를 기본설정을 해놓으셨다면 아마 이클립스 안에서 자체 브라우저가 열릴겁니다.
하지만 상단바의 Window - Web Browser - Chrome을 클릭하여 설정하면 크롬으로 새롭게 창이 열리게 됩니다.
개발자 도구를 통해 살펴보면 뭔가 이상하지 않나요??
분명 JSP문법을 사용해서 입력을 했는데 개발자 도구에서 보면 그런 코드는 존재하지않습니다.
웹 컨테이너에 요청을 했지만 웹컨테이너가 알아서 번역을해서 HTML로만 응답을 해주기 때문이죠.
world.jsp파일을 하나 더 만들고 url에서 Hello.jsp를 world.jsp로만 바꾸면 새로 만든 파일이 열리게 되는데요.
Servlet은 내용을 수정을 하게되면 다시 실행시켜야 하는 번거로움이 있지만 JSP에서는 다른 파일을 실행시킬때 최근 버전의 톰켓부터는 서버를 재실행 시킬 필요가 없다는 것을 말씀드릴 수 있겠습니다.
이 글은 실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌를 수강하며 공부한 내용을 정리한 글입니다.
'Java 관련 > JSP & Servlet' 카테고리의 다른 글
[JSP & Servlet] Servlet Life-Cycle과 메서드 (0) | 2022.08.12 |
---|---|
[JSP & Servlet] request(요청), response(응답) (0) | 2022.08.11 |
[JSP & Servlet] Servlet 맵핑 (0) | 2022.08.10 |
[JSP & Servlet] Servlet 시작하기! (0) | 2022.08.09 |
[JSP & Servlet] 웹 프로그램이란? (0) | 2022.08.06 |