2 回答
TA贡献1848条经验 获得超10个赞
有两种定义 JAX-RS servlet 的方法。
1)像你拥有的应用程序子类,你可以跳过 web.xml 配置,只添加应用程序注释
@ApplicationPath("resources")
public class StammSolvaraJahrRestApplication extends Application
2) 使用 web.xml 配置
<servlet>
<display-name>JAX-RS Servlet</display-name>
<servlet-name>package.hierarchy.StammSolvaraJahrRestApplication</servlet-name>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>package.hierarchy.StammSolvaraJahrRestApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JaxRSServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果您从最后一个跳过 servlet 映射,它将使用您@ApplicationPath指定的值,或者"/resources"如果前一个丢失。
TA贡献1785条经验 获得超8个赞
问题就是它所说的。web.xml 中的这一行需要javax.servlet.Servlet
:
<servlet-class>backend.backendservice.StammSolvaraJahrRestApplication</servlet-class>
由于 anApplication
不是javax.servlet.Servlet
,因此在处理 XML 文件时会在运行时出现错误。
如果可以,我建议您从 Spring Boot 启动应用程序开始。Spring Boot 为您处理所有这些。它甚至可以将 Tomcat 服务器嵌入到 jar 文件中,这样您就可以像运行简单的 Java 应用程序一样运行您的服务器。这样做可以让您不必担心在这里要处理什么。
添加回答
举报