Jersey框架入门学习:Jersey图片服务器搭建总结

来源:互联网 发布:淘宝包邮软件 编辑:程序博客网 时间:2024/05/17 21:46

1.为什么要用Jersey框架实现应用服务器和图片服务器的分离?

现在很多的网站都会用到大量的图片,而图片是网页传输中占主要成分的数据量,也是影响网站性能的主要因素。因此很多网站都会将图片存储从网站中分离出来,另外构建一个或者多个服务器来存储图片,将图片存储到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显的得到了提高,图片服务器的概念也就产生了。而且在现在的这种高并发量的网站开发过程中,服务器的集群时不可缺少的优化技术,因此也就可能存在着一个服务器上传资源,另外一台服务器进行访问资源的情况,而这种情况就会导致资源访问失败,解决的办法就是搭建一个专门的服务器用于实现文件的读写。

2. 什么是Jersey框架?

Jersey框架原理其实就是WebService。

Jersey RESTfulWebService框架是一个开源的、产品级别的JAVA框架,支持JAX-RS API并且是一个JAX-RS(JSR 311和 JSR 339)的参考实现。

Jrsey不仅仅是一个JAX-RS的参考实现,Jersey提供自己的API,其API继承自JAX-RS,提供更多的特性和功能以进一步简化RESTful service和客户端的开发

 

3. 如何用Jersey框架实现分离?

以下是本人使用Jersey构建简单图片服务器的过程:

1).新建一个Java项目,例如名为:jersey;然后在项目下新建lib文件,准备所需jar包


2).准备一个新的Tomcat服务器作为图片服务器,可以重新拷贝一份,然后启动;因为本来就有一个Tomcat服务器,所以需要更改新建的图片服务器的con/server.xml配置文件中的端口号。

需要更改的地方:总共有三个端口号需要修改

8005------8050、8080------8088、8009-----8090,端口号的修改可以随意,只要和已经存在的服务器不一样就ok了。

3). 通过eclipse新建一个Dynamic Web Porject ,名为image-web,在其下面新建文件夹upload,用于存储需要上传的图片,然后将这个项目通过tomcat发布,在该Tomcat的发布路径 webapps下找到这个发布的项目,剪切到相应的图片服务器的webapps下面。

4).修改图片服务器支持文件读写,在web.xml 文件中修改

在web.xml中添加如下配置:红色字体为需要添加的配置,不要加错位置。

 

<servlet>

        <servlet-name>default</servlet-name>

        <servlet-class>org.apache.catalina.servlets.DefaultServlet

</servlet-class>

        <init-param>

            <param-name>debug</param-name>

            <param-value>0</param-value>

        </init-param>

                  

       <init-param>

                 <param-name>readonly</param-name>

                 <param-value>false</param-value>

        </init-param>

        <init-param>

            <param-name>listings</param-name>

            <param-value>false</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

 

5).测试类

package cn.itcast;

 

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 JerseyDemo {

    public static void main(String[] args) throws IOException {

       //实例化一个jersey

       Client client=new Client();

       //另一台服务器的请求路径

       String url="http://localhost:8088/image-web/upload/qqqqq.jpg";

      

       //设置请求路径

       WebResource resource=client.resource(url);

       //需要添加的图片

       String pathname="E:\\p1.jpg";

       byte[]readFileToByteArray = FileUtils.readFileToByteArray(new File(pathname));

       //发送开始 post  get  put

       resource.put(String.class,readFileToByteArray);

      

       System.out.println("发送完毕");

    }

}

 

         6.如果运行结果出现发送完毕,说明服务器配置成功。这只是简单的Jersey运用,限于水平有限,若有不对的地方,希望大家能够指出。

0 0