jersy服务,将图片发送另个服务器,再将异步返回

时间:2023-03-08 20:47:39

今天在学习新项目时,遇到了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

 package jersy;

 import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils; import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource; public class JersyDemo {
public static void main(String[] args) throws IOException {
//实例化一个jersy
Client client = new Client();
//另一台服务器的请求路径
String url = "http://localhost:8088/image-web/upload/qqq.jpg";
//设置请求路径
WebResource resource = client.resource(url);
//本地路径
String path = "C:\\1.jpg";
//读取图片到内存中
byte[] readFileToByteArray = FileUtils.readFileToByteArray(new File(path));
//开始发送,使用的是put,一般都用post,get这里使用了put
resource.put(String.class,readFileToByteArray);
System.out.println("发送完毕"); } }

  

这样测试成功,到另一个tomcat中看图片已经发送成功。这部分知识只是将本地图片发布到另一台服务器。再实际开发中,还要将服务器中的图片异步返回来。