Servlet上下文获取真实路径返回null



我尝试从src/main/webapp/

访问资源

我使用java 1.8.0_101和maven 3.0.3

不幸的是,它是在一个环境中工作,而不是在另一个unix环境

@Named
@ApplicationScoped
public class TestClass {
    private static final String RESOURCE = "/resources/css/test.css";
    private String css = "";
    public void init(@Observes @Initialized(ApplicationScoped.class) ServletContext servletContext) throws IOException {
        String pathString = servletContext.getRealPath(RESOURCE);
        System.out.println("path string: " + pathString);
        byte[] data = Files.readAllBytes(Paths.get(pathString));
        css = new String(data, "UTF-8");
    }
    public String getCss() {
        return css;
    }
    public String format(Object o) {
        if (o instanceof List) {
            List<?> list = (List<?>) o;
            String text = list.toString();
            return text.substring(1, text.length() - 1);
        }
        return o == null ? "" : o.toString();
    }
}

请核对一下

ServletContext servletContext = request.getSession().getServletContext();
String relativeWebPath = "img/image.png";
String absoluteDiskPath = servletContext.getRealPath(relativeWebPath);

相关内容

  • 没有找到相关文章

最新更新