23.01.20

이동욱·2023년 8월 6일
0

NaverCloudCamp

목록 보기
16/42

학습 내용

  1. C/S
  2. WEB
  3. Servlet
  4. WAS

C/S Program

  • Program에 Clinent와 Server의 개념이 포함된 것을 C/S Program이라 한다.
  • WEB도 C/S Program에 포함되며 DB에 쿼리를 보내는것도 C/S에 포함된다.
  • C/S 필요 요소
    request를 보내고 response를 받을 대상의 식별자인 ip, request와 response를 어떤 형태로 받을 지에 대한 통신 규약(protocol)와 어떤 process로 전달할지에 대한 식별자인 port가 필요하다.

WEB

Web Program

c/s 프로그래밍의 일부분이다.
http://www.naver.com:80/index.html
web의 기본 port는 80이며 처음 페이지 이름은 index.html이지만 생략해도 상관 없다.

browser

  • Client에서 Server로 request를 보낼 수 있게 해주는 APP이며 Server에서 response로 받은 html을 parsing 해주는 기능도 수행한다.
  • Web Program 에서 Server는 Client에게 response로 html을 보내줘야한다.

web server

  • Http Protocol을 이용해 Client로부터 url request를 받아 resource를 관리하며 요청에 따른 response를 해주는 server app이다.

servlet(Bean)

  • Web과 관련된 기능을 수행하기 위해 Java진영에서 제공하는 Bean이다.
  • Servlet Container
    WebServer에서 Servlet Bean을 관리해주는 역할은 한다.

  • Jsp Container
    view를 지원하기 위한 기술인 Jsp Bean을 관리하는 Jsp Container이다.

WAS(WEB Application Server)

  • Web Server와 Web Container가 합쳐진 개념이다.
  • Web Container에는 Servelt Container와 Jsp Container가 포함되어있다.
  • Client 가 server로 요청을 보내면 WAS의 웹 서버를 거쳐 Servelt Container의 Servelt Bean에서 요청에 대한 작업을 처리 한 후
    Client에게 response로 html을 반환한다.
  • 폴더 구조

    Java는 Web 개발의 표준화를 위해 Sevrvlet Bean을 제공해 줄뿐 아니라 표준화된 폴더 구조 역시 규격화 해놓았다.
    또한 WEB-INF 밑의 web.xml 파일을 통해 http://127.0.0.7:8080/example/WEB-INF/classes/first.class 처럼 경로를 끝까지 적지않고
    http://127.0.0.1:8080/examples/FirstServlet 까지 적어도 실행 가능하게 해준다.
    127.0.0.1까지는 해당 ip 기기에 접속하며 8080을통해 tomcat webserver에 접근한다

  • spec
    Java WAS들은 기본적으로 Servlet Container 안의 Servlet Bean들을 사용한다. 따라서 java 개발자들은 WAS 종류마다 사용법을
    알아야 하는것이 아닌 Servelt Spec에 해당하는 Servlet의 사용법만 알면 모든 WAS를 사용 가능하며 이러한 기술 또한 다형성이 적용된것이다.

  • classPath
    Servlet 역시 java class이기에 WAS를 통해 개발을 하려면 WAS안의 Servlet에 대한 class path 설정이 필요하다.
    tomcat도 Servlet Bean들을 실행시키기 위한 JRE의 위치를 알아햐 하는데 tomcat은 자동적으로 JAVA_HOME의 path를 찾아 JRE의 위치를 알아낸다.

시험

  1. 생성자는 생성자 메서드에서만 사용 가능하다.
  2. interface는 구현된 메서드를 가질수 없다 pure abstract method만 가질 수 있다.
  3. reference downcasting은 묵시적 형변환을 거져야 사용 가능하다
Sub sub = (Sub)new Super(); //불가능

Super s1 = new Sub(); //DownCasting, 상위에는 없고 자신에게만 있는 메서드를 사용하고싶을때 사용
Sub s2 = (Sub)s1;
profile
Backend Developer

0개의 댓글