我有以下设置。该文件夹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