Няня Tomcat Быстрый старт

img


Введение

Apache Tomcat - это реализация с открытым исходным кодом сервлета Java, страниц JavaServer Pages (JSP), языка выражений Java и технологии Java WebSocket. Обычно мы называем Tomcat веб-контейнером или контейнером сервлетов.

Связь отображения между версиями tomcat и соответствующими спецификациями:


img


ссылка для скачивания

https://tomcat.apache.org/download-90.cgi

Загрузите на локальный компьютер и разархивируйте:


img


Войдите в основной каталог:


img


Введение в каталог Tomcat

мусорное ведро

Скрипты запуска, выключения и другие. Эти файлы .sh (для систем Unix) являются функциональными копиями этих файлов .bat (для систем Windows). Поскольку в командной строке Win32 отсутствуют некоторые функции, сюда включены некоторые другие файлы.

Например: startup.bat используется для запуска tomcat под Windows, а startup.sh используется в среде Linux. Соответственно есть соответствующий скрипт выключения.

conf

Файл конфигурации Tomcat и связанный с ним DTD. Самый важный файл здесь - server.xml. Это основной файл конфигурации контейнера.

catalina.policy: Tomcat: файл политики безопасности, который управляет разрешениями, связанными с JVM. Подробнее см. В java.security.Permission.

catalina.properties: Файл конфигурации управления поведением Tomcat Catalina, например Common ClassLoader.

logging.properties: Файл конфигурации журнала Tomcat. Журнал внутри использует JDK Logging.

server.xml: Файл конфигурации сервера Tomcat (для моих разработчиков очень важен).

context.xml: Файл конфигурации глобального контекста, отслеживание и загрузка файлов ресурсов, автоматическая загрузка при изменении отслеживаемого файла.

tomcat-user.xml: Файл конфигурации роли Tomcat.

web.xml: Стандартный файл развертывания сервлета web.xml, Tomcat по умолчанию реализует частичную конфигурацию:

  • org.apache.catalina.servlets.DefaultServlet。

  • org.apache.jasper.servlet.JspServlet

журналы

По умолчанию здесь находится файл журнала.

localhostПолезно, когда ваш tomcat не запускается, прочтите этот файл больше. такие как:

  • NoClassDefFoundError

  • ClassNotFoundException

accessСамый бесполезный.

catalina.{date} В основном консольный вывод, в нем все логи.

веб-приложения

Здесь находится ваше веб-приложение. По сути, это все один проект.

Упростите способ веб-развертывания. Наши приложения не будут размещены здесь в онлайн-среде. Лучший способ - внешний.

lib

Tomcat хранит общие библиотеки. такие как:

  • ecj-4.17.jar: компилятор Java eclipse

  • jasper.jar: компилятор JSP.

Работа

Храните файлы, скомпилированные во время выполнения Tomcat, например файлы, скомпилированные JSP.

темп

Храните временные файлы, созданные во время выполнения.

Запустить кота

Запустить кота

Мы напрямую запускаем startup.bat в каталоге bin под окнами, что соответствует startup.sh в среде Linux.

Дважды щелкните, чтобы начать. Консоль введет порт 8080, а затем мы посетим:

http: // локальный: 8080 /

Отображение страницы:


img


Это означает, что наш кот успешно запустился.

В это время запрашивается ROOT-каталог.http://localhost:8080/

Например: мы можемhttp://localhost:8080/manager

Проект сервлета развернут на tomcat

Создать веб-проект

Используйте maven для создания веб-проекта.Поскольку tomcat является контейнером сервлетов, создайте класс сервлета в проекте, затем отметьте его как военный пакет и скопируйте его в tomcat для развертывания.

Структура проекта следующая:


img


Добавить зависимость

    <проект xmlns = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
     xsi: schemaLocation = "http: / /maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
     <modelVersion> 4.0.0 </modelVersion>
     <groupId> com.tian.maven </ groupId >
     <artifactId> my-web-maven </artifactId>
     <packaging> war </packaging>
     <version> 1.0-SNAPSHOT </version>
     <name> my-web-maven Maven Webapp </name>
     <url> http: //maven.apache.org </url>
     <dependencies>
       <dependency>
         <groupId> junit </groupId>
         <artifactId> junit </artifactId>
         <version> 3.8.1 </version>
         <scope> test </scope>
       </dependency>
       <dependency>
         <groupId> javax.servlet </groupId>
         <artifactId> javax.servlet-api </artifactId>
         <version> 3.1.0 </version>
       </dependency>
     </dependencies>
     <build>
       <finalName> мой-веб-maven </finalName>
     </build>
   </project>

Создать DemoServlet

    пакет com.tian.maven;

   import javax.servlet.ServletException;
   import javax.servlet.annotation.WebServlet;
   import javax.servlet.http.HttpServlet;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;
   import java.io.IOException;

   @WebServlet (urlPatterns = "/ demo")
   открытый класс DemoServlet расширяет HttpServlet {
       @Override
       protected void doGet (HttpServletRequest req, HttpServletResponse resp) выдает исключение ServletException, IOException {
           message "msg = req.getParameter (message" message ");
           String contextPath = req.getServletContext (). GetContextPath ();
           System.out.println ("contextPath =" + contextPath);
           соответственно getWriter (). println (сообщение);
       }
   }

web.xml не имеет ничего, только для упаковки.

    <! Веб-приложение DOCTYPE PUBLIC 
    "- // Sun Microsystems, Inc. // Веб-приложение DTD 2.3 // EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

   <web-app>
     <display-name> Веб-приложение, созданное архетипом </display-name>
   </web-app>

В index.jsp нет ничего, чтобы обнаружить, что:

    <html> 
   <body>
   <h2> Привет, мир! </h2>
   </body>
   </html>

Используйте команду mvn, чтобы создать военный пакет.


img


Скопируйте отмеченный военный пакет (на самом деле скопируйте папку my-web-maven такая же) в каталог webapps в tomcat:


img


Затем перейдите в каталог bin и дважды щелкните


img


После запуска проекта посетите http: // localhost: 8080 /


img


Докажите, что наш проект успешно запущен.

Затем мы обращаемся к сервлету, который мы написали:

http: // локальный: 8080 / демо? сообщение = привет


img


Ошибка, HTTP-статус 404-не найден;

Примечание : при посещении здесь нам нужно использовать имя проекта в качестве contextPath, то есть метод доступа должен быть:

http: // локальный: 8080 / мой-веб-maven / демо? сообщение = привет

Вывод на страницу

Здравствуйте

Это легко сделать, поэтому наш проект можно успешно развернуть на Tomcat.

Разверните проект в IDEA на tomcat

Создайте проект сервлета с именем проекта my-servlet.


img



img


Создайте новый класс MyServlet


img


Войдите в каталог tomcat, который мы только что установили, войдите в каталог lib и выберите servlet-api.jar.


img



img



img


Щелкните ОК.


img


Щелкните Применить, а затем щелкните ОК.

Измените содержимое MyServlet:

    пакет com.tian.servlet;

   import javax.servlet. *;
   import java.io.IOException;
   import java.io.PrintWriter;

   // Чтобы реализовать интерфейс Servlet, следующие методы должны быть переписаны.
   Открытый класс MyServlet реализует Servlet {

       частный временный ServletConfig servletConfig;
       @Override
       public void init (ServletConfig servletConfig) выдает исключение ServletException {
           this.servletConfig = servletConfig;
       }

       @Override
       public ServletConfig getServletConfig () {
           return servletConfig;
       }

       @Override
       общедоступная служба void (запрос ServletRequest, ответ ServletResponse) выдает исключение ServletException, IOException {
           String servletName = servletConfig.getServletName ();
           // 响应 类型 , 浏览 器 将 其 渲染 为 HTML 格式
           response.setContentType ("text / html");
           PrintWriter writer = response.getWriter ();
           writer.println ("<html> <head> </head>" + "<body> Здравствуйте, это" + servletName + "</body> </html>");
       }

       @Override
       public String getServletInfo () {
           return "мой первый сервлет";
       }

       @Override
       public void destroy () {
       }
   }

Измените содержимое файла web.xml:

    <? xml version = "1.0" encoding = "UTF-8"?> <веб-приложение xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http: // www .w3.org / 2001 / XMLSchema-instance "xsi: schemaLocation =" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1 .xsd "version =" 3.1 "> <servlet> <servlet-name> myServlet </servlet-name> <servlet-class> com.tian.servlet.MyServlet </servlet-class> </servlet> <servlet-mapping > <servlet-name> myServlet </servlet-name> <url-pattern> / demo </url-pattern> </servlet-mapping> </web-app>

Кроме того, мы изменяем содержимое index.jsp, в основном для лучшей демонстрации:

    <% @ page contentType = "text / html; charset = UTF-8" language = "java"%> <html> <body> <h1> привет мир </h1> </body> </html>

IDEA интегрированный кот

Добавьте кота, который мы установили в нашей IDEA:


img



img


Зайдите в интерфейс конфигурации tomcat:


img


Настройте tomcat:


img


Войдите в каталог установки:


img


Нажмите ОК,


img


Затем введите столбец развертывания:


img


Добавьте созданный нами проект сервлета:


img


Наш проект добавляется автоматически:


img


Затем нажмите Применить, а затем нажмите ОК.

IDEA объединяет tomcat и связывает наши проекты. Запустим его ниже:


img


Запустить кота

Щелкните зеленый треугольник:


img


Докажите, что наш проект успешно запущен в tomcat.


img


Посетите наш сервлет

На этом этапе мы можем перейти к нашему сервлету.

Посетите: http: // localhost: 8080 / Отображение страницы - это содержимое index.jsp, которое мы изменили ранее.

Затем посетите наш собственный сервлет:

http: // localhost: 8080 / демонстрация


img


Мы успешно выводим наш контент. Ну вот и все в этой статье, простая запись о коте.

подводить итоги

Что такое tomcat, как установить tomcat, как запустить tomcat, как развернуть наш собственный проект сервлетов, как интегрировать tomcat в IDEA и как запустить tomcat.

人只要不失去方向,就不会失去自己



рекомендация

отblog.51cto.com/10983206/2592717