不知道可不可以。当我创建一个 webapi 时,我必须在 web.xml 中声明相关的类/url
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet.htm</url-pattern>
<!-- WebApi -->
<url-pattern>/Timbrature2/*</url-pattern>
<url-pattern>/Timbrature2.json/*</url-pattern>
<url-pattern>/Timbrature2.xml/*</url-pattern>
<url-pattern>/Timbrature/*</url-pattern>
<url-pattern>/Timbrature.json/*</url-pattern>
<url-pattern>/Timbrature.xml/*</url-pattern>
<url-pattern>/TimbratureMobile/*</url-pattern>
<url-pattern>/TimbratureMobile.json/*</url-pattern>
<url-pattern>/TimbratureMobile.xml/*</url-pattern>
<url-pattern>/$metadata</url-pattern>
</servlet-mapping>
但是如果我的 webapp 从 jars 动态代码加载,我可以添加一个“新”类用作 REST 端点吗?
阅读 Apache 文档,尝试各种配置但没有任何效果
如果你想让一个 servlet 处理所有事情,你可以将它注册到广泛的 URL 模式,比如
<url-pattern>/api/*</url-pattern>
值得阅读 Servlet 规范,特别是第 12.2 节(在规范的 4.0 版本中),其中涵盖了“映射规范”。这描述了可能的
url-mapping
的种类。
另一种选择是在您的代码中使用
@WebServlet
注释(在上述文档的第 8.1.1 节中介绍)以在您的代码中建立映射。我更喜欢 web.xml
中的声明性映射,因为所有映射都位于同一位置,而不是分布在源可能并不总是可用的任意源文件中。