jersy服務,將圖片發送另個伺服器,再將非同步返回,jersy非同步
今天在學習新項目時,遇到了jersy服務,完成,將圖片發送到另一台伺服器。下面介紹一下jersy服務的一個簡單例子。
1.建立一個jersy一個java項目,先匯入jersy服務相應的jar包
commons-io-1.3.2.jar
jersey-client-1.18.1.jar
jersey-core-1.18.1.jar
2.建立另一個tomcat伺服器,作為圖片伺服器,tomcat中設定tomcat/conf/web.xml 中<servlet>中設定
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param>
</servlet>
將本伺服器涉外可讀可寫。
3.將tomcat中servlet.xml中三個連接埠改為和本地的tomcat連接埠不一樣的三個連接埠。
4.建立一個javaweb項目,image-web項目,建立一個upload檔案,將imge-web檔案部署到另一個tomcat中
5.jersy中建立一個JersyDemo.java
1 package jersy; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import org.apache.commons.io.FileUtils; 7 8 import com.sun.jersey.api.client.Client; 9 import com.sun.jersey.api.client.WebResource;10 11 public class JersyDemo {12 public static void main(String[] args) throws IOException {13 //執行個體化一個jersy14 Client client = new Client();15 //另一台伺服器的請求路徑16 String url = "http://localhost:8088/image-web/upload/qqq.jpg";17 //佈建要求路徑18 WebResource resource = client.resource(url);19 //本地路徑20 String path = "C:\\1.jpg";21 //讀取圖片到記憶體中22 byte[] readFileToByteArray = FileUtils.readFileToByteArray(new File(path));23 //開始發送,使用的是put,一般都用post,get這裡使用了put24 resource.put(String.class,readFileToByteArray);25 System.out.println("發送完畢");26 27 }28 29 }
這樣測試成功,到另一個tomcat中看圖片已經發送成功。這部分知識只是將本地圖片發布到另一台伺服器。再實際開發中,還要將伺服器中的圖片非同步返回來。