今天在学习新项目时,遇到了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中看图片已经发送成功。这部分知识只是将本地图片发布到另一台服务器。再实际开发中,还要将服务器中的图片异步返回来。