0

Neo4j アドオンを使用して、Heroku で Neo4J クラウド アプリケーションを開発しようとしています。私はまだいくつかの機能を試しているので、これは単なるデモ アプリですが、すでに問題が発生しています。

私のアプリケーションは次のように構築されています。参照ノードに接続されているすべてのノードを示すテーブルを含むホームページがあります。このホームページには、ランダム ノードを追加するためのリンクがあります。

私のサーブレットには、次のことを行う 2 つのアクションが定義されています。

ホームド

request.setAttribute("testuser", "test");
DataAccess da = new DataAccess();
request.setAttribute("NodeBeans", da.getAllNodes()); 

request.setAttribute("pageheader", "header");
request.setAttribute("pagecontent", "home");
request.setAttribute("pagefooter", "footer");
request.getRequestDispatcher("/master.jsp").forward(request, response);

最後の 3 つのパラメータは、.jsp を使用して master.jsp に含まれるファイル名 (jsp なし) です。

Addnode.doはまったく同じことを行いますが、testuser の値を変更し、NodeBeans 属性を設定する前にこれを行います。

da.createRandomNode();

基本的に、データベースにランダムなノードを作成します。

ローカルでは、すべてが魔法のように機能します。Heroku にプッシュすると、問題が発生します。

私が開くと、まだ「bla.herokuapps.com/home.do」が開きます。これは良いことです。ノードのテーブルが表示されます。ノードを追加するリンクをクリックすると、ノードを追加するはずの URL が「bla.herokuapp.com/addnode.do」に実際に変更されますが、追加されません。ただし、 「addnode.do」アクションで変更される te​​stuser 属性は変更されます。URL が"bla.herokuapps.com/addnode.do"に設定されているときにページを更新すると、ノードが追加され、この新しいノードがテーブルに表示されます。

そのため、ページ間の切り替え全体がうまく機能します。唯一の問題は、addnode リンクをクリックしても、ページを更新するまで Neo4j データベースに新しいノードが作成されないことです。

参考までに:私はデータベースとの対話に neo4j-rest-graphdb を使用しています。残りの API と対話するためのリモート クライアント ライブラリです。

4

1 に答える 1

1

それを見つけた。firebug でデバッグした後、ページがまったくリロードされていないように見えます。キャッシュされたページだけが再び表示されました。

次の 3 行のコードを使用して、コントローラーでキャッシュを手動でオフにする必要があります。

response.setHeader("Cache-control", "no-cache, no-store");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
于 2013-03-26T10:51:34.057 に答える