我有以下設置。該文件夾iText的是在web應用的最高水平:web.xml中的web.xml中的項目不在頂層web.xml中的servlet-mapping屬性
├───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
在我有一個web.xml文件,在那裏我做servlet映射的WEB-INF文件夾:
<servlet>
<servlet-name>Itext Servlet</servlet-name>
<servlet-class>com.imparator.ist.ItextServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Itext Servlet</servlet-name>
<url-pattern>/fincc-itext</url-pattern>
</servlet-mapping>
現在,當我希望通過這個servlet在這裏享用的東西是一個形式我的行爲屬性:
<form method="POST" action="/itext/fincc-itext">
========================== ================================================== ============
現在,假設iText的文件夾不是在web應用的頂層文件夾,但幾個級別下面:
├───level1
│ └───level2
│ └───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
如何更新servlet映射和action屬性值對應於這個目錄結構?
注意,在URL中的上下文路徑是不一定的文件夾名稱它已部署的主webapp文件夾。它可以在服務器配置中進行配置。你應該總是喜歡用'HttpServletRequest#getContextPath()'或'$ {pageContext.request.contextPath}'動態指定它,而不是在HTML/JSP中對其進行硬編碼。另見http://stackoverflow.com/questions/4764405/how-to-use-relative-paths-without-including-the-context-root-name – BalusC 2012-03-28 20:29:30