Існує 6 кроків для створення a приклад сервлета . Ці кроки є обов’язковими для всіх серверів.
Приклад сервлету можна створити трьома способами:
- Реалізуючи інтерфейс Servlet,
- Успадковуючи клас GenericServlet, (або)
- Успадковуючи клас HttpServlet
Найчастіше використовується підхід шляхом розширення HttpServlet, оскільки він надає специфічний метод http-запиту, наприклад doGet(), doPost(), doHead() тощо.
Ось, ми збираємося використовувати сервер apache tomcat в цьому прикладі. Кроки такі:
- Створіть структуру каталогу
- Створіть сервлет
- Скомпілюйте сервлет
- Створіть дескриптор розгортання
- Запустіть сервер і розгорніть проект
- Доступ до сервлета
завантажте цей приклад сервлета
завантажити приклад сервлета шляхом розширення GenericServlet
завантажити приклад сервлета за допомогою інтерфейсу Servlet
1) Створіть структуру каталогу
The структура каталогу визначає, де розміщувати різні типи файлів, щоб веб-контейнер міг отримати інформацію та відповісти клієнту.
Sun Microsystem визначає унікальний стандарт, якого повинні дотримуватися всі постачальники серверів. Давайте розглянемо структуру каталогів, якої необхідно дотримуватися для створення сервлета.
Як ви бачите, файл класу сервлета має бути в папці classes. Файл web.xml має бути в папці WEB-INF.
2) Створіть сервлет
Існує три способи створення сервлета.
|
У цьому прикладі ми збираємося створити сервлет, який розширює клас HttpServlet. У цьому прикладі ми успадковуємо клас HttpServlet і забезпечуємо реалізацію методу doGet(). Зауважте, що запит на отримання є запитом за умовчанням. |
DemoServlet.java
import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class DemoServlet extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { res.setContentType('text/html');//setting the content type PrintWriter pw=res.getWriter();//get the stream to write the data //writing html in the stream pw.println(''); pw.println('Welcome to servlet'); pw.println(''); pw.close();//closing the stream }}
3) Скомпілюйте сервлет
Для компіляції сервлету потрібен файл jar. Різні сервери надають різні файли jar:
Файл jar | Сервер |
---|---|
1) servlet-api.jar | Apache Tomcat |
2) weblogic.jar | Weblogic |
3) javaee.jar | Скляна риба |
4) javaee.jar | JBoss |
Два способи завантажити файл jar
- встановити шлях до класу
- вставте файл jar у папку JRE/lib/ext
Помістіть файл java в будь-яку папку. Після компіляції файлу Java вставте файл класу сервлета WEB-INF/кл каталог.
4) Створіть дескриптор розгортання (файл web.xml)
The дескриптор розгортання це файл xml, з якого Web Container отримує інформацію про сервер, який потрібно викликати.
Веб-контейнер використовує аналізатор для отримання інформації з файлу web.xml. Існує багато парсерів xml, таких як SAX, DOM і Pull.
У файлі web.xml багато елементів. Тут подано деякі необхідні елементи для запуску простої програми сервлетів.
файл web.xml
sonoojaiswal DemoServlet sonoojaiswal /welcome
Опис елементів файлу web.xml
У файлі web.xml занадто багато елементів. Ось ілюстрації деяких елементів, які використовуються у наведеному вище файлі web.xml. Елементи такі:
представляє всю програму. |
є піделементом і представляє сервлет. |
є піделементом представляє назву сервлета. |
піделемент представляє клас сервлета. |
є піделементом . Він використовується для відображення сервлета. |
є піделементом . Цей шаблон використовується на стороні клієнта для виклику сервлета. |
5) Запустіть сервер і розгорніть проект
Щоб запустити сервер Apache Tomcat, двічі клацніть файл startup.bat у каталозі apache-tomcat/bin.
Одноразова конфігурація для сервера Apache Tomcat
Вам необхідно виконати 2 завдання:
- встановіть JAVA_HOME або JRE_HOME у змінній середовища (це потрібно для запуску сервера).
- Змініть номер порту tomcat (необов’язково). Це потрібно, якщо інший сервер працює на тому ж порту (8080).
1) Як встановити JAVA_HOME у змінній середовища?
Щоб запустити сервер Apache Tomcat, JAVA_HOME та JRE_HOME потрібно встановити у змінних середовища.
Перейдіть до властивостей мого комп’ютера -> клацніть вкладку «Додатково», потім змінні середовища -> клацніть нову вкладку змінної користувача -> напишіть JAVA_HOME в назві змінної та вставте шлях до папки jdk у значення змінної -> ок -> ок -> ок .
повна форма
Перейдіть до властивостей мого комп’ютера:
Клацніть вкладку додаткових параметрів системи, а потім змінні середовища:
Натисніть на нову вкладку змінної користувача або системної змінної:
Напишіть JAVA_HOME в назві змінної та вставте шлях до папки jdk у значення змінної:
У кінці шляху не повинно бути крапки з комою (;).
Після встановлення JAVA_HOME двічі клацніть файл startup.bat у apache tomcat/bin. |
Примітка: доступні два типи tomcat:
|
Це приклад apache tomcat, якому потрібно лише розпакувати. |
Тепер сервер успішно запущений.
2) Як змінити номер порту apache tomcat
Змінити номер порту потрібно, якщо в тій самій системі працює інший сервер із таким же номером порту. Припустімо, що ви встановили oracle, вам потрібно змінити номер порту apache tomcat, оскільки обидва мають стандартний номер порту 8080.
ВІДЧИНЕНО файл server.xml в блокноті. Він розташований всередині apache-tomcat/конф каталог . Змініть порт конектора = 8080 і замініть 8080 будь-яким чотиризначним числом замість 8080. Давайте замінимо його на 9999 і збережемо цей файл.
5) Як розгорнути проект сервлету
Скопіюйте проект і вставте його в папку webapps під apache tomcat.
Але є кілька способів розгортання проекту. Вони такі:
- Скопіювавши папку context(project) у каталог webapps
- Скопіювавши папку war в каталог webapps
- Вибравши шлях до папки на сервері
- Вибравши військовий файл із сервера
Тут ми використовуємо перший підхід.
Ви також можете створити файл війни та вставити його в каталог webapps. Для цього вам потрібно використовувати інструмент jar, щоб створити файл war. Перейдіть до каталогу проекту (перед WEB-INF), а потім напишіть:
mockito будь-коли
projectfolder> jar cvf myproject.war *
Перевага створення військового файлу полягає в тому, що переміщення проекту з одного місця в інше займає менше часу.
6) Як отримати доступ до сервлета
Відкрийте браузер і напишіть http://hostname:portno/contextroot/urlpatternofservlet. Наприклад:
http://localhost:9999/demo/welcome
завантажити цей приклад сервлета (за допомогою блокнота)
завантажити приклад сервлета шляхом розширення GenericServlet
завантажити приклад сервлета за допомогою інтерфейсу Servlet