2016-09-22 53 views
1

我是个试图从SRC访问资源/主/ web应用/servlet上下文得到真正的路径返回null

我用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(); 
    } 

} 

回答

-1

请与本

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