Example usage for javax.servlet.http HttpServletResponse SC_NOT_FOUND

List of usage examples for javax.servlet.http HttpServletResponse SC_NOT_FOUND

Introduction

In this page you can find the example usage for javax.servlet.http HttpServletResponse SC_NOT_FOUND.

Prototype

int SC_NOT_FOUND

To view the source code for javax.servlet.http HttpServletResponse SC_NOT_FOUND.

Click Source Link

Document

Status code (404) indicating that the requested resource is not available.

Usage

From source file:net.java.dev.weblets.impl.servlets.WebletResponseImpl.java

public void setStatus(int statusCode) {
    switch (statusCode) {
    case WebletResponse.SC_ACCEPTED:
        setResponseStatus(HttpServletResponse.SC_ACCEPTED);
        break;//from   ww w.  j  a  va2  s  . c  o  m
    case WebletResponse.SC_NOT_FOUND:
        setResponseStatus(HttpServletResponse.SC_NOT_FOUND);
        break;
    case WebletResponse.SC_NOT_MODIFIED:
        setResponseStatus(HttpServletResponse.SC_NOT_MODIFIED);
        break;
    default:
        throw new IllegalArgumentException();
    }
}

From source file:com.thoughtworks.go.domain.ChecksumFileHandlerTest.java

@Test
public void shouldDeleteOldMd5ChecksumFileIfItWasNotFoundOnTheServer() throws IOException {
    StubGoPublisher goPublisher = new StubGoPublisher();
    file.createNewFile();//from   w w  w.j  a  v a 2s  . c  o m

    boolean isSuccessful = checksumFileHandler.handleResult(HttpServletResponse.SC_NOT_FOUND, goPublisher);
    assertThat(isSuccessful, is(true));
    assertThat(file.exists(), is(false));
}

From source file:org.wallride.web.controller.admin.category.CategorySelectController.java

@RequestMapping(value = "/{language}/categories/select/{id}", method = RequestMethod.GET)
public @ResponseBody DomainObjectSelect2Model select(@PathVariable String language, @PathVariable Long id,
        HttpServletResponse response) throws IOException {
    Category category = categoryService.getCategoryById(id, language);
    if (category == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return null;
    }/* www.ja  va 2  s.  c  o m*/

    DomainObjectSelect2Model model = new DomainObjectSelect2Model(category.getId(), category.getName());
    return model;
}

From source file:ru.mystamps.web.controller.CollectionController.java

@GetMapping(Url.INFO_COLLECTION_PAGE)
public String showInfoBySlug(@PathVariable("slug") String slug, Model model, Locale userLocale,
        HttpServletResponse response) throws IOException {

    if (slug == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return null;
    }//from ww  w  . jav a2  s  .  c  o  m

    CollectionInfoDto collection = collectionService.findBySlug(slug);
    if (collection == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return null;
    }

    String owner = collection.getOwnerName();
    model.addAttribute("ownerName", owner);

    Integer collectionId = collection.getId();
    String lang = LocaleUtils.getLanguageOrNull(userLocale);
    List<SeriesInfoDto> seriesOfCollection = seriesService.findByCollectionId(collectionId, lang);
    model.addAttribute("seriesOfCollection", seriesOfCollection);

    if (seriesOfCollection.iterator().hasNext()) {
        long categoryCounter = categoryService.countCategoriesOf(collectionId);
        long countryCounter = countryService.countCountriesOf(collectionId);
        long seriesCounter = seriesService.countSeriesOf(collectionId);
        long stampsCounter = seriesService.countStampsOf(collectionId);

        List<Object[]> categoriesStat = categoryService.getStatisticsOf(collectionId, lang);
        List<Object[]> countriesStat = getCountriesStatistics(collectionId, lang);

        model.addAttribute("categoryCounter", categoryCounter);
        model.addAttribute("countryCounter", countryCounter);
        model.addAttribute("seriesCounter", seriesCounter);
        model.addAttribute("stampsCounter", stampsCounter);

        model.addAttribute("statOfCollectionByCategories", categoriesStat);
        model.addAttribute("statOfCollectionByCountries", countriesStat);
    }

    return "collection/info";
}

From source file:ca.travelagency.webservice.SampleWebservice.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String username = request.getParameter(USERNAME);
    String password = request.getParameter(PASSWORD);
    if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
        response.setStatus(HttpServletResponse.SC_FORBIDDEN);
        return;//from   w  w  w.  ja  va  2  s.  c o  m
    }
    try {
        SystemUser systemUser = systemUserService.authorize(username, password);
        new JsonUtils().serialize(systemUser.getId(), response.getWriter());
    } catch (AuthenticationException e) {
        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
    }
}

From source file:net.dorokhov.pony.web.server.common.StreamingViewRenderer.java

@Override
protected void renderMergedOutputModel(Map objectMap, HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    InputStream dataStream = (InputStream) objectMap.get(DownloadConstants.INPUT_STREAM);

    if (dataStream == null) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;//from w  w  w.  j av  a 2s .  c  o  m
    }
    long length = (Long) objectMap.get(DownloadConstants.CONTENT_LENGTH);
    String fileName = (String) objectMap.get(DownloadConstants.FILENAME);
    Date lastModifiedObj = (Date) objectMap.get(DownloadConstants.LAST_MODIFIED);

    if (StringUtils.isEmpty(fileName) || lastModifiedObj == null) {
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        return;
    }
    long lastModified = lastModifiedObj.getTime();
    String contentType = (String) objectMap.get(DownloadConstants.CONTENT_TYPE);

    // Validate request headers for caching ---------------------------------------------------

    // If-None-Match header should contain "*" or ETag. If so, then return 304.
    String ifNoneMatch = request.getHeader("If-None-Match");
    if (ifNoneMatch != null && matches(ifNoneMatch, fileName)) {
        response.setHeader("ETag", fileName); // Required in 304.
        response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
        return;
    }

    // If-Modified-Since header should be greater than LastModified. If so, then return 304.
    // This header is ignored if any If-None-Match header is specified.
    long ifModifiedSince = request.getDateHeader("If-Modified-Since");
    if (ifNoneMatch == null && ifModifiedSince != -1 && ifModifiedSince + 1000 > lastModified) {
        response.setHeader("ETag", fileName); // Required in 304.
        response.sendError(HttpServletResponse.SC_NOT_MODIFIED);
        return;
    }

    // Validate request headers for resume ----------------------------------------------------

    // If-Match header should contain "*" or ETag. If not, then return 412.
    String ifMatch = request.getHeader("If-Match");
    if (ifMatch != null && !matches(ifMatch, fileName)) {
        response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        return;
    }

    // If-Unmodified-Since header should be greater than LastModified. If not, then return 412.
    long ifUnmodifiedSince = request.getDateHeader("If-Unmodified-Since");
    if (ifUnmodifiedSince != -1 && ifUnmodifiedSince + 1000 <= lastModified) {
        response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        return;
    }

    // Validate and process range -------------------------------------------------------------

    // Prepare some variables. The full Range represents the complete file.
    Range full = new Range(0, length - 1, length);
    List<Range> ranges = new ArrayList<>();

    // Validate and process Range and If-Range headers.
    String range = request.getHeader("Range");
    if (range != null) {

        // Range header should match format "bytes=n-n,n-n,n-n...". If not, then return 416.
        if (!range.matches("^bytes=\\d*-\\d*(,\\d*-\\d*)*$")) {
            response.setHeader("Content-Range", "bytes */" + length); // Required in 416.
            response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE);
            return;
        }

        String ifRange = request.getHeader("If-Range");
        if (ifRange != null && !ifRange.equals(fileName)) {
            try {
                long ifRangeTime = request.getDateHeader("If-Range"); // Throws IAE if invalid.
                if (ifRangeTime != -1) {
                    ranges.add(full);
                }
            } catch (IllegalArgumentException ignore) {
                ranges.add(full);
            }
        }

        // If any valid If-Range header, then process each part of byte range.
        if (ranges.isEmpty()) {
            for (String part : range.substring(6).split(",")) {
                // Assuming a file with length of 100, the following examples returns bytes at:
                // 50-80 (50 to 80), 40- (40 to length=100), -20 (length-20=80 to length=100).
                long start = sublong(part, 0, part.indexOf("-"));
                long end = sublong(part, part.indexOf("-") + 1, part.length());

                if (start == -1) {
                    start = length - end;
                    end = length - 1;
                } else if (end == -1 || end > length - 1) {
                    end = length - 1;
                }

                // Check if Range is syntactically valid. If not, then return 416.
                if (start > end) {
                    response.setHeader("Content-Range", "bytes */" + length); // Required in 416.
                    response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE);
                    return;
                }

                // Add range.
                ranges.add(new Range(start, end, length));
            }
        }
    }

    // Prepare and initialize response --------------------------------------------------------

    // Get content type by file name and set content disposition.
    String disposition = "inline";

    // If content type is unknown, then set the default value.
    // For all content types, see: http://www.w3schools.com/media/media_mimeref.asp
    // To add new content types, add new mime-mapping entry in web.xml.
    if (contentType == null) {
        contentType = "application/octet-stream";
    } else if (!contentType.startsWith("image")) {
        // Else, expect for images, determine content disposition. If content type is supported by
        // the browser, then set to inline, else attachment which will pop a 'save as' dialogue.
        String accept = request.getHeader("Accept");
        disposition = accept != null && accepts(accept, contentType) ? "inline" : "attachment";
    }

    // Initialize response.
    response.reset();
    response.setBufferSize(DEFAULT_BUFFER_SIZE);
    response.setHeader("Content-Disposition", disposition + ";filename=\"" + fileName + "\"");
    response.setHeader("Accept-Ranges", "bytes");
    response.setHeader("ETag", fileName);
    response.setDateHeader("Last-Modified", lastModified);
    response.setDateHeader("Expires", System.currentTimeMillis() + DEFAULT_EXPIRE_TIME);

    // Send requested file (part(s)) to client ------------------------------------------------

    // Prepare streams.
    InputStream input = null;
    OutputStream output = null;

    try {
        // Open streams.
        input = new BufferedInputStream(dataStream);
        output = response.getOutputStream();

        if (ranges.isEmpty() || ranges.get(0) == full) {

            // Return full file.
            response.setContentType(contentType);
            response.setHeader("Content-Range", "bytes " + full.start + "-" + full.end + "/" + full.total);
            response.setHeader("Content-Length", String.valueOf(full.length));
            copy(input, output, length, full.start, full.length);

        } else if (ranges.size() == 1) {

            // Return single part of file.
            Range r = ranges.get(0);
            response.setContentType(contentType);
            response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total);
            response.setHeader("Content-Length", String.valueOf(r.length));
            response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206.

            // Copy single part range.
            copy(input, output, length, r.start, r.length);

        } else {

            // Return multiple parts of file.
            response.setContentType("multipart/byteranges; boundary=" + MULTIPART_BOUNDARY);
            response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206.

            // Cast back to ServletOutputStream to get the easy println methods.
            ServletOutputStream sos = (ServletOutputStream) output;

            // Copy multi part range.
            for (Range r : ranges) {
                // Add multipart boundary and header fields for every range.
                sos.println();
                sos.println("--" + MULTIPART_BOUNDARY);
                sos.println("Content-Type: " + contentType);
                sos.println("Content-Range: bytes " + r.start + "-" + r.end + "/" + r.total);

                // Copy single part range of multi part range.
                copy(input, output, length, r.start, r.length);
            }

            // End with multipart boundary.
            sos.println();
            sos.println("--" + MULTIPART_BOUNDARY + "--");
        }
    } finally {
        // Gently close streams.
        close(output);
        close(input);
        close(dataStream);
    }

}

From source file:com.tapas.evidence.fe.controller.CaptchaController.java

@RequestMapping("/captcha.jpg")
public void showForm(HttpServletRequest request, HttpServletResponse response) throws Exception {
    byte[] captchaChallengeAsJpeg = null;
    // the output stream to render the captcha image as jpeg into
    ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
    try {//from w w  w  .  j  av  a2 s  .c  o  m
        // get the session id that will identify the generated captcha.
        // the same id must be used to validate the response, the session id is a good candidate!

        String captchaId = request.getSession().getId();
        BufferedImage challenge = captchaService.getImageChallengeForID(captchaId, request.getLocale());

        ImageIO.write(challenge, CAPTCHA_IMAGE_FORMAT, jpegOutputStream);
    } catch (IllegalArgumentException e) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;
    } catch (CaptchaServiceException e) {
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        return;
    }

    captchaChallengeAsJpeg = jpegOutputStream.toByteArray();

    // flush it in the response
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/" + CAPTCHA_IMAGE_FORMAT);

    ServletOutputStream responseOutputStream = response.getOutputStream();
    responseOutputStream.write(captchaChallengeAsJpeg);
    responseOutputStream.flush();
    responseOutputStream.close();
}

From source file:org.tangram.components.spring.DefaultController.java

@RequestMapping(value = "/id_{id}/view_{view}")
public ModelAndView render(@PathVariable("id") String id, @PathVariable("view") String view,
        HttpServletRequest request, HttpServletResponse response) {
    try {//from w  w  w . ja v a 2s.  c o  m
        Utils.setPrimaryBrowserLanguageForJstl(request);
        LOG.debug("render() id={} view={}", id, view);
        Content content = beanFactory.getBean(id);
        LOG.debug("render() content={}", content);
        if (content == null) {
            response.sendError(HttpServletResponse.SC_NOT_FOUND,
                    "no content with id " + id + " in repository.");
            return null;
        } // if
        Map<String, Object> model = createModel(new TargetDescriptor(content, view, null), request, response);
        ViewContext viewContext = viewContextFactory.createViewContext(model, view);
        return SpringViewUtilities.createModelAndView(viewContext);
    } catch (Exception e) {
        ViewContext viewContext = viewContextFactory.createViewContext(e, request, response);
        return SpringViewUtilities.createModelAndView(viewContext);
    } // try/catch
}

From source file:info.magnolia.cms.servlets.Spool.java

/**
 * All static resource requests are handled here.
 *
 * @param request  HttpServletRequest/*from www .  j  av  a2  s  .c o  m*/
 * @param response HttpServletResponse
 * @throws IOException for error in accessing the resource or the servlet output stream
 */
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    File resource = new File(getServletContext().getRealPath(Path.getURI(request)));
    if (!resource.exists() || resource.isDirectory()) {
        response.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;
    }
    this.setResponseHeaders(resource, response);
    boolean success = this.spool(resource, response);
    if (!success && !response.isCommitted()) {
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    }
}

From source file:controller.IndicadoresMontoRestController.java

/**
 *
 * @param idi/*  w w  w  . j a va2  s  . c  om*/
 * @param idm
 * @param request
 * @param response
 * @return JSON
 * Este metodo se encarga de generar la lista de entidades 
 */

@RequestMapping(value = "/{idi}/municipios/{idm}", method = RequestMethod.GET, produces = "application/json")
public String getJSON(@PathVariable("idi") String idi, @PathVariable("idm") int idm, HttpServletRequest request,
        HttpServletResponse response) {

    Gson JSON;
    List<DatosRegistrosIdMunicipio> listaFinal;
    List<Registros> listaRegistros;
    RegistrosDAO tablaRegistros;
    tablaRegistros = new RegistrosDAO();
    /*
    *obtenemos la lista Registros
    */
    try {
        listaRegistros = tablaRegistros.selectAllResgistrosByIdIndicadorAndMunicipio(idi, idm);
        if (listaRegistros.isEmpty()) {
            response.setStatus(HttpServletResponse.SC_NOT_FOUND);
            Error e = new Error();
            e.setTypeAndDescription("Warning",
                    "No existen registros del indicador:" + idi + " asociados al municipio con id:" + idm);
            JSON = new Gson();
            return JSON.toJson(e);
        }
    } catch (HibernateException ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        Error e = new Error();
        e.setTypeAndDescription("errorServer", ex.getMessage());
        JSON = new Gson();
        return JSON.toJson(e);
    }
    listaFinal = new ArrayList<>();
    for (Registros r : listaRegistros) {
        listaFinal.add(new DatosRegistrosIdMunicipio(r.getIdRegistros(), r.getAnio(), r.getCantidad()));
    }

    Datos<DatosRegistrosIdMunicipio> datos = new Datos<>();
    datos.setDatos(listaFinal);
    JSON = new Gson();
    response.setStatus(HttpServletResponse.SC_OK);
    return JSON.toJson(datos);
}