javax.servlet.ServletContext.getMimeType()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(12.1k)|赞(0)|评价(0)|浏览(165)

本文整理了Java中javax.servlet.ServletContext.getMimeType()方法的一些代码示例,展示了ServletContext.getMimeType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ServletContext.getMimeType()方法的具体详情如下:
包路径:javax.servlet.ServletContext
类名称:ServletContext
方法名:getMimeType

ServletContext.getMimeType介绍

[英]Returns the MIME type of the specified file, or null if the MIME type is not known. The MIME type is determined by the configuration of the servlet container, and may be specified in a web application deployment descriptor. Common MIME types are "text/html" and "image/gif".
[中]返回指定文件的MIME类型,如果MIME类型未知,则返回null。MIME类型由servlet容器的配置决定,可以在web应用程序部署描述符中指定。常见的MIME类型有"text/html""image/gif"

代码示例

代码示例来源:origin: igniterealtime/Openfire

@Override
public String getMimeType( String s )
{
  return proxy.getMimeType( s );
}

代码示例来源:origin: apache/hbase

/**
  * Infer the mime type for the response based on the extension of the request
  * URI. Returns null if unknown.
  */
 private String inferMimeType(ServletRequest request) {
  String path = ((HttpServletRequest)request).getRequestURI();
  ServletContext context = config.getServletContext();
  return context.getMimeType(path);
 }
}

代码示例来源:origin: gocd/gocd

private String getMimeType(String filename, boolean needToZip) {
  if (needToZip) {
    return "application/zip";
  }
  String mimeType = this.getServletContext().getMimeType(filename);
  if (StringUtils.isEmpty(mimeType)) {
    mimeType = "application/octet-stream";
  }
  return mimeType;
}

代码示例来源:origin: stagemonitor/stagemonitor

private String getMimeType(String path) {
    String mimeType = getServletContext().getMimeType(path);
    if (mimeType == null) {
      mimeType = "application/octet-stream";
    }
    return mimeType;
  }
}

代码示例来源:origin: javamelody/javamelody

public static void addHeadersForResource(HttpServletResponse httpResponse, String resource) {
  httpResponse.addHeader("Cache-Control", "max-age=3600"); // cache navigateur 1h
  // un contentType est nécessaire sinon la css n'est pas prise en compte
  // sous firefox sur un serveur distant
  if (resource.endsWith(".css")) {
    httpResponse.setContentType("text/css");
  } else {
    final String mimeType = Parameters.getServletContext().getMimeType(resource);
    // mimeType peut être null, cf issue 69
    if (mimeType != null) {
      httpResponse.setContentType(mimeType);
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Resolve file extension via {@link ServletContext#getMimeType(String)}
 * and also delegate to base class for a potential
 * {@link org.springframework.http.MediaTypeFactory} lookup.
 */
@Override
@Nullable
protected MediaType handleNoMatch(NativeWebRequest webRequest, String extension)
    throws HttpMediaTypeNotAcceptableException {
  MediaType mediaType = null;
  String mimeType = this.servletContext.getMimeType("file." + extension);
  if (StringUtils.hasText(mimeType)) {
    mediaType = MediaType.parseMediaType(mimeType);
  }
  if (mediaType == null || MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) {
    MediaType superMediaType = super.handleNoMatch(webRequest, extension);
    if (superMediaType != null) {
      mediaType = superMediaType;
    }
  }
  return mediaType;
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Extends the base class
 * {@link PathExtensionContentNegotiationStrategy#getMediaTypeForResource}
 * with the ability to also look up through the ServletContext.
 * @param resource the resource to look up
 * @return the MediaType for the extension, or {@code null} if none found
 * @since 4.3
 */
@Override
public MediaType getMediaTypeForResource(Resource resource) {
  MediaType mediaType = null;
  String mimeType = this.servletContext.getMimeType(resource.getFilename());
  if (StringUtils.hasText(mimeType)) {
    mediaType = MediaType.parseMediaType(mimeType);
  }
  if (mediaType == null || MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) {
    MediaType superMediaType = super.getMediaTypeForResource(resource);
    if (superMediaType != null) {
      mediaType = superMediaType;
    }
  }
  return mediaType;
}

代码示例来源:origin: stackoverflow.com

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {

   ServletContext cntx= req.getServletContext();
   // Get the absolute path of the image
   String filename = cntx.getRealPath("Images/button.png");
   // retrieve mimeType dynamically
   String mime = cntx.getMimeType(filename);
   if (mime == null) {
    resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    return;
   }

   resp.setContentType(mime);
   File file = new File(filename);
   resp.setContentLength((int)file.length());

   FileInputStream in = new FileInputStream(file);
   OutputStream out = resp.getOutputStream();

   // Copy the contents of the file to the output stream
    byte[] buf = new byte[1024];
    int count = 0;
    while ((count = in.read(buf)) >= 0) {
     out.write(buf, 0, count);
   }
  out.close();
  in.close();

}

代码示例来源:origin: org.springframework/spring-web

/**
 * Resolve file extension via {@link ServletContext#getMimeType(String)}
 * and also delegate to base class for a potential
 * {@link org.springframework.http.MediaTypeFactory} lookup.
 */
@Override
@Nullable
protected MediaType handleNoMatch(NativeWebRequest webRequest, String extension)
    throws HttpMediaTypeNotAcceptableException {
  MediaType mediaType = null;
  String mimeType = this.servletContext.getMimeType("file." + extension);
  if (StringUtils.hasText(mimeType)) {
    mediaType = MediaType.parseMediaType(mimeType);
  }
  if (mediaType == null || MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) {
    MediaType superMediaType = super.handleNoMatch(webRequest, extension);
    if (superMediaType != null) {
      mediaType = superMediaType;
    }
  }
  return mediaType;
}

代码示例来源:origin: org.springframework/spring-web

/**
 * Extends the base class
 * {@link PathExtensionContentNegotiationStrategy#getMediaTypeForResource}
 * with the ability to also look up through the ServletContext.
 * @param resource the resource to look up
 * @return the MediaType for the extension, or {@code null} if none found
 * @since 4.3
 */
@Override
public MediaType getMediaTypeForResource(Resource resource) {
  MediaType mediaType = null;
  String mimeType = this.servletContext.getMimeType(resource.getFilename());
  if (StringUtils.hasText(mimeType)) {
    mediaType = MediaType.parseMediaType(mimeType);
  }
  if (mediaType == null || MediaType.APPLICATION_OCTET_STREAM.equals(mediaType)) {
    MediaType superMediaType = super.getMediaTypeForResource(resource);
    if (superMediaType != null) {
      mediaType = superMediaType;
    }
  }
  return mediaType;
}

代码示例来源:origin: dropwizard/dropwizard

resp.setHeader(ETAG, cachedAsset.getETag());
final String mediaType = Optional.ofNullable(req.getServletContext().getMimeType(req.getRequestURI()))
  .orElse(DEFAULT_MEDIA_TYPE);
if (mediaType.startsWith("video") || mediaType.startsWith("audio") || usingRanges) {

代码示例来源:origin: igniterealtime/Openfire

String contentType = getServletContext().getMimeType(pathInfo);
if (contentType == null) {
  contentType = "text/plain";

代码示例来源:origin: jfinal/jfinal

public void render() {
  if (file == null || !file.isFile()) {
    RenderManager.me().getRenderFactory().getErrorRender(404).setContext(request, response).render();
    return ;
  }
  
  // ---------
  response.setHeader("Accept-Ranges", "bytes");
  String fn = downloadFileName == null ? file.getName() : downloadFileName;
  response.setHeader("Content-disposition", "attachment; " + encodeFileName(request, fn));
  String contentType = servletContext.getMimeType(file.getName());
  response.setContentType(contentType != null ? contentType : DEFAULT_CONTENT_TYPE);
  
  // ---------
  if (StrKit.isBlank(request.getHeader("Range"))) {
    normalRender();
  } else {
    rangeRender();
  }
}

代码示例来源:origin: geoserver/geoserver

String mime = getServletContext().getMimeType(new File(url.getFile()).getName());
if (mime != null) {
  response.setContentType(mime);

代码示例来源:origin: i2p/i2p.i2p

/** Get the MIME type by filename extension.
 * @param filename A file name
 * @return MIME type matching the longest dot extension of the
 * file name.
 */
protected String getMimeType(String filename) {
  String rv = _mimeTypes.getMimeByExtension(filename);
  if (rv != null)
    return rv;
  return getServletContext().getMimeType(filename);
}

代码示例来源:origin: openmrs/openmrs-core

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  log.debug("In service method for module servlet: " + request.getPathInfo());
  
  File f = getFile(request);
  if (f == null) {
    response.setStatus(HttpServletResponse.SC_NOT_FOUND);
    return;
  }
  
  response.setDateHeader("Last-Modified", f.lastModified());
  response.setContentLength(Long.valueOf(f.length()).intValue());
  String mimeType = getServletContext().getMimeType(f.getName());
  response.setContentType(mimeType);
  
  FileInputStream is = new FileInputStream(f);
  try {
    OpenmrsUtil.copyFile(is, response.getOutputStream());
  }
  finally {
    OpenmrsUtil.closeStream(is);
  }
}

代码示例来源:origin: com.vaadin/vaadin-server

@Override
public String getMimeType(String resourceName) {
  return getServlet().getServletContext().getMimeType(resourceName);
}

代码示例来源:origin: haraldk/TwelveMonkeys

@Before
public void init() throws Exception {
  request = mock(HttpServletRequest.class);
  when(request.getContextPath()).thenReturn("/ape");
  when(request.getRequestURI()).thenReturn("/ape/" + IMAGE_NAME_PNG);
  context = mock(ServletContext.class);
  when(context.getResource("/" + IMAGE_NAME_PNG)).thenReturn(getClass().getResource(IMAGE_NAME_PNG));
  when(context.getResource("/" + IMAGE_NAME_GIF)).thenReturn(getClass().getResource(IMAGE_NAME_GIF));
  when(context.getResource("/" + IMAGE_NAME_PNG_INDEXED)).thenReturn(getClass().getResource(IMAGE_NAME_PNG_INDEXED));
  when(context.getMimeType("file.bmp")).thenReturn(CONTENT_TYPE_BMP);
  when(context.getMimeType("file.foo")).thenReturn(CONTENT_TYPE_FOO);
  when(context.getMimeType("file.gif")).thenReturn(CONTENT_TYPE_GIF);
  when(context.getMimeType("file.jpeg")).thenReturn(CONTENT_TYPE_JPEG);
  when(context.getMimeType("file.png")).thenReturn(CONTENT_TYPE_PNG);
  when(context.getMimeType("file.txt")).thenReturn(CONTENT_TYPE_TEXT);
  MockLogger mockLogger = new MockLogger();
  doAnswer(mockLogger).when(context).log(anyString());
  doAnswer(mockLogger).when(context).log(anyString(), any(Throwable.class));
  //noinspection deprecation
  doAnswer(mockLogger).when(context).log(any(Exception.class), anyString());
}

代码示例来源:origin: haraldk/TwelveMonkeys

@Test
public void testNotFound() throws ServletException, IOException {
  StaticContentServlet servlet = new StaticContentServlet();
  ServletContext context = mock(ServletContext.class);
  when(context.getServletContextName()).thenReturn("foo");
  when(context.getMimeType(anyString())).thenReturn("image/jpeg");
  ServletConfig config = mock(ServletConfig.class);
  when(config.getInitParameterNames()).thenReturn(Collections.enumeration(Arrays.asList("root")));
  when(config.getInitParameter("root")).thenReturn(getFileSystemRoot());
  when(config.getServletContext()).thenReturn(context);
  servlet.init(config);
  HttpServletRequest request = mock(HttpServletRequest.class);
  when(request.getMethod()).thenReturn("GET");
  when(request.getPathInfo()).thenReturn("/missing.jpg");
  when(request.getRequestURI()).thenReturn("/foo/missing.jpg");
  when(request.getContextPath()).thenReturn("/foo");
  HttpServletResponse response = mock(HttpServletResponse.class);
  servlet.service(request, response);
  verify(response).sendError(HttpServletResponse.SC_NOT_FOUND, "/foo/missing.jpg");
}

代码示例来源:origin: haraldk/TwelveMonkeys

@Test
public void testDirectoryListingForbidden() throws ServletException, IOException {
  StaticContentServlet servlet = new StaticContentServlet();
  ServletContext context = mock(ServletContext.class);
  when(context.getServletContextName()).thenReturn("foo");
  when(context.getMimeType(anyString())).thenReturn("image/png");
  ServletConfig config = mock(ServletConfig.class);
  when(config.getInitParameterNames()).thenReturn(Collections.enumeration(Arrays.asList("root")));
  when(config.getInitParameter("root")).thenReturn(getFileSystemRoot());
  when(config.getServletContext()).thenReturn(context);
  servlet.init(config);
  HttpServletRequest request = mock(HttpServletRequest.class);
  when(request.getMethod()).thenReturn("GET");
  when(request.getPathInfo()).thenReturn("/");       // Attempt directory listing
  when(request.getRequestURI()).thenReturn("/foo/"); // Attempt directory listing
  when(request.getContextPath()).thenReturn("/foo");
  ServletOutputStream stream = mock(ServletOutputStream.class);
  HttpServletResponse response = mock(HttpServletResponse.class);
  when(response.getOutputStream()).thenReturn(stream);
  servlet.service(request, response);
  verify(response).sendError(HttpServletResponse.SC_FORBIDDEN, "/foo/");
}

相关文章

微信公众号

最新文章

更多

ServletContext类方法