Что такое Java-сервлет?
Я прочитал много статей, чтобы понять Java servlet, но мне это не удалось.
можете ли вы дать краткое введение Java-сервлетов (на простом языке). Например, что такое сервлет? Каковы advantges? И все такое.
Я не могу понять разницу между серверными языками программирования (PHP, ASP) и сервлетами.
10 ответов
сервлет-это просто класс, который отвечает на определенный тип сетевого запроса-чаще всего HTTP-запрос. В основном сервлеты обычно используются для реализации веб - приложений, но есть также различные фреймворки, которые работают поверх сервлетов (например, Struts), чтобы дать абстракцию более высокого уровня, чем уровень "вот HTTP-запрос, напишите на этот HTTP-ответ", который предоставляют сервлеты.
сервлеты работают в сервлет контейнер который обрабатывает сетевая сторона (например, разбор HTTP-запроса, обработка соединений и т. д.). Одним из самых известных контейнеров сервлетов с открытым исходным кодом является котяра.
сервлет по своей сути является классом java; который может обрабатывать HTTP-запросы. Как правило, внутренняя мелочь чтения HTTP-запроса и ответа по проводу заботится о контейнерах, таких как Tomcat. Это делается для того, чтобы в качестве разработчика на стороне сервера вы могли сосредоточиться на том, что делать с HTTP-запросом и ответами, а не беспокоиться о работе с кодом, который имеет дело с сетью и т. д. Контейнер позаботится о таких вещах, как упаковка всего этого в HTTP-ответ объект и отправить его клиенту (скажем, браузер).
теперь следующий логический вопрос: кто решает, что должен делать контейнер? И ответ: в мире Java, по крайней мере, он руководствуется (обратите внимание, что я не использовал слово controlled) спецификациями. Например, спецификации сервлета (см. ресурс 2) диктуют, что сервлет должен уметь делать. Поэтому, если вы можете написать реализацию для спецификации, поздравляем вас с тем, что вы только что создали контейнер (технически контейнеры, такие как Tomcat, также реализуют другие спецификации и делают сложные вещи, такие как пользовательские загрузчики классов и т. д., Но вы получаете идею).
предполагая, что у вас есть контейнер, ваши сервлеты теперь являются классами java, жизненный цикл которых будет поддерживаться контейнером, но их реакция на входящие HTTP-запросы будет решена вами. Вы делаете это, написав, что вы хотите сделать в заранее определенных методах, таких как init (), doGet (), doPost() и т. д. Посмотрите на ресурс 3.
вот это весело упражнение для вас. Создайте простой сервлет, как в Resource 3, и напишите несколько систем.из.операторы println() в его методе конструктора (Да, вы можете иметь конструктор сервлета), методы init (), doGet (), doPost() и запустить сервлет в tomcat. См. журналы консоли и журналы tomcat.
надеюсь, это поможет, счастливого обучения.
ресурсы
посмотрите, как выглядит сервлет HTTP здесь(Tomcat образец.)
сервлет спецификация.
Простой Сервлет пример.
начать чтение книги онлайн / PDF Он также предоставляет вам загрузку всей книги. Может быть это поможет. если вы только начинаете сервлеты, возможно, это хорошая идея прочитать материал вместе с API сервлетов. это более медленный процесс обучения, но он более полезен для получения основы ясны.
в дополнение к вышесказанному, и просто чтобы указать на очевидное...
для многих это гипер очевидно, но для кого-то, кто привык писать приложения, которые просто запускаются, а затем заканчиваются: сервлет проводит большую часть своего времени, ничего не делая... ожидание отправки чего-то, запроса, а затем ответа на него. По этой причине сервлет имеет жизнь: он инициализируется, а затем ждет, реагируя на все, что бросается в него, и затем уничтожается. Из чего следует, что должен быть создан (а затем уничтожен) чем-то другим (фреймворком), что он работает в своем собственном потоке или процессе и что он ничего не делает, если его не попросят. А также, что тем или иным способом должен быть реализован механизм, посредством которого эта "сущность" может "слушать" запросы.
Я предполагаю, что чтение о потоках, процессах и сокетах прольет некоторый свет на это: это совершенно отличается от того, как функционирует основное приложение "hello world".
можно утверждать, что термин "сервер" или "сервлет" - это немного перебор. Более рациональным и простым именем может быть "ответчик".
Если вы новичок, я думаю, что этот учебник может дать основную идею о Что такое сервлет ...
некоторые ценные моменты приведены ниже по данной ссылке.
технология сервлетов используется для создания веб-приложения, которое находится на стороне сервера и генерирует динамическую веб-страницу.
сервлет может быть описан многими способами, в зависимости от контекста.
- сервлет-это технология т. е. используется для создания веб-приложений.
- Servlet-это API, который предоставляет множество интерфейсов и классов, включая документации.
- сервлет-это интерфейс, который должен быть реализован для создания любого сервлет.
- Servlet-это класс, который расширяет возможности серверов и ответьте на входящий запрос. Он может ответить к любому типу запросы.
- сервлет-это веб-компонент, который развертывается на сервере для создания динамических веб страница. Ссылка:здесь.
сервлет-это серверная технология, которая используется для создания динамические веб-страницы в веб-приложения. На самом деле сервлет-это api, который состоит из группы классов и интерфейсов, который имеет некоторую функциональность. При использовании Servlet API мы можем использовать предопределенные функциональные возможности классов и интерфейсов сервлетов.
жизненный цикл сервлета:
веб-контейнер поддерживает жизненный цикл экземпляра сервлета.
1 . Класс сервлетов загружен
2 . Создан экземпляр сервлета
3 . метод init() вызывается
4 . вызов метода service ()
5 . destroy() метод вызывается
когда запрос поднимается клиентом (браузером), тогда веб-контейнер проверяет, запущен ли сервлет или нет, если да, то он вызывает метод service () и дает ответ браузеру..
когда сервлет не запущена веб-контейнера выполните следующие действия..
1. classloader загрузите класс сервлета
2. Создает экземпляр сервлета
3. Инициализирует сервлет
4.вызовите метод service ()
после обслуживания веб-контейнера запроса подождите определенное время, в это время, если запрос приходит, то он вызывает только метод service (), иначе он вызывает метод destroy ()..
сервлеты Java-это программные модули Java на стороне сервера, которые обрабатывают и отвечают требованиям клиентов и актуализируют интерфейс сервлета. Это помогает в улучшении полезности веб-сервера с незначительными накладными расходами, обслуживанием и поддержкой.
сервлет служит посредником между клиентом и сервером. По мере того как модули сервлета держат побежать на сервере, они могут получить и прореагировать к требованиям сделанным клиентом. Объекты спроса и реакции сервлета предлагают полезный метод для работы с HTTP запрашивает и отправки информации клиенту.
поскольку сервлет координируется с диалектом Java, он дополнительно имеет все основные моменты Java, например, высокую подвижность, автономность этапа, безопасность и доступность базы данных Java.
Servlet-это класс java для ответа на HTTP-запрос и получения HTTP-ответа...... когда мы делаем страницу с использованием HTML, то это будет статическая страница, поэтому, чтобы сделать ее динамической, мы используем сервлет {простыми словами можно понять} Чтобы использовать сервлет, он преодолевается JSP, он использует код и HTML-тег как сам по себе..
что такое сервлет?
- сервлет-это просто класс, который отвечает на определенный тип сетевого запроса-чаще всего HTTP-запрос.
- в основном сервлеты обычно используются для реализации веб-приложений , но есть также различные фреймворки, которые работают поверх сервлетов (например, Struts), чтобы дать абстракцию более высокого уровня, чем" вот HTTP-запрос, напишите на этот уровень HTTP-ответа", который сервлеты обеспечивать.
сервлеты выполняются в контейнере сервлетов, который обрабатывает сетевую сторону (например, разбор HTTP-запроса, обработка соединений и т. д.). Одним из самых известных контейнеров сервлетов с открытым исходным кодом является Tomcat.
в парадигме запроса / ответа веб-сервер может обслуживать только статические страницы для клиента
- для обслуживания динамических страниц нам требуются сервлеты.
- сервлет - это не что иное, как Java-программа
- Эта Java программа не имеет основного метода. Это только некоторые методы обратного вызова.
- как веб-сервер взаимодействует с сервлетом? Через контейнер или сервлет двигатель.
- сервлет живет и умирает в веб-контейнере.
- веб-контейнер отвечает за вызов методов в сервлеты. Он знает, какие методы обратного вызова имеет сервлет.
поток запроса
- клиент отправляет HTTP-запрос в Web сервер
- веб-сервер пересылает этот HTTP-запрос в веб-контейнер.
- поскольку сервлет не может понять HTTP, его программа Java, он понимает только объекты, поэтому веб-контейнер преобразует этот запрос в действительный объект запроса
- веб-контейнер вращает поток для каждого запроса
- вся бизнес-логика идет внутри методов обратного вызова doGet() или doPost() внутри сервлетов
- сервлет создает объект ответа Java и отправляет его контейнер. Он преобразует это в HTTP-ответ снова, чтобы отправить его клиенту
как контейнер знает, какой клиент сервлета запросил?
- есть файл под названием web.в XML
- это главный файл для веб-контейнера
-
У вас есть информация о servlet в этом файле-
-
сервлеты
- Servlet-name
- сервлет-класс
-
сервлет-сопоставление - путь, как / Login или / Notifications отображается здесь в
- Servlet-name
- url-pattern
- и так далее
-
сервлеты
каждый сервлет в веб-приложении должен иметь запись в этот файл
- Итак, этот поиск происходит как-url-pattern- > servlet-name- > servlet-class
Как "установить" сервлеты? * Ну, объекты сервлета наследуются от библиотеки-javax.сервлет.* . Tomcat и Spring можно использовать для использования этих объектов в соответствии с прецедентом.
Ref-смотрите это на 1.5 x -https://www.youtube.com/watch?v=tkFRGdUgCsE . У этого есть потрясающее объяснение.
Я думаю, что сервлет-это в основном класс java, который действует как средний путь между HTTP-запросом и HTTP-ответом.Сервлет также используется, чтобы сделать вашу веб-страницу динамической. Предположим, например, если вы хотите перенаправить на другую веб-страницу на сервере, вам нужно использовать сервлеты. Еще одна важная вещь заключается в том, что сервлет может работать как на localhost, так и в веб-браузере.
вы только что получили ответ для обычного сервлета. Тем не менее, я хочу поделиться с вами кое-чем о Servlet 3.0
что такое первый сервлет?
сервлет-это веб-компонент, управляемый контейнером и создает динамическое содержимое. Сервлеты-это классы Java, которые компилируются для байтового кода, который может быть динамически загружен и запущен Java веб-сервер или контейнер сервлетов с поддержкой технологий.
Servlet 3.0-это обновление существующей спецификации сервлета 2.5. Servlet 3.0 требуется API платформы Java, Enterprise Edition 6. Сервлет 3.0 ориентирован на расширяемость и веб-фреймворк подключаемость. Сервлет 3.0 принесет вам некоторые расширения, такие как легкость Разработка (EoD), подключаемость, асинхронная поддержка и безопасность Усовершенствования
простота разработки
вы можете объявить сервлеты, фильтр, прослушиватели, параметры инициализации и почти все можно настроить с помощью аннотации
подключения
вы можете создать подпроект или модуль с веб-фрагментом.XML. Он значит что оно позволяет снабдить pluggable функциональные требования независимо.
Поддержка Асинхронного
сервлет 3.0 обеспечивает возможность асинхронной обработки, для пример: ожидание доступности ресурса, создание ответ асинхронно.
Улучшения Безопасности
поддержка безопасности сервлетов аутентификации, входа и выхода методы
Я нашел его в Java Servlet Учебник