これは私にとってほとんど新しい分野であるため、私の質問は役立つリソースに関するものです。
ポート 80 で実行されている apache サーバーがあり、単に javascript アプリケーションをホストしています。
この Java アプリケーションは、ポート 8080 の jetty で実行されている Java アプリケーションに対して行われた残りの呼び出しを通じてデータを取得します。
フロントエンドには AngularJS を使用しています。私のリクエストサービスは次のようになります。
(function(ng, app){
"use strict";
app.service(
"questService",
function( $q, $http, _, categoryService ) {
function($q, _, $http){
function getQuestsFromServer(){
$http({method: 'GET', url: 'http://localhost:8080/worldcraft/quests'}).
success(function(data, status, headers, config) {
console.log("SUCESS!! {status: " + status + " \nData:" + data + "}");
}).
error(function(data, status, headers, config) {
console.log("FAILURE!! {status: " + status + " \nData:" + data + "}");
});
}
}
return getQuestsFromServer : getQuestsFromServer;
})
})(angular, Worldcraft);
Javaアプリケーションでは、このようなサービスがあります
@Singleton
@Produces(MediaType.APPLICATION_JSON)
@Path("worldcraft/quests")
public class QuestbookService {
private Questbook questbook;
@Inject
public QuestbookService(Questbook questBook) {
this.questbook = questBook;
}
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Quest> getQuests() {
return questbook.getQuests();
}
}
クロムを使用してこれをテストすると、javascript 例外が発生します: XMLHttpRequest はhttp://www.myserver.com:8080/worldcraft/questsをロードできません。Origin http://www.myserver.comは Access-Control-Allow-Origin で許可されていません。
調査を行った後、正しい解決策は JSONP を使用しているようです。しかし、私が持っているテクノロジーを使ってこれを行う方法を理解するのに本当に役立つものをオンラインで見たことがありません.
Java スタックは、サーブレットをファサード化するために、jetty、jackson、jersy を使用しています。
フロントエンド スタックは、ルーティングを行うために AngularJS を使用しています。
AngularJS プラットフォームは、通常の Apache サーバーを使用してポート 80 でホストされています。
アドバイスやヒントは何でもいいです。研究トピックが優先されます。または、私が間違っている可能性のあることの説明。