본문 바로가기
Back-end/JAVA & Spring

[Java] Java EE , Servlet 개념과 정리글

by 꼬바리 2021. 5. 10.

1. Java EE ( Enterprise Edition )

* 기업에서 사용하는 프로그램을 만드는데 적합한 자바 개발 버젼

      - Java EE Spec : Servlet , Jsp , EJB(Enterprise Java Beans)

                               ㄴ Web 언어    ㄴ Service언어  : 업무를 모듈로 개발하여 서비스 하는 프로그램

 

* 의존성있는 프로그램이다

      - servlet , JSP : web container에 의존성이 있다. (즉 Server에 의존)

      - EJB : EJB Server에 의존성이 있다.

     

* WAS (Web Application Server)

      - Java EE의 모든 Spec을 서비스할 수 있는 프로그램

      - Web logic(BEA사),Web share(IBM),JBOSS(무료),Jeus(TMAX),Resin,OC4J(oracle사)

 

* Web Container

      - JAVA EE 중 Servlet,JSP를 서비스할 수 있는 프로그램 (EJB는 서비스 X)

      - Tomcat 이 있다.


2. Servlet (서블릿)

1. servlet의 개념

      - CGI ( Common Gateway Interface : 공통 입출력 방식 ) 의 일종

      - CGI : 일반언어가 웹 서비스를 하기 위한 방식을 미리정의

         ex) C언어가 웹 서비스를 하기 위해 방식을 정의한 것이 C CGI

               JAVA가 웹서비스를 하기위해 방식을 정의한 것이 Servlet  

      - 브라우저는 HTML과 일반 텍스트만 해석가능하기 때문에 Servlet을 사용한다.

      - CGI의 느린속도를 개선한 FAST CGI도있다.


2. Servlet으로 웹서비스를 하기위한 폴더 구성

      - 이클립스 좌측 [Project Explorer] 에서 확인

      c:/web -- html,js,css,jsp

            ㄴ folder - html,js,css,jsp

            ㄴ WEB - INF - classes - package - servlet.class

                  ㄴlib - 외부 Jar파일이 들어가는 위치

                  ㄴweb.xml ( DD )

                                    ㄴ DD : Deplayment Descripter


3.Servlet의 장단점

* Servlet의 장점

      - Java SE와 호환이 된다. (Java Se의 Class를 사용)

      - Thread 지원 (안정적인 웹서비스)

 

* Servlet의 단점

      - 느린 속도

      - 웹 디자이너와 개발자 간의 업무 구분이 어렵다.

            : Class 내부에 html,css,js코드가 들어간다.

            : 개발자 (Class 작성 ) -> 디자이너 (html,css,js 작성)  -> 개발자(다시 Class에 넣음)

            : 하지만 , 각자 분야의 코딩만 하기 때문에 융합하기 어려운 점

            : 이러한 단점을 극복하고자 JSP가 등장함


4. Container ( Tomcat이 있음) 란 ?

 

* container : 브라우저에서 서블릿을 요청하면 HTML로 변환하여 서비스할수있는 프로그램

                  ㄴ HTML만 인식하기때문

* Web Server : 브라우저에서 URL을 넣었을 때 해당 컴퓨터를 찾아가서 HTMl을 요청하면 준비된 HTML을

                     응답하는 프로그램


5. Mapping이란 ?

      - 예를들면 실제 값이 '홍길동' 이지만 '의적'을 호출하면 '홍길동'이 호출되게끔 하는 작업을 Mapping이라한다.

      - Mapping 작업은 Web.xml에서 수행한다.

 

 

 



출처: https://ekfqkqhd.tistory.com/entry/Java-Java-EE-Servlet-개념과-정리글 [시우아빠님의 블로그]

728x90
반응형

댓글