Servlet JSP web.xml

我在NetBeans中看到一个用于为Servlet选择JSP的function,而web.xml的结果XML是这样的:

  TestServlet /index.jsp  

这是什么意思? 它的用途是什么? 它是否像ASP .NET中的架构背后的代码

这是什么意思? 它的用途是什么?

它用于将servlet的规范名称(不是您编写的实际Servlet类)映射到JSP(恰好是一个servlet)。 它本身并不是很有用。 您经常需要将servlet映射到url-pattern,如下所示:

  TestServlet /index.jsp    TestServlet /test/*  

现在,所有到达/test/*请求都将由JSP提供服务。

此外,servlet规范还指出:

jsp-file元素包含Web应用程序中以“/”开头的JSP文件的完整路径。 如果指定了jsp-file并且存在load-onstartup元素,那么应该预编译并加载JSP。

因此,它可用于预编译servlet,以防您的构建过程未预编译它们。 请记住,以这种方式预编译JSP并不是最佳实践。 理想情况下,您的构建脚本应该处理这些问题。

它是否像ASP .NET中的架构背后的代码?

不,如果您正在寻找代码隐藏架构,与此类似的最接近的相似之处在于JSF提供的Managed Beans支持。

JSP servlet。 JSP是一种模板技术,可解析.jsp文件并生成servlet .java文件。 完成后,.java文件将编译为在servlet / JSP引擎上下文中运行的.class文件。

所有web.xml文件都在将.jsp文件与servlet名称相关联。 还有更多:您必须将.jsp映射到URL,以便servlet / JSP引擎可以知道何时调用它。

我不太清楚ASP或.NET是否足以说明这是否与“代码隐藏”相同。

JSP是一种servlet。 JSP页面被编译成servlet。 此servlet在任何java Web服务器提供的servlet容器中运行。

在web.xml中, 标记用于命名名称servlet类和jsp文件。 然后,您可以根据自己的URL映射这些servlet和jsp文件。

  hello /jsp/hello.jsp   hello /helloworld  

如果你的hello.jsp文件位于JSP文件夹下。 当您尝试使用/ helloworld打开URL时。 它将打开页面hello.jsp。