English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Структура веб-приложений,涉及到WEB-INF подкаталога, является стандартной для всех Java веб-приложений и определена спецификацией Servlet API.
/myapp /images /WEB-INF /classes /lib
Подкаталог WEB-INF содержит описание部署 приложения, называемое web.xml. Все файлы HTML расположены в корневом каталоге myapp Для пользователя admin你会发现 каталог ROOT является родительским каталогом myApp.
Каталог WEB-INF/classes содержит все классы Servlet и другие файлы классов, структура каталога классов соответствует их именам пакетов. Например, если у вас есть полностью квалифицированное имя класса com.myorg.MyServletтогда этот класс Servlet должен находиться в следующем каталоге:
/myapp/WEB-INF/classes/com/myorg/MyServlet.class
Ниже приведен пример создания пакета с именем com.myorg класса MyServlet.
// Название пакета package com.myorg; // Импорт необходимых java библиотек import java.io.*; import javax.servlet.*; import javax.servlet.http.*; @WebServlet("/MyServlet") public class MyServlet extends HttpServlet { private String message; public void init() throws ServletException { // Выполнение необходимых инициализаций message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Установка типа содержимого ответа response.setContentType("text/html;charset=UTF-8"); // Реальная логика находится здесь PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy()} { // Ничего не делает } }
Компилирование классов в пакете не сильно отличается от компилирования других классов. Самый простой способ - сохранить java файлы с полным именем пути, как упомянутый класс, который останется в com.myorg. Также вам нужно добавить этот каталог в CLASSPATH.
Предположим, что ваше окружение настроено правильно, перейдите в <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes Каталог, и скомпилировать MyServlet.java, как показано ниже:
$ javac MyServlet.java
Если Servlet зависит от других библиотек, то вам также нужно указать эти JAR файлы в CLASSPATH. Здесь я использую только файл JAR servlet-api.jar, так как в программе Hello World я не использую другие библиотеки.
Эта команда использует встроенный компилятор javac, который входит в Java Software Development Kit (JDK, полное название Java Software Development Kit) от Sun Microsystems. Для того чтобы эта команда работала корректно, необходимо включить путь к Java SDK, который вы используете в переменной окружения PATH.
Если все прошло顺利, указанная компиляция создаст файлы в том же каталоге: MyServlet.class файл. В следующем разделе будет объяснено, как部署 уже скомпилированный Servlet в производственную среду.
По умолчанию, приложение Servlet находится по пути <Tomcat-installation-directory>/webapps/ROOT и файлы классов находятся в <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes.
Если у вас есть полноценное имя класса com.myorg.MyServletЕсли это так, то этот класс Servlet должен быть расположен в WEB-INF/classes/com/myorg/MyServlet.class, и вам нужно создать следующий раздел в файле web.xml, который находится в <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/:
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.myorg.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern> </servlet-mapping>
Эти записи должны быть созданы в теге <web-app>...</web-app> файла web.xml. В этом файле могут уже быть различные доступные записи, но не стоит обращать на них внимание.
До этого момента вы, по сути, уже完成了. Теперь让我们使用 <Tomcat-installation-directory>\bin\startup.bat (на Windows) или <Tomcat-installation-directory>/bin/startup.sh (на Linux/Solaris и т.д.) для запуска сервера Tomcat, а затем в адресной строке браузера введите http://localhost:8080/MyServletЕсли все будет хорошо, вы увидите результат ниже:
Привет мир |