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

Posted at 2014. 3. 19. 22:56 | Posted in IT/Java
홈페이제작업체 NuGuWeb

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에서 수행한다.

'IT > Java' 카테고리의 다른 글

[Java] 자바 I/O 정리글  (0) 2014.02.12
프로그래밍 지침 - 작성  (0) 2014.02.11
프로그래밍 지침 - 설계  (1) 2014.02.10
[eclipse] 이클립스 설치  (0) 2014.01.26
[eclipse] 이클립스 테마를 템플릿으로 쉽게 변경하기  (0) 2014.01.26
//