java - Servlet JSP web.xml

标签 java jsp servlets web.xml

我在 NetBeans 中看到一个为 Servlet 选择 JSP 的功能,web.xml 中的结果 XML 如下所示:

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

这是什么意思?它是做什么用的? 它是否类似于 ASP .NET 中的代码隐藏架构?

最佳答案

What does it mean? and What is it for?

它用于将 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 规范还规定:

The jsp-file element contains the full path to a JSP file within the web application beginning with a “/”. If a jsp-file is specified and the load-onstartup element is present, then the JSP should be precompiled and loaded.

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

Is it like code behind architecture in ASP .NET?

不,如果您正在寻找代码隐藏架构,那么最相似的是 JSF 提供的托管 Bean 支持。

关于java - Servlet JSP web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401588/

相关文章:

java - Servlet,长操作

java - 有没有办法让下面的代码更通用?

java - "unpackaged"测试类中带有自己的 .java 的 NoClassDefFoundError

Java - 从 Eclipse 到 Excel 从 SQL 查询

html - JSP 导入中的编码

jsp - 如何通过JSP页面调用servlet

java - 通过自行编写的应用程序访问自己的银行帐户

mysql - jsp插入数据库没有utf-8

java - 尝试通过 JSTL 表单标签提交表单时收到 bean 类的错误 "Invalid property ' xxx'

java - 如何在servlet中获取一个td的内容