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

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

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

ServletContext.getResourceAsStream介绍

[英]Returns the resource located at the named path as an InputStream object.

The data in the InputStream can be of any type or length. The path must be specified according to the rules given in getResource. This method returns null if no resource exists at the specified path.

Meta-information such as content length and content type that is available via getResource method is lost when using this method.

The servlet container must implement the URL handlers and URLConnection objects necessary to access the resource.

This method is different from java.lang.Class.getResourceAsStream, which uses a class loader. This method allows servlet containers to make a resource available to a servlet from any location, without using a class loader.
[中]将位于命名路径的资源作为InputStream对象返回。
InputStream中的数据可以是任何类型或长度。必须根据[$2$]中给出的规则指定路径。如果指定路径上不存在资源,此方法将返回null
使用此方法时,可通过getResource方法获得的元信息(如内容长度和内容类型)将丢失。
servlet容器必须实现访问资源所需的URL处理程序和URLConnection对象。
此方法不同于java.lang.Class.getResourceAsStream,后者使用类加载器。此方法允许servlet容器从任何位置向servlet提供资源,而无需使用类加载器。

代码示例

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

@Override
public InputStream open() {
  return sc.getResourceAsStream(current);
}

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

@Override
public InputStream open() {
  return sc.getResourceAsStream(current);
}

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

/**
 * This implementation delegates to {@code ServletContext.getResourceAsStream},
 * which returns {@code null} in case of a non-readable resource (e.g. a directory).
 * @see javax.servlet.ServletContext#getResourceAsStream(String)
 */
@Override
public boolean isReadable() {
  InputStream is = this.servletContext.getResourceAsStream(this.path);
  if (is != null) {
    try {
      is.close();
    }
    catch (IOException ex) {
      // ignore
    }
    return true;
  }
  else {
    return false;
  }
}

代码示例来源:origin: nutzam/nutz

public InputStream getInputStream() throws IOException {
  return sc.getResourceAsStream(path);
}

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

ServletContext application = getServletConfig().getServletContext();
InputStream inputStream = application.getResourceAsStream("/META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(inputStream);

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

/**
 * This implementation delegates to {@code ServletContext.getResourceAsStream},
 * but throws a FileNotFoundException if no resource found.
 * @see javax.servlet.ServletContext#getResourceAsStream(String)
 */
@Override
public InputStream getInputStream() throws IOException {
  InputStream is = this.servletContext.getResourceAsStream(this.path);
  if (is == null) {
    throw new FileNotFoundException("Could not open " + getDescription());
  }
  return is;
}

代码示例来源:origin: swagger-api/swagger-core

@Override
  public boolean exists(String path) {

    if (servletConfig == null) {
      return false;
    }
    if (StringUtils.isBlank(path)) {
      return false;
    }
    String sanitized = (path.startsWith("/") ? path : "/" + path);
    return servletConfig.getServletContext().getResourceAsStream(sanitized) != null;
  }
}

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

/**
 * This implementation delegates to {@code ServletContext.getResourceAsStream},
 * but throws a FileNotFoundException if no resource found.
 * @see javax.servlet.ServletContext#getResourceAsStream(String)
 */
@Override
public InputStream getInputStream() throws IOException {
  InputStream is = this.servletContext.getResourceAsStream(this.path);
  if (is == null) {
    throw new FileNotFoundException("Could not open " + getDescription());
  }
  return is;
}

代码示例来源:origin: SonarSource/sonarqube

private String loadHtmlFile(String path, String serverStatus, String instance) {
  try (InputStream input = servletContext.getResourceAsStream(path)) {
   String template = IOUtils.toString(requireNonNull(input), UTF_8);
   return template
    .replaceAll(WEB_CONTEXT_PLACEHOLDER, servletContext.getContextPath())
    .replaceAll(SERVER_STATUS_PLACEHOLDER, serverStatus)
    .replaceAll(INSTANCE_PLACEHOLDER, instance)
    .replaceAll(OFFICIAL_PLACEHOLDER, String.valueOf(officialDistribution.check()));
  } catch (Exception e) {
   throw new IllegalStateException("Fail to load file " + path, e);
  }
 }
}

代码示例来源:origin: swagger-api/swagger-core

@Override
public OpenAPIConfiguration load(String path) throws IOException {
  if (servletConfig == null) {
    return null;
  }
  if (StringUtils.isBlank(path)) {
    return null;
  }
  String sanitized = (path.startsWith("/") ? path : "/" + path);
  String configString = readInputStreamToString(servletConfig.getServletContext().getResourceAsStream(sanitized));
  return deserializeConfig(path, configString);
}

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

private static InputStream getWebXmlAsStream() {
  final InputStream webXml = Parameters.getServletContext()
      .getResourceAsStream("/WEB-INF/web.xml");
  if (webXml == null) {
    return null;
  }
  return new BufferedInputStream(webXml);
}

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

public Reader reader() throws IOException {
  final InputStream inputStream = this.servletContext.getResourceAsStream(this.path);
  if (inputStream == null) {
    throw new FileNotFoundException(String.format("ServletContext resource \"%s\" does not exist", this.path));
  }
  if (!StringUtils.isEmptyOrWhitespace(this.characterEncoding)) {
    return new BufferedReader(new InputStreamReader(new BufferedInputStream(inputStream), this.characterEncoding));
  }
  return new BufferedReader(new InputStreamReader(new BufferedInputStream(inputStream)));
}

代码示例来源:origin: org.freemarker/freemarker

public InputStream getInputStream() throws IOException {
  final InputStream in = servletContext.getResourceAsStream(fileResourcePath);
  if (in == null) {
    throw newResourceNotFoundException();
  }
  return in;
}

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

@DesireNoWarning("NP_LOAD_OF_KNOWN_NULL_VALUE")
  public String falsePositive (ServletContext servletContext) throws IOException  {
    try (InputStream inputStream = servletContext.getResourceAsStream("/META-INF/MANIFEST.MF")) {
      if (inputStream == null) {
        return "#InDevelopment#";
      }
      return new Manifest(inputStream).getMainAttributes().getValue("Implementation-Version");
    }
  }
}

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

private InputStream getServletContextResourceStream(String path) {
  InputStream is = null;
  path = WebUtils.normalize(path);
  ServletContext sc = getServletContext();
  if (sc != null) {
    is = sc.getResourceAsStream(path);
  }
  return is;
}

代码示例来源:origin: jenkinsci/jenkins

/**
 * Filter to run for the LegacySecurityRealm is the
 * ChainServletFilter legacy from /WEB-INF/security/SecurityFilters.groovy.
 */
@Override
public Filter createFilter(FilterConfig filterConfig) {
  Binding binding = new Binding();
  SecurityComponents sc = this.createSecurityComponents();
  binding.setVariable("securityComponents", sc);
  binding.setVariable("securityRealm",this);
  BeanBuilder builder = new BeanBuilder();
  builder.parse(filterConfig.getServletContext().getResourceAsStream("/WEB-INF/security/SecurityFilters.groovy"),binding);
  
  WebApplicationContext context = builder.createApplicationContext();
  
  return (Filter) context.getBean("legacy");
}

代码示例来源:origin: SonarSource/sonarqube

@Before
public void setUp() throws Exception {
 when(servletContext.getContextPath()).thenReturn(TEST_CONTEXT);
 when(servletContext.getResourceAsStream("/index.html")).thenAnswer(
  (Answer<InputStream>) invocationOnMock -> toInputStream("Content of default index.html with context [%WEB_CONTEXT%], status [%SERVER_STATUS%], instance [%INSTANCE%]",
   UTF_8));
 when(servletContext.getResourceAsStream("/integration/vsts/index.html"))
  .thenAnswer((Answer<InputStream>) invocationOnMock -> toInputStream("Content of vsts index.html with context [%WEB_CONTEXT%]", UTF_8));
}

代码示例来源:origin: jenkinsci/jenkins

/**
 * Creates {@link Filter} that all the incoming HTTP requests will go through
 * for authentication.
 *
 * <p>
 * The default implementation uses {@link #getSecurityComponents()} and builds
 * a standard filter chain from /WEB-INF/security/SecurityFilters.groovy.
 * But subclasses can override this to completely change the filter sequence.
 *
 * <p>
 * For other plugins that want to contribute {@link Filter}, see
 * {@link PluginServletFilter}.
 *
 * @since 1.271
 */
public Filter createFilter(FilterConfig filterConfig) {
  LOGGER.entering(SecurityRealm.class.getName(), "createFilter");
  
  Binding binding = new Binding();
  SecurityComponents sc = getSecurityComponents();
  binding.setVariable("securityComponents", sc);
  binding.setVariable("securityRealm",this);
  BeanBuilder builder = new BeanBuilder();
  builder.parse(filterConfig.getServletContext().getResourceAsStream("/WEB-INF/security/SecurityFilters.groovy"),binding);
  WebApplicationContext context = builder.createApplicationContext();
  return (Filter) context.getBean("filter");
}

代码示例来源:origin: jenkinsci/jenkins

@Override
public SecurityComponents createSecurityComponents() {
  Binding binding = new Binding();
  binding.setVariable("authenticator", new Authenticator());
  BeanBuilder builder = new BeanBuilder();
  builder.parse(Jenkins.getInstance().servletContext.getResourceAsStream("/WEB-INF/security/AbstractPasswordBasedSecurityRealm.groovy"),binding);
  WebApplicationContext context = builder.createApplicationContext();
  return new SecurityComponents(
      findBean(AuthenticationManager.class, context),
      new ImpersonatingUserDetailsService(this));
}

代码示例来源:origin: aol/micro-server

@Test
public void testMainfest() {
  when(context.getResourceAsStream(any(String.class))).thenReturn(
      new ByteArrayInputStream(manifest
          .getBytes()));
  resource.mainfest(response,context);
  Map<String, String> manifest =response.response() ;
  assertThat(manifest.get("Implementation-Build"), is("281837"));
}

相关文章

微信公众号

最新文章

更多

ServletContext类方法