이제 STS에서 웹서버를 만들기 위한 준비를 해보자.
자바에서 dynamic web project로 만든다.
이 때 이름을 설정하고 넘기다보면 다음과 같은 것이 등장한다.
content root란 무엇일까?
우리가 흔히 보는 인터넷 주소의 http는 웹서버를 의미한다.
http://localhost:8000/test/
의 형태를 보자.
localhost는 ip 주소이고 :8000은 포트 주소를 의미한다. 포트 주소는 생략이 가능한데, 포트 주소를 생략하면 자동으로 80으로 설정되는데, 이것은 웹으로 연결되는 포트이다. 웹은 웹주소를 통해 타인이 폴더로 접근할 수 있다. 이 때, 주소명을 그대로 두면 타인에게 폴더의 구조가 그대로 노출될 위험이 있기 때문에, 이를 방지하기 위해 가짜 이름을 부여한다. 가짜 이름을 부여하는 순간 폴더에 가짜 이름으로 접근해야 하고, 접근하는 사람은 진짜 폴더의 구조를 모르게 되어 버린다. 이 가짜 이름을 부여하는 것이 content root 이다.
두번째로 content directory는 무엇일까?
이 파일을 만든 모습을 보면 다음과 같다.
두 가지로 나뉘는데, 우리가 노출되어야 할 부분이 있고, 노출되지 말아야 할 부분이 있다. 중요한 자바 소스 코드는 노출되면 안되지 않은가? 즉, 타인이 웹서버를 통해 접근했을 때 노출되는 곳이 content directory이다. 따라서, webcontent로만 접근 할 수 있게 되는데, 서블릿을 이용하면 접근 가능하게 되기도 한다. 그리고 webcontent는 파일 이름을 선언하지 않고도 접근이 가능하다.
다음의 파일에 접근하려면 먼저 웹서버를 열어야 한다.
웹서버를 열기 위해서 필요한 프로그램이 바로 apache/tomcat 이다.
alpha를 제외하고 받아주면 된다. 대체로 8.5를 쓴다고 한다.
톰캣을 설치하면 다음과 같은 창을 만날 수 있다.
shutdown port는 외부에서 톰캣 서버를 닫는 포트번호이다. 거의 8005으로 약속되어 있다.
그리고, http로 연결되는 포트는 80으로 설정하는데, 바로 웹으로 연결되기 때문에 현재는 8000으로 포트를 조절해두었다. 디폴트 값은 8080인데, 이는 오라클 포트와 같으므로 컴퓨터에 오라클이 설치되어 있을 경우 반드시 변경해야한다.
톰캣 설치가 끝나면 한번 http connect 포트로 연결해보자. 정상적으로 연결 된다면 톰캣 홈페이지가 나타난다.
왜 홈페이지가 나타날까? 이 때 먼저 내 컴퓨터에 웹서버가 만들어진 곳을 찾아야 한다.
디폴트 서버는 다음 곳에서 열린다.
여기의 index가 열리면서 뜨게 되는 것이다. index는 웹서버가 열리게 될 경우, 특정한 조작이 없으면 바로 열리는 프로그램이다. 아런 파일을 welcome file list라고 한다.
그러나 이를 웹브라우저로 바로 열려고 하면 이 홈페이지를 열 수 없다.
이는 웹브라우저가 jsp를 인식하지 못하기 때문이다.
여기서 jsp는 어떤 구조로 이루어져있는지 잘 생각해야한다.
jsp는 html과 java가 혼합되어있는 상태이기 때문에, 두 가지의 해석주체가 필요하다.
java를 해석해줄 jvm과 html을 해석해줄 웹브라우저를 필요로 한다. 하지만 우리가 최종적으로 띄울 곳은 웹브라우저이므로 먼저 jvm으로 자바코드를 해석 후 웹브라우저가 해석 가능한 html 언어로 변경한다. 이를 붙여서 웹브라우저로 띄우게 되는 것이다.
여기서 apache / tomcat의 역할이 드러난다. 사실 이 두 가지의 역할은 현저히 다른데,
apache는 단순히 웹서버를 열어주는 정적인 역할만 한다. 자바 코드를 해석해서 html 코드로 바꿔주는 것이 tomcat이다.
이제 이 아파치/톰캣을 STS에 적용시켜 웹서버를 열어보자.
먼저, 웹에 사용할 언어를 설정해야한다. STS의 기본 언어는 UTF-8이 아니기 때문에 먼저 언어를 UTF-8로 설정해주자.
오른쪽 마우스를 누르면 preference가 뜬다.
General과 Web의 언어를 모두 UTF-8로 설정해주자. (Web는 CSS, HTML, JSP 셋 다 설정해야한다.)
다음 다시 프로젝트에 마우스 오른쪽 클릭해서 프로젝트의 preferece를 띄워보자.
targeted Runtime 에서 new를 눌러 설치된 톰캣을 설정해준다.
이렇게 되면 test를 감싸고 있는 워크스페이스가 웹서버가 된다.
다음 웹컨텐츠에 index.html을 만들어서 띄워보자.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
실행시켜보면 이클립스 웹브라우저에 다음과 같이 출력된다.
'JSP' 카테고리의 다른 글
1. JSP지시어 (0) | 2020.05.27 |
---|---|
Forwarding (0) | 2020.05.27 |
서블릿 기초, 한글 인코딩 하기 (0) | 2020.05.26 |
JSP의 기초 (0) | 2020.05.25 |
웹페이지 서버 요청 방식과 웹 기초 (0) | 2020.05.25 |