Что такое Java-сервлет?
Я прочитал много статей, чтобы понять Java сервлет, но мне не удалось.
не могли бы вы дать краткое введение сервлетов java (на простом языке). Например, что такое сервлет? Каковы преимущества? И все такое.
Я не могу понять разницу между серверными языками программирования (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. Увидеть консоли журналы и журналы котяра.
надеюсь, это поможет, счастливое обучение.
ресурсы
посмотрите, как выглядит http сервлет здесь(Tomcat образец.)
сервлет спецификация.
Простой Сервлет пример.
начать чтение книги online / PDF Он также предоставляет вам скачать всю книгу. Может быть это поможет. если вы только начинаете сервлетов может быть, это хорошая идея, чтобы прочитать материал вместе с API сервлета. это более медленный процесс обучения, но он более полезен для получения основы понятны.
В дополнение к вышесказанному, а просто указать на кое-что...
для многих это гипер очевидно, но для кого-то, кто привык писать приложения, которые просто запускаются, а затем заканчиваются: сервлет проводит большую часть своего времени, ничего не делая... ожидание отправки чего-то, запроса, а затем ответ на него. По этой причине сервлет имеет жизнь: он инициализируется, а затем ждет, реагируя на все, что бросается на него, а затем уничтожается. Что подразумевает, что это должен быть создан (а затем уничтожен) чем-то другим (фреймворк), что он работает в своем собственном потоке или процессе, и что он ничего не делает, если его не просят. А также что, тем или иным способом, должен быть реализован механизм, посредством которого эта "сущность" может "прослушивать" запросы.
Я предлагаю, чтобы чтение о потоках, процессах и сокетах пролило некоторый свет на это: это совсем не похоже на то, как работает основное приложение "hello world".
можно утверждать, что термин "сервер" или "сервлет" - это немного перебор. Более рациональным и простым именем может быть"ответчик".
Если вы новичок, я думаю, что этот учебник может дать основную идею о Что такое сервлет ...
некоторые ценные моменты приведены ниже по данной ссылке.
технология сервлетов используется для создания веб-приложения, которое находится на стороне сервера и генерирует динамическую веб-страницу.
сервлет может быть описан многими способами, в зависимости от контекста.
- сервлет-это технология т. е. используется для создания веб-приложений.
- сервлет-это API, который предоставляет множество интерфейсов и классов, включая документации.
- сервлет-это интерфейс, который должен быть реализован для создания любого сервлет.
- сервлет-это класс, который расширяет возможности сервера и ответьте на входящий запрос. Оно может ответить к любому типу запросы.
- сервлет-это веб-компонент, который развертывается на сервере для создания динамических веб страница. Ссылка:здесь.
сервлет - это технология на стороне сервера, которая используется для создания динамические веб-страницы в веб-приложения. На самом деле сервлет-это api, который состоит из группы классов и интерфейсов, которая имеет некоторую функциональность. При использовании API сервлетов мы можем использовать предопределенные функциональные возможности классов и интерфейсов сервлетов.
жизненный цикл сервлета:
веб-контейнер поддерживает жизненный цикл экземпляра сервлета.
1 . Класс сервлетов загружено
2 . Создан экземпляр сервлета
3 . метод init() вызывается
4 . вызов метода service ()
5 . destroy() метод вызывается
когда запрос поднимается клиентом (браузером), тогда веб-контейнер проверяет, работает ли сервлет или нет, если да, то он вызывает метод service () и дает ответ браузеру..
когда сервлет не запустив затем web-контейнер выполните следующие действия..
1. загрузчик классов загрузите класс сервлета
2. Создает экземпляр сервлета
3. Инициализирует сервлет
4.вызовите метод service ()
после обслуживания веб-контейнера запроса подождите определенное время, в это время, если запрос приходит, то он вызывает только метод service() в противном случае он вызывает метод destroy ()..
сервлеты Java-это программные модули Java на стороне сервера, которые обрабатывают и отвечают требованиям клиентов и актуализируют интерфейс сервлета. Это помогает в улучшении полезности веб-сервера с незначительными накладными расходами, содержанием и поддержкой.
сервлет работает как посредник между клиентом и сервером. По мере того как модули сервлета держат побежать на сервере, они могут получить и прореагировать к требованиям сделанным клиентом. Объекты спроса и реакции сервлета предлагают полезный способ борьбы с помощью HTTP запрашивает и отправляет информацию о содержимом обратно клиенту.
поскольку сервлет координируется с диалектом Java, он дополнительно имеет все основные моменты Java, например, высокую подвижность, автономность этапа, безопасность и доступность базы данных Java.
сервлет-это класс 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-name
- сервлет-класс
- сервлет-сопоставление - путь, как / логин или / уведомления отображается здесь в
- 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-это обновление существующей спецификации Servlet 2.5. Сервлет 3.0 требуется API платформы Java, Enterprise Edition 6. Сервлет 3.0 ориентирован на расширяемость и веб-фреймворк подключения. Сервлет 3.0 принесет вам некоторые расширения, такие как легкость Разработка (EoD), подключаемость, асинхронная поддержка и безопасность Улучшения
простота разработки
вы можете объявлять сервлеты, фильтры, прослушиватели, параметры инициализации и почти все можно настроить с помощью аннотации
подключения
вы можете создать подпроект или модуль с веб-фрагментом.XML. Оно означает, что это позволяет реализовать подключаемые функциональные требования независимо.
Поддержка Асинхронного
сервлет 3.0 обеспечивает возможность асинхронной обработки, для пример: ожидание доступности ресурса, генерация ответ асинхронно.
Улучшения Безопасности
поддержка безопасности сервлетов аутентификации, входа и выхода из системы методы
Я нашел его в Java Servlet Tutorial