Это очень простой вопрос, который я хотел бы понять.
Я запускаю сервер 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
Мой вопрос:
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>
Диаграмма последовательности UML потока процессов запроса поможет вам понять это.
Узнайте больше о следующих разделах непосредственно из официального документа Apache Tomcat 7:
Это может помочь вам понять url-pattern
Запрос может соответствовать более чем одному сервлет-отображению в данном контексте. Контейнер сервлета использует процедуру прямого сопоставления для определения наилучшего соответствия.
Процедура сопоставления имеет четыре простых правила.
Во-первых, контейнер предпочитает точное соответствие пути по совпадению с шаблоном.
Во-вторых, контейнер предпочитает соответствовать самому длинному шаблону.
В-третьих, контейнер предпочитает соответствие пути по совпадениям типа файла.
Наконец, шаблон <url-pattern>/</url-pattern>
всегда соответствует любому запросу, который не соответствует никакому другому шаблону.
Взгляните на мое сообщение. Как фильтр сервлетов идентифицировать следующий пункт назначения - это другой фильтр или сервлет /jsp? для подробного описания, чтобы понять его визуально.
Правильно. Это все с этим web.xml.this является одним из самых важных файлов в веб-приложении Java. Параметр/параметр GET отображается сервлетом, который встроен. Чтобы лучше понять это, вам нужно немного узнать JSP/вещь для сервлета