Я пытаюсь разработать webapp с Restlet, и у меня есть небольшая проблема для доступа к my/public/css/* и/public/js/*.Не удается получить файлы ресурсов в файлах шаблонов (используя Restlet и Freemarker)
У меня есть сообщения, как это в консоли:
INFO: 2012-03-10 23:52:59 127.0.0.1 - - 8182 GET /public/css/bootstrap-responsive.min.css - 404 439 0 0 http://localhost:8182 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11 http://localhost:8182/hello
Я в настоящее время имеют только HelloWorld, используя шаблон HTML:
public class RestletServerTest extends ServerResource {
public static void main(String[] args) throws Exception {
Component component = new Component();
component.getServers().add(Protocol.HTTP, 8182);
component.getDefaultHost().attach("/hello", new HelloWorldApplication());
component.start();
}
}
public class HelloWorldApplication extends Application {
private Configuration configuration;
@Override
public synchronized Restlet createInboundRoot() {
configuration = new Configuration();
try {
configuration.setDirectoryForTemplateLoading(new File("src/main/webapp/WEB-INF/template"));
configuration.setObjectWrapper(new BeansWrapper());
} catch (IOException e) {
e.printStackTrace();
}
Router router = new Router(getContext());
router.attach("", HelloWorldResource.class);
return router;
}
public Configuration getConfiguration() {
return configuration;
}
}
public class HelloWorldResource extends ServerResource {
@Get
public Representation get() {
TemplateRepresentation templateRepresentation = new TemplateRepresentation("hello.ftl", getApplication()
.getConfiguration(), MediaType.TEXT_HTML);
return templateRepresentation;
}
@Override
public HelloWorldApplication getApplication() {
return (HelloWorldApplication) super.getApplication();
}
}
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<link rel="stylesheet" href="/public/css/bootstrap-responsive.min.css" />
<link rel="stylesheet" href="/public/css/bootstrap.min.css" />
<script type="text/javascript" src="/public/js/bootstrap.min.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
CSS и JS файлы в «/ SRC/главная/webapp/public ". Я что-то забыл?
спасибо.
Флориан.
Это работает, если вы удаляете '/ public /' из URL-адресов? –
- ваш css в: '/ src/main/webapp/public/css/bootstrap.min.css'? Это читаемо? Выполняется ли любой другой запрос (какой)? –
Это не работает, если я удаляю '/ public /', и я не могу получить доступ к '/ src/main/webapp/public/css/bootstrap.min.css'. В настоящее время только http: // localhost: 8182/hello works – fguerin