2017-10-09 32 views
0

我很想知道的是返回圖像的最佳方式(* .jpg或* .gif注意)到客戶端瀏覽器:從新澤西州的REST服務返回的圖像瀏覽器與使用的servlet

  • 的我想到的第一個想法是使用良好的舊servlet。
  • 或者我也可以使用JAX-RS(Jersy)休息服務。

我需要爲不同大小的圖像的一些方法,如

  • 縮略圖大小
  • 小尺寸
  • 正常大小
  • 原始大小
  • 自定義尺寸

如果我使用servlet,那麼我可以爲每個圖像大小創建一個servlet,併爲定製大小創建一個servlet,以便將所需的W和H值作爲URL參數發送到servlet。

如果我使用REST,我可以使用方法創建一個類,對於自定義大小我可以使用Path參數。

但是性能呢? 哪種解決方案更好,爲什麼?

+0

你可以繼續休息。性能和其他來源的使用也不錯。 –

回答

0

我認爲這兩種解決方案在性能方面都是等價的。但是,恕我直言,JAX-RS與Servlet不同,因爲它是聲明性的,而後者是程序性的。

我只會用一個端點@QueryParam而不是@PathParam。圖像的大小更像是一個屬性,而不像一個子資源,因爲我認爲你在你的問題中說過。

有了這個解決方案(我已經實現了一次),你只有一個方法使註解非常容易閱讀。例如:

@Path("images") 
public interface ImageResource { 
    enum Size { 
     thumbnail, small, normal, original, custom 
    } 

    @GET 
    @Path("/{id}") 
    @Produces("image/jpeg") 
    byte[] getImage(@PathParam("id") long id, @QueryParam("size") @DefaultValue("thumbnail") Size size, @QueryParam("width") Integer width, @QueryParam("height") Integer height); 
} 

然後如果size == Size.custom檢查寬度和高度都不爲空。

相關問題