小编典典

Servlet JSP web.xml

jsp

我在NetBeans中看到了一项功能,用于为选择a JSPServlet结果中的XML web.xml如下所示:

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
</servlet>

这是什么意思?那是为了什么?就像ASP.NET中体系结构 背后的代码 一样吗?


阅读 236

收藏
2020-06-08

共1个答案

小编典典

这是什么意思? 那是为了什么?

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

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
</servlet>
<!--mapping-->
<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/test/*</url-pattern>   
</servlet-mapping>

现在到达的所有请求/test/*将由JSP服务。

此外,Servlet规范还指出:

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

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

就像ASP.NET中体系结构背后的代码一样吗?

不,如果您正在寻找代码隐藏的体系结构,那么与之最相似的是JSF提供的Managed Beans支持。

2020-06-08