画像をDBから取得して表示する

これとか

http://stackoverflow.com/questions/5690228/spring-mvc-how-to-return-image-in-responsebody


コントローラはこんな感じです。
imageServiceはEntityを取り出す感じ。
ImageEntity

@Entity(name="image")
public class ImageEntity implements Image {

@Id
@GeneratedValue
private Long id;

@Column(name="imgData")
private byte[] imgData;

}
getter/setterのため以下省略

コントローラのメソッド部分

@RequestMapping("/photo/{photoId}")
public ResponseEntity> drawPhotoFromDBEntity(
@PathVariable("photoId") Long photoId) {
Image img = imageService.findById(photoId);

return new ResponseEntity>(img.getImgData(), HttpStatus.CREATED);
}


servlet xmlに以下を追加して、
さらにアクセスするURLを変更する。






image/jpeg
image/png




アクセスするURLは

http://localhost:8080/app-front/photo/1.jpg

これでいけるみたい。
しかもjpgじゃなくてpngとかでも大丈夫な様子。

※元画像はJPGです。