로그인

이메일
비밀번호
DaeYoung's Blog : 위치로그 : 태그 : 방명록 : 관리자 : 새글쓰기
Servlet 에 대해 알아보아여~ㅋ
Web/Jsp/Servlet, (2007년 04월 30일 03시 32분)
========== 출처 : 김동근의 텀즈 ===================
서블릿은 서버에서 실행되는 작은 프로그램이다. 이 용어는 웹 페이지와 함께 별도의 파일로 보내지는 작은 프로그램인 자바 애플릿의 맥락에서 만들어진 신조어이다. 자바 애플릿들은 사용자를 위해 간단한 계산업무를 수행하거나 사용자의 반응에 기반하여 이미지를 위치시키는 등과 같은 서비스를 위해 대개 클라이언트에서 실행되도록 만들어진다.

그러나, 사용자의 입력에 따라 데이터베이스와 연계되는 프로그램들은 서버에서 실행될 필요가 있다. 보통, 이러한 것들은 CGI를 이용하여 구현된다. 그러나, 서버에서 실행되는 자바 가상머신을 이용하면, 그러한 프로그램들을 자바 언어로 구현할 수 있다. 서버에 있는 자바 서블릿의 장점은 CGI 응용프로그램보다 더 빠르게 실행될 수 있다는 것이다. 서블릿은 각 사용자의 요청마다 별도의 프로세스가 생기는 대신, 단 하나의 데몬 프로세스 내에서 스레드로 호출되는데, 이는 각 요구에 따른 시스템 오버헤드가 적다는 것을 의미한다.

CGI 응용프로그램의 이름을 지칭하는 URL 대신, 호출되고 있는 자바 서블릿의 결과인 웹 페이지 내의 요청이 URL을 호출하게 되는데, 그 형태는 다음과 같다.

http://www.terms.co.kr:8080/servlet/got ··· ce.co.kr

URL 내의 "8080"이라는 포트 번호는 이 요청이 웹 서버 그 자체로 직접 가는 것임을 의미한다.
 

몇몇 추가적인 모듈들은 자바 서블릿들이 넷스케이프 Enterprise나, 마이크로소프트의 IIS 및 아파치 서버에서 실행될 수 있도록 해준다.



선 마이크로 시스템즈에서 작성된 Inside the Java Web Server 라는 글에 서블릿 API에 관한 내용이 포함되어 있습니다.


http://www.terms.co.kr/

===============================================================

서블릿, EJB, MVC모델링이 뭐에요?

출처 : 네이버 지식 검색 : acoty님
 

먼저 간단히 java 에 대해서 설명드리겠습니다.


java 는 프로그래밍 언어 입니다.


xx.java 를 컴파일하면 xx.class 파일이 되고 이 class 파일을 JVM이 컴퓨터에서 실행 되도록 만들어 진것이지요.


xx.java 는 단순 텍스트 파일입니다. 이것을 컴파일하면 class 가되는데 이 파일은 JVM(자바 가상 머신 java virtual machine)이 알아들을수 있는 파일입니다. OS 에서는 바로 동작하지 않습니다. 그래서 중간에 JVM이 필요하지요. 이 JVM때문에 자바가 이식성이 좋다는 것입니다. OS 가 unix 든 window 든 linux든 상관 없이 JVM만 설치가 되어 있으면 동일 환경이 되므로 (버전은 조심해야함) 한번 class 로 만들어진 파일은 어느 OS에서도 동작이 가능합니다.


이런 java 는 SE (Standard Edition) 이 처음 나오게 되었고 제가 알기로 EE( Enterprise Edition) 흔히 EJB라고 불립니다. 그다음에 ME ( Micro Edition) 모바일용이 나온것으로 알고 있습니다. SE,EE,ME 는 다 다른 것이 아니라 모두 동일하지만 API가 크냐 작냐 정도로 여기시면 됩니다 이름에서도 알수 있듯이 ME

제일 많이 사용하고 가장 기본이 되는 SE 를 배우시는게 도움이 많이 되실겁니다.


그 다음에 대부분 JSP 가 나오구 Servlet 이 나온거로 말씀하시는데... Servlet 이 먼저 나왔습니다. Servlet 이란것은 원래 Java 로 만든 프로그램 들끼리 통신할때(관리용)으로 용이하게 하기위해서 생겨난 것으로 알고 있습니다. 어떤 요청를 보내면 결과를 보내주는것이지요.

그런데 그 구조가 http 와 동일 하기때문에 Servlet 을 확장해서 HttpServlet 을 만들게 되었습니다.

그렇기 때문에 초기 Servlet 개발은 많은 노력이 필요했습니다. 디자이너가 준 html를 모두 java 파일로 만들어서 컴파일해서 서버에 등록을 해야 하니까요. 문제는 디자인이 변경되면 개발자가 죽어 나는것이지요.


그래서 나온것이 JSP(Java Server Page)입니다 JSP 는 asp 나 php 와 거의 비슷한 문법과 구조를 가지고 있지습니다. 기존에 개발하던 사람들이 jsp 로 전향하기가 많이 좋아졌지요. jsp를 작성하면 jsp 를 처리하는 웹서버가 자동으로 Servlet 으로 ( java 파일로) 바꾸어주고 컴파일도 자동으로 하고 서버어도 자동으로 등록을 해줍니다. Serlvet 으로 개발하던 사람들에게는 축복이었지요. 지금은 속도도 많이 개선되었고 좋아졌습니다.


그리고 MVC 라는 것이 나왔는데 M: Model V:View C:Controller 가 맞습니다.

MVC개념은 무엇인지 말씀드리면 asp 와 php 를 해보셨다면 아시겠지만 asp, php 에보면 html 태그와 프로그램 소스가 혼용되어 들어 있습니다 그러니까 if , for 와 같은 프로그램과 < table > < font > < br >
와 같은 출력용 데이터가 공존 하는것이지요. 그래서 디자이너가 작업을 해서 개발자에게 주면 개발자가 밤을 세고 (물론 디자이너고 고생이지만) 중간에 라인이 빠졌다는둥 해서 싸움이 일어나지요..^^ 암튼 디자이너가 작업을 하고 기능이 추가되지도 않았는데 꼭 개발자 손을 거쳐야 했습니다. 그래서 그 2개를 찠어 버린것이지요.

말그대도 V 는 보여지는 놈이지요. java기반에서는 jsp 가 이부분을 담당하지요.

이때 jsp 에서는 어떤 프로그램 코드도 들어있지 않습니다. 약간의 제어를 위한 TLD( 개발자가 만든 태그
과 같은 태그를 개발자만 만들수 있습니다)만 있지요. 다시 말해서 디자이너가 직접 jsp 를 수정해서 화면을 재구성할수 있습니다. 요즘나오는 홈싸이트,드림위버(같은건가?) 등에서는 tld 도 지원하는 것으로 알고 있습니다. 개발자는 C 만 만들어 놓으면 되지요. 물론 DBA가 없다면 M 부분도 손을 대야 하겠지만요. C 는 데이터 가공. M 는 원본 데이터라고 보시면되겠습니다. 데이터가 있고 그것을 가공하고 보여주는 3단계를 구분한것이지요. 디자인이 바뀌어도 개발자가 일찍 집에 갈수 있는 방법이 생긴것이지요.


EJB는 위에서 말한것들 + 알파 가 추가된것입니다. EJB에서 웹서비스는 한개의 서비스에 지나지 않습니다. 그래서 덩치가 무지크고 말그대로 느리지요. 그리고 개발또한 무쟈게 복잡합니다. 현재 EJB가 쓰이지 않는 이유는 여러가지가 있지만 개발기간이 너무 긴것이 제 생각으로는 가장 단점인거 같습니다. 가장 간단히 EJB를 설명하면 기존에 나와있는 모든 서버를 한곳에 넣고 돌릴수 있는 환경을 제공하는 프로그램이라고 보시면 될거 같습니다.

EJB를 지원하는 프로그램은 상당히 고가였지요. 지금은... 많이 싸졌다고 하는데... 얼마인지는.... 가장 대중적인 weblogic 이 한 4년전에 cpu당 2천 만원쯤 했답니다.


마지막으로


공부하시고 싶으시면

java > servelt > jsp > MVC > EJB


MVC는 java 가 아니더라도 적용할 수 있는 부분이 많습니다 MVC를 적용한 대표적인 웹프레임웍은 Struts 가 있습니다.


도움이 되시길....


================================================================

기타 소개 페이지

http://www.jabook.org/
http://laedu.net/trackback/17
From. minecraft 2014년 09월 10일 20시 42분Delete / Modify
minecraft
DaeYoung's Blog ::
DaeYoung's Blog 블로그에 오신것을 환영해요^^
웹기반 프로그래밍에 관한 것들을 모을 예정이었는데..
«   2024년 09월   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Javax.mail 참고 사이트.
C# TextBox KeyDown, KeyPr...
SID가 여러개 있을때 'ORA...
https://scrapingmaster.blogg...
https://scrapingmaster.blogg.. 2023년
expertdecoders.com.
expertdecoders.com 2023년
expertdecoders.
expertdecoders 2023년
best decaptcha service.
best decaptcha service 2023년
capcher.
capcher 2023년
34
108
1020404