-
Servlet의 life Cycle기타 2021. 5. 2. 12:41
서블릿 컨테인이라는 공간안에 서블릿이 존재한다. init가 최초 구동된다 = 로드된다. 각종요청이 들어오면 서블릿에서 작동이 됨 = 응답 그러다가 변경 사항이 있으면 destroy가 되어 작동을 멈춘다. servlet container servlet을 관리하고 실행하는 매니저 역할 자체적 jvm과 jre를 포함 웹서버의 url요청을 받아 매핑되는 servlet을 실행 servlet 의 전반적인 라이프 사이클을 관리 jsp도 내부적으로 servlet으로 변환되어 실행돰 컨테인과 서블릿 동작방식 클라이언트의 url요청 웹서버가 요청,응답 객체생성 서블릿 인스턴스와 쓰래드 생성 스레드가 service 메소드 호출 doGet,doPost에서 각각 요청,응답 객체를 인자로 호출 메소드 호출 뒤, 웹페이지를 생성하..
-
웹서버와 WAS기타 2021. 4. 3. 17:13
웹서버는 정적인 페지이들을 표현하기 위한 서버로 HTML과 같은 내용들을 http프로토콜을 통해서 웹 브라우저로 제공하는 서버 다양한 동적 데이터를 요청하게 되면 was서버로 데이터를 넘겨주게됨 WAS 동적인 페이지를 표현하기 위한 서버 웹서버의 부하를 분산하기 위해 태어난 서버, 웹서버와 어플리케이션 서버를 동시에 수행하는서버 WAS는 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말함 웹 컨테이너 : 클라이언트의 요청이 있을때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 쿨라이언트에 전달해는 역활을 하는 것 ++ 두가지를 다 사용하는 이유 기능을 분리하여 서버 부하 방지 - 톰캣5.5 이후부턴 크게 의미없다고함 물리적으로 분리하여 ..
-
서블릿 JSP JavaScript Spring기타 2021. 4. 3. 16:03
웹을 만들다가 자동으로 웹을 생성할순 없을까? 라는생각에 시작되어 만들어진 것이CGI이다. CGI는 동적 데이터를 처리하는 인터페이스고 Common Gate Interface이다. CGI이후에 누가왔는지도 알수 있고 원하는것도 상호작용 가능하게되었다. 하지만. CGI에 2가지 문제점이있었는데 하나는 요청이 들어올때마다 프로세스를 만든다는것이다, 그럴 경우 물리적한계로인해 대용량 요구를 수행할 수 없게된다. (프로세스는 메모리를 통으로 가지기 때문에 크기가 크다) 그래서 프로세스안에 쓰래드를 만들어 크기를 줄이게되었고,(쓰래드는 레지스터와 스택을 제외한 메모리를 공유함) 두번째 문제점은 같은 구현체(CGI)를 사용해도 쓰래드가 다르다면 새로운 구현체가 생긴다는것-> 싱글톤 패턴을로 변경한다. 이렇게 두 문..
-
톰켓(Tomcat)의 역활기타 2021. 4. 3. 00:40
톰캣의 정식 명칭은 Apache Tomcat Server 이다. 톰캣을 언제 썻는가? 웹프로그래밍을 할때 jsp첨할때 8080쓰고 우와 했었다. 그럼 톰캣은 왜쓰는가? 톰캣의 역할은 JSP/Servlet 엔진으로서 Application Server 역할을 한다. 톰캣은 전 세계적으로 가장많은 Java기반의 웹어플리케이션 플랫폼으로 사용되고 있다. 무료이다. 톰캣을 클로스플레폼이라는 장점을 가지고 있다.(어떤os여도 사용가능하다) 톰캣의 구성 톰캣이 하는 일 Coyote가 HTTP요청을 받으면 Catalina가 요청중에 자바 웹어플리케이션(servlet)을 해석하고 실행 그중일부가 jsp면 이제 jsp로 해석을 한다. +WAS 톰캣을 WAS가 아니다. 톰캣은 JSP/Servlet 엔진의 역할을 수행한다. ..