Я создал сервлет, который обслуживает изображения с сервера. Изображение подается в производство, но когда сервлет вызывается на работающем сервере, я получаю ошибку 404. Код сервлета:
@WebServlet( urlPatterns = {"/getImage"})
public class GetImage extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
ServletContext sc = getServletContext();
String test = request.getParameter("name");
try (InputStream is = sc.getResourceAsStream("/images/mainImg/" + test)) {
// it is the responsibility of the container to close output stream
OutputStream os = response.getOutputStream();
if (is == null) {
response.setContentType("text/plain");
os.write("Failed to send image".getBytes());
} else {
byte[] buffer = new byte[1024];
int bytesRead;
response.setContentType("image/png");
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
}
}
}
}
Папка с изображениями находится внутри веб-приложения
├── src
├──main
├── java
├── resources
└── webapp
└── images
└── mainImg
└── 1.jpg
Если вам нужно что-то еще, пожалуйста, дайте мне знать. Спасибо!