簡體   English   中英

Servlet JSP web.xml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM