【发布时间】:2012-03-28 20:07:14
【问题描述】:
我有以下设置。 itext 文件夹位于 webapps 的顶层:
├───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
在 web-inf 文件夹中,我有一个 web.xml 文件,我在其中进行 servlet 映射:
<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 提供某些东西时,这里是我的 action 属性,格式如下:
<form method="POST" action="/itext/fincc-itext">
================================================ ==========================================
现在,假设 itext 文件夹不在 webapps 的顶级文件夹中,而是在下面几个级别:
├───level1
│ └───level2
│ └───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
如何更新 servlet 映射和操作属性值以对应此目录结构?
【问题讨论】:
-
请注意,URL 中的上下文路径不一定是部署时主 webapp 文件夹的文件夹名称。它可以在服务器配置中配置。您应该始终喜欢通过
HttpServletRequest#getContextPath()或${pageContext.request.contextPath}动态指定它,而不是在 HTML/JSP 中硬编码它。另见stackoverflow.com/questions/4764405/…
标签: java web-applications servlets