我有以下设置。文件夹 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映射和action属性值以对应于此目录结构?
答案 0 :(得分:1)
除非情境发生变化,否则不会改变。上下文是itext,因为那是WEB-INF的所在。
答案 1 :(得分:1)
网络应用的设置必须是:
webapp
-somefolders (you can put text, js, css, image files here)
- WEB-INF
- classes
- lib (contains jars)
- web.xml
- xml or configuration files
- META-INF (if needed)
这是标准,你必须遵循。如果要更改servlet路径,请在web.xml中更改它。在你的情况下:
+---itext (web app name)
¦ +---somefolders (you can put text, js, css, image files here)
¦ ¦
¦ +---META-INF (if needed)
¦ ¦
¦ +---WEB-INF
¦ +---classes
¦ ¦ +---com
¦ ¦ +---imparator
¦ ¦ +---ist
¦ +---lib
¦ ¦
¦ +---web.xml
¦ ¦
¦ +---xml or configuration files
你仍然需要保留你的app结构并修改web.xml中的servlet路径:
<servlet-mapping>
<servlet-name>Itext Servlet</servlet-name>
<url-pattern>/itext/fincc-itext</url-pattern>
</servlet-mapping>