起因:最近在一個古老框架structs上開發新功能,由于之前沒接觸過,故此記錄
新增接口,
接口類:
@Path("/A")
@Produces({ MediaType.APPLICATION_JSON })
public interface Money {@POST@Path("/B")ResultVO getMoney(@Context HttpServletRequest request, @RequestParam("param") String param);
}實現類:
@Component("bigMoney")
public class BigMoneyimplements Money{
}
本以為到此就OK了,結果調用直接報404.
? ? ? ? 對于用慣了springbooot的來說,一下小懵,畢竟這些bean的管理都交給了容器,開發者只需要使用正確的注解就能正常使用了。
? ? ? ?經過查看報錯信息,查看資料,查案其它類的寫法,發現需要在structs中就需要自己手動去添加了
在配置xml對應的標簽中添加(簡寫)
<jaxrs:server id="A" address="/C"><jaxrs:serviceBeans><ref bean="bigMoney" />
? 這個標簽對應的解釋是這樣的:
這段代碼片段是一個使用 JAX-RS(Java API for RESTful Web Services)框架的示例。JAX-RS 是一種用于創建基于 RESTful 架構的 Web 服務的 Java API。
在這段代碼中,
<jaxrs:server>
元素定義了一個 JAX-RS 服務器,并指定了它的 ID 為 "A",地址為 "/C"。這意味著該服務器將監聽根路徑 "/C" 上的請求。
<jaxrs:serviceBeans>
元素用于注冊服務實現類,這些類將作為 JAX-RS 服務提供方的一部分。在這個例子中,它包含一個<ref>
子元素,用于引用名為 "bigMoney" 的服務實現類。通過將服務實現類 "bigMoney" 注冊到
<jaxrs:serviceBeans>
元素中,JAX-RS 服務器可以自動識別和調用相應的方法來處理來自客戶端的請求。需要注意的是,這段代碼只是 JAX-RS 服務器的配置部分,還需要其他代碼來創建具體的服務實現類、定義資源和方法等