我有以下设置。文件夹 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 提供某些服务时,这里是我的操作属性,其形式为:
<form method="POST" action="/itext/fincc-itext">
================================================== ===========================================
现在,假设 itext 文件夹不在 webapps 的顶级文件夹中,而是在下面的几个级别中:
├───level1
│ └───level2
│ └───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
如何更新 servlet 映射和操作属性值以对应于此目录结构?
最佳答案
除非上下文发生变化,否则这些不会改变。上下文是 itext,因为那是 WEB-INF 所在的位置。
关于java - web.xml 中项目的 servlet-mapping 属性不位于 webapps 的顶层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914863/