尝试使用org.restlet.Server组件在使用Restlet Framework时提供静态内容时遇到问题。
当我运行以下代码时,我得到: HTTP错误:404
访问/的问题。原因是:
Not Found
Restlet抛出以下异常: 无法启动Restlet
java.lang.IllegalArgumentException:相对引用仅在设置基本引用时可用。 at org.restlet.data.Reference.getTargetRef(Reference.java:1954) 在org.restlet.resource.Directory。(Directory.java:125)
我的代码如下。我在Java 1.8JDK,Linux 64上使用Restlet 2.3.9 JSE
public static final String ROOT_URI = "/home/user/templates/";
public class myApplication extends Application{
Server app = new Server (Protocol.HTTP, 8110);
app.getProtocols().add(Protocol.FILE);
app.setNext(new myApplication());
app.start();
}
@Override
public Restlet createInboundRoot(){
Router router = new Router(getContext());
System.out.println("Inbound");
Directory directory = new Directory(getContext(), ROOT_URI);
directory.setListingAllowed(true);
directory.setDeeplyAccessible(true);
router.attach("/",directory);
return router;
}
}