我是restlet框架的新手。我创建了一个小型 java ee 应用程序,但它给了我一个错误“未找到 (404)”
公共类 MailServerApplication 扩展应用程序 {
@覆盖
公共 Restlet createInboundRoot() {
路由器 router = new Router(getContext());
router.attach("http://localhost:8084/accounts/{accountId}/mails/{mailId}", MailServerResource.class);
返回路由器;
}
}
////////////////////////////
公共类 MailServerResource 扩展 ServerResource {
@覆盖
受保护的表示 get() 抛出 ResourceException {
DomRepresentation 结果 = null;
尝试 {
结果 = 新的 DomRepresentation();
结果.setIndenting(true);
文档 doc = result.getDocument();
节点 mailElt = doc.createElement("mail");
doc.appendChild(mailElt);
节点状态Elt = doc.createElement("status");
statusElt.setTextContent("收到");
mailElt.appendChild(statusElt);
节点 subjectElt = doc.createElement("subject");
subjectElt.setTextContent("给自己的信息");
mailElt.appendChild(subjectElt);
节点 contentElt = doc.createElement("content");
contentElt.setTextContent("Doh!");
mailElt.appendChild(contentElt);
} 捕捉(IOException e){
}
返回结果;
}
@覆盖
受保护的表示放(表示表示)抛出 ResourceException {
DomRepresentation mailRep = new DomRepresentation(representation);
文件文件;
尝试 {
doc = mailRep.getDocument();
元素 mailElt = doc.getDocumentElement();
元素 statusElt = (元素) mailElt
.getElementsByTagName("状态").item(0);
元素 subjectElt = (元素) mailElt.getElementsByTagName(
"主题").item(0);
元素 contentElt = (元素) mailElt.getElementsByTagName(
“内容”).item(0);
元素 accountRefElt = (元素) mailElt.getElementsByTagName(
"accountRef").item(0);
System.out.println("状态:" + statusElt.getTextContent());
System.out.println("主题:" + subjectElt.getTextContent());
System.out.println("内容:" + contentElt.getTextContent());
System.out.println("账户地址:" + accountRefElt.getTextContent());
} 捕捉(IOException e){
抛出新的资源异常(e);
}
返回空值;
}
}
但如果我运行/调试它。它给出以下错误:
未找到线程“主”中的异常 (404) - 未找到
在 org.restlet.resource.ClientResource.handle(ClientResource.java:858)
在 org.restlet.resource.ClientResource.handle(ClientResource.java:763)
在 org.restlet.resource.ClientResource.get(ClientResource.java:496)
在 MailClient.main(MailClient.java:19)
谢谢。