私はレストレットフレームワークに不慣れです。小さなJavaeeアプリケーションを作成しましたが、「見つかりません(404)」というエラーが表示されます。
public class MailServerApplication extends Application { @オーバーライド public Restlet createInboundRoot(){ ルーターrouter=new Router(getContext()); router.attach( "http:// localhost:8084 / accounts / {accountId} / mails / {mailId}"、MailServerResource.class); リターンルーター; } } //////////////////////////////// public class MailServerResource extends ServerResource { @オーバーライド 保護された表現get()はResourceException{をスローします DomRepresentationの結果=null; 試す { 結果=新しいDomRepresentation(); result.setIndenting(true); ドキュメントdoc=result.getDocument(); ノードmailElt=doc.createElement( "mail"); doc.appendChild(mailElt); ノードstatusElt=doc.createElement( "status"); statusElt.setTextContent( "received"); mailElt.appendChild(statusElt); ノードsubjectElt=doc.createElement( "subject"); subjectElt.setTextContent( "メッセージから自己へ"); mailElt.appendChild(subjectElt); ノードcontentElt=doc.createElement( "content"); contentElt.setTextContent( "Doh!"); mailElt.appendChild(contentElt); } catch(IOException e){ } 結果を返します。 } @オーバーライド 保護された表現put(表現表現)はResourceException{をスローします DomRepresentation mailRep = new DomRepresentation(representation); ドキュメントドキュメント; 試す { doc = mailRep.getDocument(); 要素mailElt=doc.getDocumentElement(); 要素statusElt=(要素)mailElt .getElementsByTagName( "status")。item(0); 要素subjectElt=(要素)mailElt.getElementsByTagName( "件名").item(0); 要素contentElt=(要素)mailElt.getElementsByTagName( "content")。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( "アカウントURI:" + accountRefElt.getTextContent()); } catch(IOException e){ 新しいResourceException(e);をスローします。 } nullを返します。 } }
しかし、私がそれを実行/デバッグする場合。次のエラーが発生します。
スレッド「main」の例外が見つかりません(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)で
ありがとう。