추천, 2024

에디터의 선택

자바 애플릿과 서블릿의 차이점

애플릿 및 서블릿은 작은 Java 프로그램 또는 응용 프로그램입니다. 그러나 둘 다 다른 환경에서 처리됩니다. 애플릿과 서블릿의 기본적인 차이점은 애플릿 이 클라이언트 측에서 실행되는 반면 서블릿 은 서버 측에서 실행된다는 것입니다. 둘 다 많은 문맥에서 다르다. 우리는 비교 차트의 도움으로 애플릿과 서블릿의 차이점을 연구 해 보자.

비교 차트

비교의 근거애플릿서블릿
실행애플릿은 항상 클라이언트 측에서 실행됩니다.서블릿은 항상 서버 측에서 실행됩니다.
패키지import java.applet. *;
import java.awt. *;
import javax.servlet. *;
import java.servlet.http. *;
라이프 사이클 메소드init (), stop (), paint (), start (), destroy ().init (), service () 및 destroy ()를 호출합니다.
사용자 인터페이스애플릿은 AWT 및 Swing과 같은 사용자 인터페이스 클래스를 사용합니다.사용자 인터페이스가 필요하지 않습니다.
요구 사항실행에 자바 호환 브라우저가 필요합니다.클라이언트 측의 입력을 처리하고 HTML 페이지, Javascript, 애플릿의 관점에서 응답을 생성합니다.
자원클라이언트에 도달하면 클라이언트의 자원을 사용하여 그래픽 인터페이스를 생성하고 복잡한 계산을 실행합니다.
서버의 자원을 사용하여 클라이언트의 요청 및 응답을 처리합니다.
대역폭 사용률애플릿은 클라이언트 시스템에서 실행될 때 더 많은 네트워크 대역폭을 사용합니다.서블릿은 서버에서 실행되므로 더 적은 대역폭이 필요합니다.
보안클라이언트 시스템에있는 것처럼 위험이 높아집니다.서버 보안 아래에 있습니다.

애플릿의 정의

애플릿은 실행을 위해 HTML 코드에 내장 된 작은 Java 프로그램으로, 클라이언트 측 시스템에서 실행됩니다. Java의 API 라이브러리에는 "애플릿"이라는 클래스가 들어있는 "애플릿"이라는 패키지가 들어 있습니다. 작성하는 애플릿은, Applet 클래스의 서브 클래스가 아니면 안되며, 서브 클래스는 프로그램 외부에있는 코드에 의해 코드가 액세스 될 때 "public"으로 선언되어야합니다. 자, 간단한 예를 통해 애플릿의 생성을 이해합시다.

 import java.awt. *; import java.applet. *; public class Hello는 애플릿을 확장합니다. {public void paint (Graphics g) {g.drawString ( "Hello Applet", 20, 20); }} 

위의 코드에서 두 가지 import 문은 애플릿을 만드는 데 필요한 "awt"패키지와 "applet"패키지입니다. 코드의 paint () 메소드는 작성된 애플릿으로 대체되는 awt 패키지에 정의됩니다. Hello 클래스를 볼 수 있듯이 패키지 애플릿 내에 정의 된 Applet 클래스가 확장되었습니다. 이제이 파일을 Hello.java와 같은 클래스 이름으로 저장해야한다. 애플릿이 실행되도록하는 두 가지 방법이 있습니다 :

  • 애플릿을 Java 호환 웹 브라우저에서 실행하십시오.
  • 애플릿을 실행하는 가장 빠른 방법 인 애플릿 뷰어를 사용하여 실행하십시오.

Java 호환 웹 브라우저에서 애플릿을 실행하는 첫 번째 방법은 Hello.java 파일에서 작성된 애플릿을 포함하는 HTML 프로그램을 작성해야합니다.

 // html 코드 

여기서 애플릿 코드 "Hello"는 애플릿을 작성한 파일의 이름입니다. 이제 hello.html과 같이이 파일을 저장하십시오. 웹 브라우저에서이 파일을 실행하려면이 HTML 파일을 웹 브라우저에로드하면됩니다. 그러면 애플릿이 실행됩니다.

애플릿 뷰어에서 애플릿을 실행하는 두 번째 방법은 애플릿 뷰어에서 애플릿을 실행하는 데 필요한 명령을 아래에 제공하는 것입니다.

 > 애플릿 뷰어 hello.html 

또한 실행 속도를 높이는 또 다른 편리한 방법이 있습니다. 소스 파일의 시작 부분에 HTML 코드를 주석으로 삽입 Hello.java

 import java.awt. *; import java.applet. *; / * * / public class Hello는 애플릿을 확장합니다. {public void paint (Graphics g) {g.drawString ( "Hello Applet", 20, 20); }} 

애플릿을 실행하려면 다음 명령을 전달해야합니다.

 > javac Hello.java> 애플릿 viewer Hello.java 

애플릿 클래스의 라이프 사이클 메소드는 init (), service () 및 destroy ()입니다. init () 메소드는 애플릿이 초기화 될 때 호출됩니다. start () 메소드는 애플릿이 시작되거나 재시작 될 때 호출됩니다. stop () 메소드는 애플릿이 종료 될 때 호출됩니다. paint (Graphics) 메소드는, 애플릿의 재 paint가 필요한 경우에 불려갑니다. destroy () 메소드는 애플릿이 소멸 될 때 호출됩니다.

노트 :
애플릿 클래스에 main () 메소드가 없다는 것을 알 수 있습니다. 애플릿의 이름이 애플릿 뷰어에 전달되거나 애플릿 이름이 포함 된 HTML 파일이 웹 브라우저에로드되면 애플릿의 실행이 시작됩니다.

서블릿 정의

애플릿과 마찬가지로 서블릿도 서버 측에서 실행되는 작은 Java 프로그램입니다. 플랫폼에 종속적 인 CGI 프로그램의 성능 문제로 인해 서블릿이 도입되었습니다. 서블릿은 플랫폼에 독립적입니다. 서블릿의 주요 목적은 클라이언트로부터 요청을 수집하고 해당 요청에 대해 요청 된 웹 페이지를 동적으로 생성하여 클라이언트에 다시 보내는 것입니다.

서블릿은 javax.servlet 및 java.servlet.http 패키지를 사용하여 생성 할 수 있습니다. 서블릿의 라이프 사이클 메소드는 init (), service () 및 destroy ()입니다. 이 메소드는 필요할 때 서버에 의해 호출됩니다.
init () :이 메소드는 서블릿이 메모리에 처음로드 될 때 서버에 의해 호출됩니다.
service () :이 메소드는 클라이언트가 보낸 HHTP 요청 t를 처리하기 위해 호출됩니다.
destroy () :이 메소드는 서블릿에 할당 된 자원을 해제하기 위해 호출됩니다.

자바 애플릿과 서블릿의 주요 차이점

  1. 애플릿은 클라이언트 시스템에서 실행되는 응용 프로그램이지만 서블릿은 서버 시스템에서 실행되는 응용 프로그램입니다.
  2. 애플릿의 작성에 사용하는 패키지는, java.applet. import; import java.awt. *; 서블릿을 생성하는 데 사용되는 패키지는 import javax.servlet. *; 그리고 가져 오기 java.servlet.http. *;
  3. 애플릿 클래스의 라이프 사이클 메소드는 init (), stop (), paint (), start (), destroy ()입니다. 반면, 라이프 사이클 메소드는 init (), service () 및 destroy ()입니다.
  4. 애플릿은 사용자 인터페이스 클래스 AWT 및 Swing을 사용하여 사용자 인터페이스를 작성하지만 서블릿은 사용자 인터페이스 클래스를 필요로하지 않으므로 사용자 인터페이스 클래스는 필요하지 않습니다.
  5. 클라이언트 시스템에서 애플릿을 실행하려면 Java 호환 웹 브라우저가 필요합니다. 반면 서블릿에서는 Java가 웹 서버가 클라이언트의 요청 및 응답을 처리 할 수있게해야합니다.
  6. 애플릿은 클라이언트 측에서 실행될 때 클라이언트 시스템의 자원을 사용합니다. 서블릿은 서버 측에서 실행될 때 서버의 자원을 활용합니다.
  7. 애플릿은 서블릿에 비해 보안 문제가 더 심각합니다.

결론:

애플릿과 서블릿은 둘 다 서블릿이 클라이언트 요청에 응답하여 애플릿을 생성 할 수있는 작은 자바 프로그램입니다.

Top