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。