当前位置: 首页 > 面试题库 >

从JAX-RS servlet动态创建映像

黄俊誉
2023-03-14
问题内容

是否可以创建一个PNG图像并将其作为JAX-RS资源的一部分直接输出到浏览器?

像这样:

@Path("img/{externalId}")
@Stateless
@Produces({"image/png"})
public class MyImgResource {

  @GET
  public Response (@PathParam("externalId") String externalId) {
    // create image, write to buffered output stream

    return Response.ok().entity(stream).build();
  }
}

这行得通吗?我是否必须注意正确的标题(Content-
Type),还是由@Produces注释完成?可以将图像输出为Response吗?我可以Response从流中构建一个吗?


问题答案:

看看http://jersey.java.net/nonav/documentation/latest/user-
guide.html#d4e323

 @GET
 @Path("/images/{image}")
 @Produces("image/*")
 public Response getImage(@PathParam("image") String image) {
     File f = new File(image);

     if (!f.exists()) {
         throw new WebApplicationException(404);
     }

     String mt = new MimetypesFileTypeMap().getContentType(f);
     return Response.ok(f, mt).build();
 }


 类似资料:
  • 问题内容: 你好,我有这个设置 我需要为每个按钮获取以下内容 在Java中是否可以为我声明的每个按钮动态创建此按钮?因为当我有5个按钮时,我不需要3x5 = 15行代码,而是只有几行具有动态创建的按钮。 问题答案: 编写一个小循环并将您的按钮存储在数组中:

  • 你好,我已经准备好了 我需要为每个按钮获得以下内容 在Java中,是否可以为我声明的每个按钮动态创建它?因为当我有5个按钮时,我不希望3x5=15行代码,而只希望有几行动态创建的按钮。

  • 问题内容: 我对使用关系数据库还很陌生,所以我更喜欢使用一个好的ORM来简化事情。我花时间评估了不同的Python ORM,我认为我需要SQLAlchemy。但是,我已经陷入了精神上的死胡同。 我需要创建一个新表,以与在应用程序的播放器表中创建的播放器的每个实例一起使用。我想我知道如何通过元数据更改表的名称然后调用create函数来创建表,但是我不知道如何将其映射到新的动态类。 有人可以给我一些提

  • 问题内容: 我正在开发Web应用程序。我们在项目中将Hibernate用作ORM。实际上,我们的应用程序根据用户选择动态创建一些表。用户可以选择表名,列名,然后可以从csv文件导入数据。所以我的问题是:如何用Hibernate和Java对象映射此动态创建的表? 问题答案: 它可以动态完成,但有些混乱: 在建立SessionFactory之前,您需要动态更改Hibernate的Configurati

  • 问题内容: 给定一个类名,我想动态创建一个Groovy类,向其添加属性和方法。我使用创建新类 对于我使用的方法 其中it.key是字符串(方法名),it.value是闭包。这很方便,因为我可以指定方法参数类型并进行类型检查。但是,如果不给它赋值,就无法指定动态创建的属性类型。我可以通过显式定义属性的getter和setter来解决此问题。这可行,但是metaClass.name = value或m

  • 问题内容: 我在mysql上创建数据库。首先创建主体表,每个表平均有30列。日志表的标准是引用表的pk加上每列*2。像这样: 参考表: 日志表: 现在,我想要创建一个过程,在该过程中,我将表名作为参数传递,并生成表日志查询并执行它。 做这个的最好方式是什么? 问题答案: 为了使一个字符串代表一个表(或数据库)名称,您将需要用变量连接查询字符串,并在存储过程中准备/执行一条语句。这是一个基本示例。