Запрос на странице по умолчанию сервера Tomcat

1

Это очень простой вопрос, который я хотел бы понять.

Я запускаю сервер Tomcat Fresh Apache на порт 8080, и когда я набираю URL http://localhost:8080, я вижу, что браузер отправляет следующий запрос tomcat.

GET / HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8

Я вижу ниже ответ http с Content-type:text/html

Изображение 174551

Мой вопрос:

1) Как / параметр запроса GET сопоставлен с этой выше html-страницей как ответ на стороне tomcat, когда сервер tomcat получил этот GET? Это что-то связано с нижним элементом xml в tomcat/conf/web.xml? Каков поток на стороне tomcat после получения этого запроса?

<!-- The mapping for the default servlet -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
  • 0
    эта ссылка на запрос говорит о том, что конкретный сервлет отображается по умолчанию, но мой вопрос заключается в том, чтобы понять поток высокого уровня от tomcat, получающего запрос и отправляющего ответ.
  • 0
    О каком параметре вы говорите?
Показать ещё 7 комментариев
Теги:
servlets
tomcat

2 ответа

2

Архитектура Tomcat

Диаграмма последовательности UML потока процессов запроса поможет вам понять это.

Узнайте больше о следующих разделах непосредственно из официального документа Apache Tomcat 7:

  • Обзор - обзор архитектуры сервера Tomcat с ключевыми терминами и понятиями.
  • Запуск сервера. Подробное описание с диаграммами последовательностей о том, как запускается сервер Tomcat.
  • Request Process Flow - подробное описание того, как Tomcat обрабатывает запрос.

Это может помочь вам понять url-pattern

Процедура соответствия сервлета

Запрос может соответствовать более чем одному сервлет-отображению в данном контексте. Контейнер сервлета использует процедуру прямого сопоставления для определения наилучшего соответствия.

Процедура сопоставления имеет четыре простых правила.

  • Во-первых, контейнер предпочитает точное соответствие пути по совпадению с шаблоном.

  • Во-вторых, контейнер предпочитает соответствовать самому длинному шаблону.

  • В-третьих, контейнер предпочитает соответствие пути по совпадениям типа файла.

  • Наконец, шаблон <url-pattern>/</url-pattern> всегда соответствует любому запросу, который не соответствует никакому другому шаблону.


Взгляните на мое сообщение. Как фильтр сервлетов идентифицировать следующий пункт назначения - это другой фильтр или сервлет /jsp? для подробного описания, чтобы понять его визуально.

  • 0
    у нас есть web.xml, предоставленный tomcat в директории tomcat / conf. Если мы напишем наше собственное приложение, оно будет находиться в tomcat / webapps / app / web-inf / web.xml, так как tomcat понимает, относится ли параметр / в запросе GET к сервлету по умолчанию tomcat / conf / web.xml или сервлету по умолчанию кот / WebApps / приложение / WEB-INF / web.xml?
  • 0
    Это может помочь вам по умолчанию.
Показать ещё 4 комментария
1

Правильно. Это все с этим web.xml.this является одним из самых важных файлов в веб-приложении Java. Параметр/параметр GET отображается сервлетом, который встроен. Чтобы лучше понять это, вам нужно немного узнать JSP/вещь для сервлета

  • 0
    как вы сказали, это из-за web.xml, но web.xml указывает на сервлет по умолчанию, как я понимаю, о триггере html в качестве ответа?
  • 0
    Каждый раз, когда ваше приложение развертывается и запрос поступает в первый раз, автоматически будет вызываться этот сервлет, и этот сервлет будет перенаправлять запрос другому сервлету по цепочке.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню