2015-11-04 2 views
2

Мы знаем, что сервлет и JSP такие же, как и задние двери. JSP также является сервлетом, поэтому, когда JSP выполняется, он сначала преобразуется в сервлет, затем выполняется выполнение сервлета.Почему JSP не отображается в web.xml, а сервлет

Мой вопрос: если сервлет и JSP такие же, то почему мы отображаем сервлет в файле дескриптора развертывания web.xml, но мы не сопоставляем JSP?

ответ

4

Он уже отображен на сервере web.xml, который применяется на всех веб-серверах. Поэтому вам не нужно явно регистрировать его во всех ваших веб-папках.

В случае, например, Tomcat, вы можете найти приведенные ниже записи о сервлете JSP в файле /conf/web.xml установки Tomcat (номера строк ниже Tomcat 8.0.26).

245 <servlet> 
255  <servlet-name>jsp</servlet-name> 
256  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
257  <init-param> 
258   <param-name>fork</param-name> 
259   <param-value>false</param-value> 
260  </init-param> 
261  <init-param> 
262   <param-name>xpoweredBy</param-name> 
263   <param-value>false</param-value> 
264  </init-param> 
265  <load-on-startup>3</load-on-startup> 
266 </servlet> 
381 <servlet-mapping> 
382  <servlet-name>jsp</servlet-name> 
383  <url-pattern>*.jsp</url-pattern> 
384  <url-pattern>*.jspx</url-pattern> 
385 </servlet-mapping> 

Вы видите, любой запрос, который соответствует шаблону URL *.jsp или *.jspx будет ссылаться на сервер собственного JspServlet, который будет делать все JSP работает.

Tomcat не знает о ваших «настраиваемых» сервлетах, поэтому вы не найдете своих «настраиваемых» сервлетов там, и вам нужно будет сопоставить их в собственном.

Смежные вопросы