웹 서버 프로그램이란
클라이언트 프로그램의 업데이트 어려움과 서버 프로그램의 데이터 전송 어려움 문제를 해결하기 위해
웹을 사용하는 것을 말한다. 웹 클라이언트는 브라우저를 가지고 있고 요청에 대한 응답을 바로 할 수 있는
웹 서버를 통해 해결한다. 즉, 클라이언트 프로그램이 사라지면서 웹을 통해 브라우저에다가 페이지를
전달받아서 그 브라우저가 보여주면 된다는 것이다.
실행환경) 웹 서버 + WAS(Web Application Server)
웹 서버란
클라이언트가 웹 브라우저에서 페이지 요청을 할 때
웹 서버에서 그 요청을 받아 정적 컨텐츠를 제공하는 서버를 말한다.
WAS란
웹 서버 혼자서는 처리할 수 없는 DB의 조회 or 다양한 로직 처리와 같은 동적 컨텐츠 제공하기 위해
만들어진 Application 서버이다.
서블릿이란
서버 애플리케이션을 조각낸 것을 말한다.
아파치(웹 서버) 톰캣(WAS) 설치
아파치 톰캣을 설치한 후에 bin 폴더의 startup.bat을 실행시켰을 때 그 창이 꺼진다면
1) 환경 변수 설정이 되지 않은 것이다. 톰캣은 jdk를 필요로 하기 때문에 JAVA_HOME이라는 변수를 이용해서
환경 변수를 설정해줘야한다. 그 다음 확인해야할 사항으로는
2) 다른 톰캣이 동작 중이라면 포트 번호가 충돌이 날 수 있으니 확인해야 한다.
브라우저에서 http://localhost:8080/를 쳤을 때 톰캣 창이 떠야한다.
톰캣 창이 아니라 사용자 이름, 비밀번호를 요구하는 ※ 로그인 창이 뜰 때 참고 사항 ※
이는 오라클과 톰캣의 서버가 겹치는 것으로 해결 방법은 톰캣의 포트 번호를 변경해주면 된다.
1) 설치된 톰캣 파일을 찾은 후 conf 파일로 들어간다.
2) server.xml 파일을 연다.
3) 아래의 코드에서 8080 숫자를 8000으로 변경해준다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
다시 브라우저에서 http://localhost:8000/으로 들어간다면 톰캣 창이 올바르게 뜨는 것을 볼 수 있다.
그리고 기억해야 할 것은 실행을 하려면 startup.bat는 실행하고 있어야 한다는 것이다.
아래의 경로에 hello.txt라는 문서를 저장했다.
C:\jsp\tools\apache-tomcat-9.0.73\webapps\ROOT
http://localhost:8000/hello.txt 또는 http://아이피주소:8000/hello.txt를 통해 접속할 수 있다.
(참고로 ip 주소는 cmd 창에서 ipconfig 입력 후 ip 주소 확인)
Context
Context를 사용해서 실제 파일이 저장된 경로가 아닌 가상의 경로를 설정해서 브라우저를 띄울 수 있다.
C:\jsp\tools\apache-tomcat-9.0.73\webapps\ITWeb
ROOT 폴더가 아닌 위와 같은 경로에 news.txt라는 문서가 있다고 하자.
이때 conf 폴더의 server.xml에서 Context를 사용해서
가상의 경로에서 다른 경로에 있는 내용을 서비스할 수 있다.
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path ="it" docBase="C:\jsp\tools\apache-tomcat-9.0.73\webapps\ITWeb"
privileged="ture"/>
-- 생략 --
</Host>
위의 코드에서 보다싶이 현재 it라는 폴더가 없지만
C:\jsp\tools\apache-tomcat-9.0.73\webapps\ITWeb에 있는 문서를 it라고하는
가상 디렉토리와 연결해서 서비스(localhost)하는 것을 볼 수 있다.
하지만 이 방법은 최근 지양하는 방법임을 생각해야 한다.
'강의 정리하기 > JSP와 Servlet' 카테고리의 다른 글
상태 유지를 위한 방법 (0) | 2023.03.27 |
---|---|
예제 (0) | 2023.03.27 |
GET , POST 요청과 필터 (0) | 2023.03.19 |
URL 매핑 및 인코딩 (0) | 2023.03.19 |
서블릿 프로그램 만들기 (0) | 2023.03.18 |