try {
String path = req.getPathInfo().substring(1);
TypedQuery<MediaItem> query = em.createQuery("SELECT mi FROM MediaItem mi WHERE mi.name = :NAME", MediaItem.class)
.setParameter("NAME", path);
MediaItem item = query.getSingleResult();
res.setContentType(item.getMimeType());
res.setHeader("Content-Length", Long.toString(item.getFileSize()));
final OutputStream out = res.getOutputStream();
out.write(item.getContents());
out.close();
} catch (Exception e) {
res.sendError(404);
}
}