Как страница JSP обнаруживается и конвертируется в сервлет Tomcat? - PullRequest
4 голосов
/ 05 мая 2011

Обнаружена ли страница JSP расширением страницы только .jsp?Есть ли какой-нибудь другой способ его обнаружения?

Ответы [ 2 ]

8 голосов
/ 05 мая 2011

JSP-страницы в Tomcat обрабатываются специальным сервлетом, который предназначен для обработки всех запросов, заканчивающихся на .jsp или .jspx в HTTP-запросе.Эта конфигурация существует в глобальном файле $CATALINA\conf\web.xml, где можно найти следующие важные строки.Обратите внимание, что это для Tomcat 6.

Регистрация сервлета JSP

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

Отображение URL-адреса сервлета JSP

<!-- The mapping for the JSP servlet -->
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jspx</url-pattern>
</servlet-mapping>

Вы можете добавить дополнительные сопоставления URL-адресов для других расширений файлов, которые еще не сопоставлены с другими сервлетами, для запуска компилятора Jasper, который в конечном итоге отвечает за перевод файлов JSP в соответствующие сервлеты Java, которые затем компилируются (используяКомпилятор Eclipse JDT, по умолчанию).Дополнительную информацию о настройке некоторых параметров в процессе можно получить из документации Tomcat по настройке Jasper .

1 голос
/ 05 мая 2011

Вот краткое введение из Встроенных определений сервлетов раздела в $ TOMCAT_HOME / conf / web.xml

The JSP page compiler and execution servlet, which is the mechanism
used by Tomcat to support JSP pages.  Traditionally, this servlet
is mapped to the URL pattern "*.jsp".

И обнаружение страницы JSP выполняется с помощью отображения сервлета (Встроенный раздел отображений сервлетов в $ TOMCAT_HOME / conf / web.xml):

<!-- The mapping for the JSP servlet -->
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jspx</url-pattern>
</servlet-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...