Сервлет работает в производстве, но не на живом сервере - PullRequest
0 голосов
/ 26 апреля 2020

Я создал сервлет, который обслуживает изображения с сервера. Изображение подается в производство, но когда сервлет вызывается на работающем сервере, я получаю ошибку 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

Если вам нужно что-то еще, пожалуйста, дайте мне знать. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...