任何人都可以告訴我如何使用澤西2.0不使用maven製作一個寧靜的web服務。我到處搜索,發現了Jersey1.x版本的教程,但不是2.0版本。請幫助靜默web服務與球衣2.0沒有maven
回答
我找到了答案
package com.hellowebservice;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello Jersey" + "</title>"
+ "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
}
}
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
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_2_5.xsd">
<display-name>FirstRestWebService</display-name>
<servlet>
<display-name>Rest Servlet</display-name>
<servlet-name>RestServlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.hellowebservice.MyApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RestServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
MyApplication.java
package com.hellowebservice;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
packages("com.hellowebservice");
}
}
運行與本地主機:8080/FirstRestWebService/REST /你好
只是添加到以前的答案。如果您不使用Maven,只是使用Eclipse與Dynamic Web Project一起構建並部署到像Tomcat這樣的Web應用程序服務器。
只需下載Jersey JAX-RS 2.0 RI軟件包Jersey Downloads,解壓並將lib,api和ext文件夾中的所有jar添加到您的構建路徑。 (我嘗試沒有ext罐子,但在啓動服務器時沒有發現classnotfound)。
還將所有jar添加到動態Web項目的部署程序集中,以便在部署到Web應用程序服務器時將它們自動複製到WEB-INF/lib目錄中。在上面的答案中,與代碼& web.xml一起,您應該有一個使用Jersey 2並運行的RESTful api。
我們根據用戶回答user2629427提供詳細answere。我們檢查這在Windows 7
要求:(括號表示此示例測試版)
- Tomcat的(8拉鍊版本)
- 球衣(2.X)
解壓縮tomcat &在tomcat的'webapps'文件夾中創建一個以下文件夾結構(文件夾名稱區分大小寫)。
abc
|___ WEB-INF
|____ classes
|____ lib
把 'Hello.java' 和 'MyApplication.java' 到 '類' 文件夾和 'web.xml中' 到 'WEB-INF' 文件夾。
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID"
version="3.1">
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.king.MyApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Myapplication.java
package com.king;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
packages("com.king");
}
}
Hello.java
package com.king;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?><hello>Hello Jersey</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html><title>Hi Jersey</title><body><h1>Hello Jersey this is laksys</body></h1></html>";
}
}
解壓的球衣和API,分機和lib複製所有jar文件(不文件夾)到您的應用程序的'lib'文件夾中。
現在使用編譯兩個java文件下面的命令
D:\apache-tc-8\webapps\abc\WEB-INF\classes>javac -d . -cp ..\lib\javax.ws.rs-api-2.0.1.jar;..\lib\jersey-server.jar;..\l ib\jersey-common.jar *.java
下運行Tomcat服務器
D:\apache-tc-8\bin>startup
在瀏覽器地址欄中輸入:http://localhost:8080/abc/rest/hello
- 1. Java:部署沒有球衣的寧靜網頁服務
- 2. 使用Maven + Eclipse + Tomcat開發球衣restfull web服務。 404問題
- 3. 球衣REST Web服務多種格式
- 4. jQuery客戶端的REST web服務與球衣
- 5. @Autowired沒有與球衣和彈簧
- 6. Weblogic 12.1.2和球衣2.0
- 7. 與球衣
- 8. POST與球衣
- 9. 球衣 - 服務器與1.12碼頭 - Maven的插件不工作在一起
- 10. Jython 2.7.0與球衣
- 11. JAX_RS和球衣Web服務中的子容器失敗
- 12. 用球衣實現一個REST風格的Web服務
- 13. 如何讓圖像在球衣REST Web服務
- 14. 通過JQuery Ajax調用消耗xml Web服務球衣
- 15. 無法使用的球衣客戶端使用RESTful Web服務
- 16. 使用球衣保護休息Web服務
- 17. 建立快速的Web服務使用的球衣
- 18. 如何編譯並運行多模塊球衣web服務?
- 19. 如何保持在球衣Web服務類變量的值
- 20. org.springframework.beans.factory.BeanNotOfRequiredTypeException在創建球衣服務時
- 21. 服務器獲取json的球衣,JAVA
- 22. 球衣服務器的監控
- 23. 使用球衣的REST風格的Web服務的服務器推送
- 24. REST風格的應用程序中球衣服務器,球衣客戶端,球衣灰熊的用途
- 25. 球衣Web服務方法無法識別爲有效的資源方法
- 26. 球衣:JSONJAXBContext(球衣1)替換球衣2?
- 27. 球衣2 +彈簧4 + jetty-maven-plugin
- 28. 有與MOXY JAXB實現@xmlheader註解沒有球衣支持
- 29. 單元測試球衣REST調用與球衣測試框架
- 30. XMl與@rootelement形成球衣
什麼構建工具你想使用? – 2013-07-29 12:05:00
我只使用eclipse – user2629427
Eclipse是一個IDE,而不是一個構建工具。如果你不想使用Maven,你可能使用Ant或者Gradle,......你使用了哪些? Eclipse *使用哪些? – 2013-07-29 12:13:27