我一直在寻找这个问题的答案,但在任何地方都找不到。真的希望有人能帮忙
我的结构:
WebContent
- resources
- css
- style.css
- WEB-INF
- web.xml
template.html
web.xml
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
应用程序.java
String ROOT_URI = "C:/projects/testsite/WebContent/"
try {
configuration.setDirectoryForTemplateLoading(new File(ROOT_URI));
configuration.setObjectWrapper(new BeansWrapper());
} catch (IOException e) {
e.printStackTrace();
}
router.attach("/resources", new Directory(getContext(), LocalReference.createFileReference(ROOT_URI)));
router.attach("/index", IndexResource.class);
当我转到 URL: localhost:8080/testsite/index 时,我得到了模板文件,其中填充了正确的数据。但是没有加载 CSS。我可以在我的 Eclipse 控制台中看到 restlet 正在尝试获取它,但我得到了 404
127.0.0.1 8080 GET /testsite/resources/css/style.css - 404
正如您在上面看到的,我正在尝试使用Directory
该类来加载我的 css 目录,但没有任何效果。也许这是错的!?有没有办法让css不通过restlet?如果ROOT_URI
是相对路径而不是绝对路径会很好。有没有更简单的方法来获取我的位置路径?