JSP & Servlet 04-09

Luna·2023년 2월 7일
0

JSP-Servlet

목록 보기
2/2

뉴렉처 서블릿/JSP 강의

참고 강의 영상 : 2020 Servlet&JSP 프로그래밍

04~06 톰캣9 설치하기

톰캣을 실행하려면 환경변수에 JAVA_HOME이 등록되어 있어야 한다.
다른 톰캣이 실행되고 있으면 포트번호 충돌이 일어나기 때문에 하나는 실행을 중단해야 한다.

톰캣은 WAS이다. 한 편으로는 톰캣이 자바 어플리케이션을 개발할 때 사용되는 웹 서비스의 기능이 포함되어 있다. 그래서 웹서버라고 볼 수도 있다. 웹서버란 웹 문서를 제공해주고 있는 서비스이다. 톰캣이 웹문서를 어떻게 제공 해 주는지 이해 해야한다.

톰캣이 가지고 있는 디렉토리 중에 문서를 보관하고 있는 곳을 홈디렉토리라고 한다.
웹서버는 특정폴더가 있고 거기에 문서를 저장하면 브라우저를 통해서 돌려준다.

context
서비스 문맥은 유지하면서 만드는 디렉토리나 서비스는 별개로 하기 위해 만든다.
물리적으로는 여러개의 사이트지만 합쳐서 한쪽에서 사용하는 것 처럼 보이게 하는 것.
(네이버에 들어가면 네이버 부동산, 네이버 영화 각각 있는 것 처럼)
context 설정을 해주면 홈디렉토리에 폴더가 없더라도 실행할 수 있다.
각각의 사이트를 다른 팀원들이 나눠 맡아서 개발하는 경우가 있을 때 사용한다.
context 설정을 하면 톰캣 서버를 재시작 해야 한다.

하지만 톰캣 버전이 올라가면서 사용을 지양하고 있다.

07 처음으로 서블릿 프로그램 만들어보기

서블릿은 효율성을 위해서 필요에 따라 로드할 수 있도록 조각나 있는 서버 어플리케이션이다.
필요한 것 하나씩 만들면 된다.

HttpServlet을 상속받고 있는 클래스는 모두 서블릿이라고 한다.
자바에서는 main()함수가 실행됐지만 서블릿은 service()함수로 시작된다.

servlet 라이브러리는 JDK에서 기본으로 제공하지 않는다.
톰캣을 설치했던 폴더에 Servlet 라이브러리가 있다. lib 폴더 안에 servlet-api.jar 파일

08 서블릿 객체 생성과 실행 방법

톰캣에 의해서 서블릿 코드 실행되도록 코드 배치와 요청을 해야 한다.
WEB-INF라는 폴더의 위치가 약속된 위치기 때문에 여기에 class 파일을 위치시켜야 한다.
그런데 사용자가 /web-inf/ 라는 url을 요청해서는 안되고 요청했다고 주는것도 문제가 된다.
이렇게 하면 실행 되지도 않는다. 서버쪽에서만 사용 할 수 있는 내용이고 클라이언트에서 요청하면 안된다.
그래서 사용자가 요청을 했을 때 URL과 매핑된 Servlet 코드를 찾아서 실행 해야 한다.
사용자에게 제공되는 URL을 따로 설정 해 주어야 한다.
사용자가 요청한 URL을 가지고 그 URL과 연결되어 있는 매핑 정보를 돌려주는 것이다.

WEB-INF라는 폴더는 외부에서 요청할 수 있는 폴더가 아니기 때문에 URL을 브라우저 주소창에 입력해도 404 오류가 발생하며 찾을 수 없다고 나온다. 파일이 있어도 돌려주지 않는다.
그래서 약속되어 있는 매핑 방식으로 요청을 하고 요청받은 데이터를 돌려주어야 한다.

즉 사용자에게 제공할 URL이 있고 그 URL을 통해 실행되는 서블릿 프로그램이 있는데 이 둘을 연결 해 주는 것을 매핑이라고 한다.

09 서블릿 문자열 출력

웹이 담당하고 있는 것은 UI(사용자 입/출력)이다.
UI는 콘솔, 웹, 윈도우가 있다.
request = 요청도구 / response = 출력도구 (응답도구)

0개의 댓글