我在NetBeans中看到了一个用于为Servlet选择JSP的特性,web.xml中的结果XML如下所示:
<servlet>
<servlet-name>TestServlet</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>什么意思?这是做什么用的?它是否类似于ASP中的架构背后的代码?
发布于 2011-06-19 09:38:12
,这是什么意思?这是做什么用的?
它用于将servlet的规范名称(不是您编写的实际Servlet类)映射到JSP (碰巧是servlet)。就其本身而言,它并不十分有用。您通常需要将servlet映射到url模式,如下所示:
<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,并且存在load-onstartup元素,那么就应该预编译并加载load-onstartup。
因此,它可以用于预编译servlet,以防您的构建过程没有预编译它们。请记住,以这种方式预编译JSP并不是最佳实践。理想情况下,构建脚本应该处理这些问题。
是否类似于ASP .NET体系结构背后的代码?
不,如果您正在寻找代码隐藏架构,最类似的是JSF提供的托管Beans支持。
发布于 2011-06-19 09:31:57
JSPs是servlet。JSP是一种模板技术,它解析.jsp文件并生成servlet .java文件。一旦完成,.java文件将被编译成在servlet/JSP上下文中运行的.class文件。
web.xml文件所做的就是将.jsp文件与servlet名称关联起来。还有更多:您必须将该.jsp映射到一个URL,以便servlet/JSP能够知道何时调用它。
我不太了解ASP或.NET,不足以说明这是否与“背后的代码”相同。
发布于 2016-03-23 21:45:25
JSPs是一种servlet。JSP页面被编译成servlet。这个servlet运行在由任何java服务器提供的servlet容器中。
在web.xml中,<servlet>标记用于命名名称servlet类和jsp文件。然后,您可以根据自己的URL映射这些servlet和jsp文件。
<servlet>
<servlet-name>hello</servlet-name>
<jsp-file>/jsp/hello.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>如果您的hello.jsp文件位于JSP文件夹下。当您尝试用/helloworld打开URL时。它将打开页面hello.jsp。
https://stackoverflow.com/questions/6401588
复制相似问题