为什么JSP不映射到web.xml中,而servlet映射到web.xml中

为什么JSP不映射到web.xml中,而servlet映射到web.xml中,jsp,servlets,web.xml,Jsp,Servlets,Web.xml,我们从后门知道servlet和JSP是相同的。 JSP也是servlet,所以当执行JSP时,它首先转换为servlet,然后再执行servlet 我的问题是,如果servlet和JSP是相同的,那么为什么我们在web.xml部署描述符文件中映射servlet,而不映射JSP?它已经映射到服务器自己的web.xml中,并应用于所有web应用程序。因此,您不需要在所有Web应用程序中明确注册它 例如,对于Tomcat,您可以在Tomcat安装的/conf/web.xml文件中找到以下与JSP se

我们从后门知道servlet和JSP是相同的。 JSP也是servlet,所以当执行JSP时,它首先转换为servlet,然后再执行servlet


我的问题是,如果servlet和JSP是相同的,那么为什么我们在
web.xml
部署描述符文件中映射servlet,而不映射JSP?

它已经映射到服务器自己的
web.xml
中,并应用于所有web应用程序。因此,您不需要在所有Web应用程序中明确注册它

例如,对于Tomcat,您可以在Tomcat安装的
/conf/web.xml
文件中找到以下与JSP servlet相关的条目(下面的行号与Tomcat 8.0.26匹配)

245
255 jsp
256 org.apache.jasper.servlet.JspServlet
257
258叉子
259错
260
261
262 xpoweredBy
263错误
264
265        3
266
381
382 jsp
383*.jsp
384*.jspx
385
您可以看到,任何与URL模式
*.jsp
*.jspx
匹配的请求都将调用服务器自己的
JspServlet
,然后它将执行所有jsp工作

Tomcat不了解您的“定制”servlet,因此您在其中找不到您的“定制”servlet,您需要自己将它们映射到webapp自己的
web.xml