2010-06-29 49 views
7

我下載的所有東西似乎都是使用Java EE的全部內容。我需要構建一個頁面來處理請求,並根據參數進行一些處理。這是掛鉤到另一個通常會調用這個URL的框架。我可以避免Java EE創建輕量級網頁嗎?

我想要一個快速簡單的方法來創建一個頁面進行一些處理。有沒有簡單的方法來使用Java來做到這一點?我使用Java是因爲我對Java感到滿意。我使用了SE多年,並在EE中做了一些工作,但我不想要EE中的所有東西。

我是否應該完全避免Java並使用別的東西。這需要在Linux環境中部署。

+1

Javascript? PHP?在這種情況下,它們似乎是可行的選擇。 – corsiKa 2010-06-29 14:29:19

+0

我完全同意你的看法。 – naikus 2010-06-29 14:33:21

回答

4
  1. 你需要一個Tomcat(或碼頭,或任何servlet容器 - 碼頭有BTW的嵌入式版本)
  2. 你需要一個.jsp文件和可選的HttpServlet

一般來說,這不是一個好的做法將任何處理代碼放入JSP中,但如果它非常簡單並且不會被擴展,只需將邏輯放在那裏 - 無論如何都將其轉換爲Servlet。

+1

OP不需要** Tomcat或其他任何東西,他**可以**使用Tomcat或Jetty或JBoss或GlassFish或WebLogic等。運行時環境並不重要,重點在於OP可以使用很大的一小部分。 – 2010-06-29 14:39:33

+0

@帕斯卡。但是如果我能避免它,我不想下載Java EE。我特別希望避免JBoss或其他應用程序服務器的痛苦,如果我可以避免的話。 – uriDium 2010-06-29 14:45:24

+1

@uriDium:那不是我的觀點。我的觀點是,即使您的公司正在公司完整的Java EE服務器上運行其所有項目,您也可以使用Java EE的一小部分。現在,如果您有選擇,Tomcat或Jetty將適用於單個Servlet應用程序。 – 2010-06-29 14:50:33

0

這聽起來像你可以使用PHP來做你的處理。調用頁面並將參數發佈給它,計算並返回結果。

+1

在Java問題中推薦PHP就像將Natrium(* aka鈉*)扔到水中一樣。 – Esko 2010-06-29 14:33:50

+0

@Esko:OP *表示他願意使用Java以外的東西,如果它更容易。事實上,如果OP是嚴格純Java的人,這可能是涉及其他一些技術的好機會,但啓動和運行需要更長的時間,新技術的學習曲線等...... – FrustratedWithFormsDesigner 2010-06-29 14:37:53

+0

在這一點上絕對是開放的。我正在考慮涉足Ruby On Rails。我現在選擇Java的唯一原因是因爲我擁有最多的經驗。 – uriDium 2010-06-29 14:44:08

-1

我會推薦Sinatra它是一個非常輕量級的ruby web框架。

5

我用了多年的SE,在EE中做了一些工作,但我不想要EE帶來的所有東西。

然後,只需使用一個Servlet,就是這樣。沒有什麼,我重複沒什麼,迫使你使用「所有的東西」,你的問題要麼是免費的咆哮,要麼顯示一些深刻的誤解。

+1

+1,同意。我發現的問題是大多數教程假設你想要使用所有東西和廚房水槽,所以他們使用非常沉重的EE東西編寫簡單而又複雜的例子。我希望看到一篇教程介紹Java中的絕對*最小*大驚小怪的網頁,但它們很難找到。 – FrustratedWithFormsDesigner 2010-06-29 14:40:00

+0

誠實可能很深的誤解。我從來沒有真正掌握EE架構。我做了一點。大多數情況下,我在服務器環境中做SE東西。 – uriDium 2010-06-29 14:42:42

+0

@uriDium:沒問題。我沒有得到的是那部分讓你認爲你不能用Java EE做「簡單的事情」。正如我寫的,只需編寫一個'Servlet',這就是你所需要的。 – 2010-06-29 14:45:40

0

如果你對java的使用並不是很在意,並且願意嘗試,那麼你應該看看nodejs。它運行在V8 JavaScript引擎上,並在Linux上運行。 有對一個的NodeJS夫婦fraemworks的網絡應用程序的:

Expressjs和spludo

0

如前所述,你可以做到這一點很簡單地用碼頭和一個servlet,你甚至不需要一個JSP,如果你只是需要一個URL,根據請求參數進行一些處理並返回響應。

對於開發,在eclipse中創建動態web項目非常簡單,只需按照this article中的步驟操作即可。

這就是說,我不認爲java是真正輕量級的東西的最佳選擇。如果你只是想讓它在昨天工作,PHP可能是最容易使用的東西。

2

是的,所有基於servlet的解決方案都非常胖。

碼頭沒問題,但下載是20MB。那太可笑了。

目前,最好的選擇可能是com.sun.net.httpserver,它是捆綁在JDK 6中的。您可以輕鬆實施您的服務。

0

您可以使用Java with FastCGI。這非常靈活,但對於大多數Java程序員來說也有點低級。

如果您不怕servlets(它們只是Java EE的一小部分!),我可以推薦使用JAX-RS,這很容易上手。如果你的客戶端是基於JavaScript的,你可以避免使用JSP(我建議你避免)。例如,參見backbone-jax-cellar。 Java源代碼是here。對於Java應用程序,這是輕量級的。他正在推出自己的DAO,但這是您使用Java和SQL所付出的代價,並且沒有依賴關係(JDBC除外)。如果你問我,代碼讓人聯想到面向對象的PHP。問題是,如果你有一個JavaScript客戶端,你不需要模板渲染,或者所有的垃圾和REST接口都應該足夠。

如果你害怕構建系統,我做了一個example REST Todo app backend(它使用現有的前端),只需要一個POSIX系統,JDK和sqlite3,並獲得它自己的其他依賴項(包括web服務器)。我沒有使用DAO。存儲庫首頁有一個自述文件。

另一種可能性是Play Framework不使用Java EE。雖然它相當重。全功能雖然。您肯定需要爲此使用IDE,您不需要開發JAX-RS/FastCGI應用程序。