Рекомендуем, 2024

Выбор редакции

Разница между апплетом и сервлетом в Java

Апплет и сервлет - это небольшие Java-программы или приложения. Но оба обрабатываются в другой среде. Основное различие между апплетом и сервлетом состоит в том, что апплет выполняется на стороне клиента, тогда как сервлет выполняется на стороне сервера. Оба они различаются во многих контекстах, давайте изучим разницу между апплетом и сервлетом с помощью сравнительной таблицы.

Сравнительная таблица

Основа для сравненияАпплетServlet
выполнениеАпплет всегда выполняется на стороне клиента.Сервлет всегда выполняется на стороне сервера.
пакетыимпорт java.applet. *;
импорт java.awt. *;
импорт javax.servlet. *;
import java.servlet.http. *;
Методы жизненного циклаinit (), stop (), paint (), start (), destroy ().init (), service () и destroy ().
Пользовательский интерфейсАпплеты используют классы пользовательского интерфейса, такие как AWT и Swing.Пользовательский интерфейс не требуется.
требованиеТребуется совместимый с Java браузер для выполнения.Он обрабатывает входные данные со стороны клиента и генерирует ответ с точки зрения HTML-страницы, Javascript, Applets.
РесурсыКогда он достигает клиента, он использует ресурсы клиента для создания графического интерфейса и выполнения сложных вычислений.
Он использует ресурсы сервера для обработки запросов и ответов клиента.
Использование полосы пропусканияАпплеты используют большую пропускную способность сети при выполнении на клиентском компьютере.Сервлеты выполняются на серверах и, следовательно, требуют меньшей пропускной способности.
БезопасностьБолее подвержен риску, как на клиентском компьютере.Это под защитой сервера.

Определение апплета

Апплет - это небольшая Java-программа, которая встроена в HTML-код для своего исполнения и выполняется на клиентской машине. Библиотека API Java содержит пакет «applet», который содержит класс «Applet». Любой создаваемый вами апплет должен быть подклассом класса Applet, и этот подкласс должен быть объявлен как «общедоступный», так как к его коду будет обращаться код, находящийся вне программы. Теперь давайте разберемся в создании апплета с помощью простого примера.

 импорт java.awt. *; импорт java.applet. *; открытый класс Hello extends Applet {public void paint (Graphics g) {g.drawString ("Hello Applet", 20, 20); }} 

В приведенном выше коде два оператора импорта - это пакет «awt» и пакет «applet», которые требуются при создании любого апплета. Метод paint () в коде определен в пакете awt, который переопределяется созданным апплетом. Как видите, класс Hello расширил класс Applet, который определен внутри апплета пакета. Теперь вы должны сохранить этот файл с именем класса, т.е. Hello.java. Существует два метода запуска апплета:

  • Запустите апплет в Java-совместимом веб-браузере.
  • Выполните, используя appletviewer, который также является самым быстрым способом выполнения апплета.

Первый способ выполнения апплета в Java-совместимом веб-браузере требует создания программы HTML, которая встраивает апплет, созданный в файл Hello.java.

 // HTML-код 

Здесь код апплета «Hello» - это имя файла, в котором вы создали апплет. Теперь сохраните этот файл, скажем, hello.html. Все, что вам нужно для запуска этого файла в веб-браузере, это загрузить этот HTML-файл в веб-браузер, и апплет будет запущен.

Второй метод выполнения апплета в средстве просмотра апплетов заключается в том, что команды, необходимые для выполнения апплета в средстве просмотра апплетов, приведены ниже.

 > appletviewer hello.html 

Существует также другой удобный способ ускорить выполнение. Вставить HTML-код в качестве комментария в начало исходного файла Hello.java

 импорт java.awt. *; импорт java.applet. *; / * * / открытый класс Hello extends Applet {public void paint (Graphics g) {g.drawString ("Hello Applet", 20, 20); }} 

Чтобы выполнить апплет, вы должны передать команду:

 > javac Hello.java> appletviewer Hello.java 

Метод жизненного цикла в классе Applet: init (), service () и destroy (). Метод init () вызывается при инициализации апплета. Метод start () вызывается при запуске или перезапуске апплета. Метод stop () вызывается при завершении апплета. Метод paint (Graphics) вызывается, когда апплет должен быть перекрашен. Метод destroy () вызывается при уничтожении апплета.

Замечания:
Вы можете заметить, что класс апплета не содержит метод main (). Вместо этого выполнение апплета начинается, когда имя апплета передается в просмотрщик апплетов, или в веб-браузер загружается файл HTML, содержащий имя апплета.

Определение сервлета

Как и апплеты, сервлеты - это также небольшие Java-программы, которые исполняются на стороне сервера. Проблемы производительности в платформо-зависимых программах CGI позволяют внедрять сервлеты. Сервлеты не зависят от платформы. Основное назначение сервлета - собрать запрос от клиента, динамически сгенерировать запрошенную веб-страницу для соответствующего запроса и отправить ее обратно клиенту.

Сервлеты могут быть созданы с использованием пакетов javax.servlet и java.servlet.http. Методы жизненного цикла сервлетов: init (), service () и destroy (). Эти методы вызываются сервером, когда они необходимы.
init () : этот метод вызывается сервером, когда сервлет изначально загружается в память.
service () : этот метод вызывается для обработки HHTP-запроса t, отправляемого клиентом.
destroy () : этот метод вызывается для освобождения ресурсов, которые были выделены сервлету.

Ключевая разница между апплетом и сервлетом в Java

  1. Апплет - это приложение, которое выполняется на клиентском компьютере, тогда как сервлет - это приложение, которое выполняется на серверном компьютере.
  2. Пакет, используемый для создания апплета: import java.applet. *; и импортировать java.awt. *; в то время как пакеты, используемые для создания сервлета: import javax.servlet. *; и импортировать java.servlet.http. *;
  3. Методами жизненного цикла класса Applet являются init (), stop (), paint (), start (), destroy (). С другой стороны, методом жизненного цикла являются init (), service () и destroy ().
  4. Апплеты используют классы пользовательского интерфейса AWT и Swing для создания пользовательского интерфейса, тогда как сервлет не требует никакого класса пользовательского интерфейса, поскольку он не создает никакого пользовательского интерфейса.
  5. Для запуска апплета на клиентском компьютере требуется совместимый с Java веб-браузер. С другой стороны, сервлет требует, чтобы Java включил веб-сервер для обработки запроса и ответа клиента.
  6. Апплет использует ресурсы клиентского компьютера при выполнении на стороне клиента. Сервлеты используют ресурсы сервера так, как он выполняется на стороне сервера.
  7. Апплеты сталкиваются с большими проблемами безопасности по сравнению с сервлетами.

Заключение:

Апплет и сервлет - это небольшая Java-программа, в которой сервлет может генерировать апплет в ответ на запрос клиента.

Top