即時通訊嘗試掀起一個小型jax-rs演示。演示jax-rs資源未綁定在jboss上的預期位置
我有這個資源類:
@Path("/cart")
public class ShoppingCartResource {
@EJB
private ShoppingCartService shoppingCartService;
@GET
public String getCart() {
ShoppingCart cart = shoppingCartService.getCart();
return "cart with "+cart.getProducts().size()+" items";
}
}
這個類是擠滿稱爲休息-1.0-SNAPSHOT.war A *的.war裏面,本身被稱爲耳-1.0-SNAPSHOT.ear的*的.ear內部的我置於的JBoss /部署目錄7.1.3
我的web.xml是空的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
和我的application.xml(在耳)由行家自動生成:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<display-name>ear</display-name>
<module>
<ejb>services-impl-1.0-SNAPSHOT.jar</ejb>
</module>
<module>
<web>
<web-uri>rest-1.0-SNAPSHOT.war</web-uri>
<context-root>/rest</context-root>
</web>
</module>
<library-directory>lib</library-directory>
</application>
當我啓動的JBoss公司從日誌拿起我的戰爭,因爲顯而易見的:
09:52:19,392 INFO [org.jboss.web] (MSC service thread 1-4) JBAS018210: Registering web context: /rest
09:52:19,401 INFO [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "ear-1.0-SNAPSHOT.ear"
,但我不能不管我什麼網址打這個資源。 我已經試過:
- 本地主機:8080/REST /車
- 本地主機:8080 /耳-1.0-SNAPSHOT/REST /車
和我不斷收到404 在哪裏資源約束,或者如果它沒有真正的約束,我做錯了什麼?
沒有實現無關的方式做到這一點?我真的不喜歡根據球衣或反彈的想法 – radai 2013-05-14 10:00:52
有沒有辦法,AFAIK。 – remigio 2013-05-14 10:05:21
經過一番挖掘,我發現了一個 - Application類中的@ApplicationPath +空web.xml – radai 2013-06-16 06:17:39