Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaアプレットとサーブレットの違いとは?実行環境・パッケージ・セキュリティを徹底比較

Javaには、アプレット(Applet)サーブレット(Servlet)という2種類のプログラムがあります。どちらもJava環境上で動作するアプリケーションですが、最大の違いは処理が実行される環境にあります。アプレットはクライアント側で動作するのに対し、サーブレットはサーバー側で動作します。

以下の表に、アプレットとサーブレットの重要な違いをまとめました。

番号項目アプレットサーブレット
1実行環境クライアント側で実行されます。つまり、クライアントマシンのWebブラウザ内で動作します。サーバー側で実行されます。つまり、Webサーバー上で動作します。
2親パッケージjava.applet.* および java.awt.* が含まれます。javax.servlet.* および javax.servlet.http.* が含まれます。
3主なメソッドinit()、start()、stop()、paint()、destroy() などが重要なメソッドです。ライフサイクルメソッドは init()、service()、destroy() の3つです。
4ユーザーインターフェース実行にはAWTやSwingなどのユーザーインターフェースが必要です。実行に特別なインターフェースは不要です。
5必要な帯域幅クライアント側でUIを実行する必要があるため、より多くの帯域幅を消費します。サーバー側で実行されるため、必要な帯域幅は少なくて済みます。
6セキュリティクライアントマシン上で実行されるため、リスクにさらされやすい傾向があります。サーバーのセキュリティ管理下で実行されるため、より安全です。

アプレットのサンプルコード

AppletDemo.java

import java.applet.Applet;
import java.awt.Graphics;
public class AppletDemo extends Applet {
    // paint()メソッドをオーバーライド
    @Override
    public void paint(Graphics g){
        g.drawString("AppletDemo", 20, 20);
    }
}

出力結果

AppletDemo

サーブレットのサンプルコード

ServletDemo.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ServletDemo extends HttpServlet {
    private String message;
    public void init() throws ServletException{
        // 必要な初期化処理
        message = "Servlet Demo";
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println(message);
    }
}

出力結果

Servlet Demo

補足:アプレットは現在非推奨

なお、アプレットはブラウザのプラグインサポート終了に伴い、すでに非推奨(Deprecated)の技術となっており、Java 11以降では標準ライブラリから削除されています。現在のWebアプリケーション開発では、サーブレットやJSP、さらにその上位フレームワークであるSpring Bootなどが主流となっているため、学習の際はこの点にも注意しましょう。

  1. JavaでのArrayListとHashSetの違いを徹底解説!使い分けのポイントも紹介

    HashSetとArrayListは、どちらもJavaコレクションフレームワークにおいて最も重要なクラスの一つです。それぞれ特徴が異なるため、用途に応じた適切な使い分けが求められます。本記事では、ArrayListとHashSetの主な違いを6つの観点から比較し、実際のサンプルコードとともにわかりやすく解説します。ArrayListとHashSetの違い一覧No.項目ArrayListHashSet1実装インターフェースListインターフェースを実装しています。Setインターフェースを実装しています。2内部構造内部的には配列(動的配列)を使って実装されています。内部的にはHashMapを使って

  2. Javaアプレットとサーブレットの違いとは?実行環境・パッケージ・セキュリティを徹底比較

    Javaには、アプレット(Applet)とサーブレット(Servlet)という2種類のプログラムがあります。どちらもJava環境上で動作するアプリケーションですが、最大の違いは処理が実行される環境にあります。アプレットはクライアント側で動作するのに対し、サーブレットはサーバー側で動作します。 以下の表に、アプレットとサーブレットの重要な違いをまとめました。 番号項目アプレットサーブレット 1実行環境クライアント側で実行されます。つまり、クライアントマシンのWebブラウザ内で動作します。サーバー側で実行されます。つまり、Webサーバー上で動作します。 2親パッケージjava.applet