[英]Servlet JSP web.xml
我在NetBeans中看到一個用於為Servlet
選擇JSP
的功能,而web.xml
的結果XML是這樣的:
<servlet>
<servlet-name>TestServlet</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
這是什么意思? 它的用途是什么? 它是否像ASP .NET中的架構背后的代碼 ?
這是什么意思? 它的用途是什么?
它用於將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
並且存在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>
標記用於命名名稱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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.