2012-02-29 78 views
2

我剛剛實現了一個連接到MongoDB數據庫並通過JasperReports庫生成報告(PDF)的JSF(Web JavaScript應用程序)(所以帶有.java文件)。CoffeeScript,Node.js,MongoDB和JasperReports,有可能嗎?

是否有可能對CoffeeScript和Node.js中的Web應用程序做同樣的事情?我對此很新,所以我不知道從哪裏開始。

例如:是否有可能通過Node.js或CoffeeScript運行.java?

回答

6

JSF實際上是JavaServer Faces應用程序,而不是JavaScript應用程序。 JavaScript(Node.js,CoffeeScript所基於的)是而不是,儘管名稱相似,但它仍等同於Java。

如果您已經擁有基於JSF的應用程序,那麼您已經擁有了創建基於Web的應用程序所需的一切。不需要Node.js,CoffeeScript等

去看看JSP,Tomcat等來弄清楚如何呈現網頁而不是輸出到PDF,你應該設置。

+0

是的,但正如我所說我不想保留這個JSF。我想使用coffescript,nodejs和mongoDB,因爲我必須將其導入基於這些語言的另一個Web應用程序。 – Louis 2012-02-29 13:21:45

+2

嗯,首先,你應該更具體地說明你想要保留什麼以及不需要保留什麼。有一個適用於MongoDB的連接器,可以與Jasper Reports一起使用,還有一個node.js的驅動程序可以連接到MongoDB。至於node.js和與Jasper Reports的集成,我不知道(這是假設你引用的大部分工作都是在Jasper Reports中完成的,而你打算保留它)。如果你想擺脫賈斯珀報告,那麼你要麼必須從頭開始寫整個事情,要麼找到一個JavaScript替代品。 – 2012-02-29 13:30:21

+0

感謝您的回答,我搜索了很多node.js和他與Jasper Reports的整合。我沒有找到任何東西。如果我必須擺脫賈斯珀報告,我想這將是很多工作。我知道Pentaho也是一個報告工具,但我想這是同樣的問題。 – Louis 2012-02-29 13:37:22

3

如果您想用JavaScript重寫您的應用程序並在node.js上運行它,您應該可以使用PDFKit來構建PDF。

如果您只希望使用您現有的應用程序並將其與node.js服務器集成,我認爲您應該明智地並行運行它們(或通過節點向JSF應用程序發出代理請求,以防萬一)。除非你能更清楚地陳述你想要完成什麼,否則很難給出更好的答案。

+0

感謝您的PDFKit信息,不,我想重新開始,因爲我想我不能再使用java文件了。由於沒有關於nodejs和jasperreport集成的信息,您的解決方案(並行運行它們)可能是另一種選擇 – Louis 2012-02-29 14:02:15

+0

我剛剛發現這個[nodejs模塊](https:// github。com/nearinfinity/node-java)你認爲可以使用jasper report library嗎? – Louis 2012-02-29 14:27:52

+0

我以前沒見過那個模塊,很有意思。也就是說,不,我認爲這不是一個好主意。不過你可以試試! – 2012-02-29 14:33:38

2

是的,這是可能的。您可以使用Node.js啓動/停止/控制另一個進程 - 因此您可以在另一個進程中啓動.java並使用它來生成PDF。但是......在資源使用方面可能效率不高,所以這是一個懸而未決的問題。或者,您可以編寫一個簡單的工作程序,該工作程序將從JSON數據生成PDF,並在Node.js和此Java工作程序之間使用0MQ或其他進程間通信。

他 - 他,JSF是我見過的最差的技術之一(我相信它現在和2007年離開Java時一樣,現在仍然處於相同的狀態),甚至愚蠢的JSP和servlet也更好...