我試圖在Heroku上開發一個Neo4J Cloud應用程序,使用它們的Neo4j插件。我仍然嘗試了幾個功能,所以它只是一個演示應用程序,但我已經遇到了一個問題。Heroku僅適用於刷新
我的應用程序是這樣構建的: 我有一個表格顯示連接到參考節點的所有節點。在這個主頁上有一個鏈接添加一個隨機節點。
有我的servlet定義了兩個行動,做到以下幾點:
Home.do
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);
其中最後三個參數是文件名(不含JSP),它包括在master.jsp,使用。
Addnode.do不完全一樣的,只是它改變TESTUSER的價值,並設置NodeBeans屬性它在此之前:
da.createRandomNode();
這基本上創建一個隨機的節點數據庫。
在本地,這一切都像一個魅力。當我推到Heroku時,有一個問題。
當我打開時,它仍然打開到「bla.herokuapps.com/home.do」,這很好。它顯示了節點的表格。當我點擊添加節點的鏈接時,URL確實更改爲「bla.herokuapp.com/addnode.do」應該添加節點,但不會。 testuser屬性也會隨着「addnode.do」操作而發生變化,但是會發生變化。當我刷新頁面時,url設置爲「bla.herokuapps.com/addnode.do」,它確實添加了一個節點,並在表中顯示此新節點。
因此,頁面之間的整個切換效果很好。唯一的問題是,單擊addnode鏈接不會在Neo4j數據庫中創建新節點,直到刷新頁面。
僅供參考:我正在使用neo4j-rest-graphdb與數據庫交談。這是一個遠程客戶端庫,用於與其餘api交談。