用于Web的Java开发

时间:2008-10-02 13:26:13

标签: java frameworks

我正在寻求使用Java开始为Web开发 - 我有一些基本的Java知识,所以这不是问题,但是在解密用于Web应用程序的各种技术时我很茫然。

我可以选择哪些选项?他们是如何工作的?有没有类似于Django / Ruby on Rails的框架,我可以使用它来简化事情?

任何有助于理解可用内容的链接都会非常感激。

14 个答案:

答案 0 :(得分:32)

Java框架有两种基本风格。一个称为“行动”框架,另一个称为“组件”框架。

Action frameworks专注于将HTTP请求映射到Java代码(操作),以及将HTTP请求绑定到Java对象。 Servlets是Action Frameworks中最基本的,它是构建所有其他框架的基础。

Struts是最受欢迎的Action框架,但我不能凭良心向任何人推荐它。 Struts 2和Stripes更加现代,彼此非常相似。两者都配置简单,开箱即用,提供非常好的绑定功能。

组件框架专注于UI,并倾向于基于高级UI组件(按钮,列表框等)推广更多事件驱动的架构。框架倾向于在几个层下隐藏来自编码器的实际HTTP请求。他们使开发更高级的UI变得更加容易。 .NET是Windows的组件框架。在Java上,流行的组件框架是JSF(标准)和Wicket。

通常,如果您正在创建“网站”。这更类似于呈现信息(如博客或社区网站),Action框架更有效。这些网站往往更简单,经常收藏,需要“漂亮的URL”等。这通常更容易使用Action框架。

组件框架对于具有大量UI元素和复杂工作流的后台应用程序更好。您会发现,特别是使用工具,这些样式的应用程序将使用组件框架更快地结合在一起。但组件框架有更复杂的请求工作流,有时依赖于隐藏状态,大量POST操作等。许多都有“可怕”的URL,有时会创建难以收藏的页面。

两个框架都可以用于这两个任务,只有一些框架比其他框架更适合任务。

这些框架都不直接解决持久性问题,但许多框架都有扩展模块或习惯用法与JPA / EJB3或Hibernate紧密配合。

答案 1 :(得分:13)

您的基本java Web技术是servlet。 Servlet允许您编写响应各种HTTP事件(doGet,doPost,doPut等)的Java代码。它们通常用于MVC架构中的控制器。 链接:http://java.sun.com/products/servlet/

JSP允许您使用嵌入式Java编写HTML而不是相反(在servlet中)。 JSP已经通过JSF扩展,以包含更新的架构进步。这与PHP和ASP在同一行。这是MVC架构的视图部分。 链接:http://java.sun.com/developer/technicalArticles/GUI/JavaServerFaces/

许多更复杂的应用程序利用Enterprise Java Bean(EJB)进行会话管理,群集等。这本身并不是一种Web技术,但是当你处理更复杂的事情时,你会发现它是相辅相成的。 web应用。替代方案包括Spring等框架。 EJB:http://docs.jboss.org/ejb3/app-server/tutorial/ 春天:http://www.springframework.org/

此外,您还需要熟悉ORM技术(在servlet和JSP / JSF之后)。领先的ORM框架目前是Hibernate。这使您可以将SQL表映射到java对象并相应地与它们进行交互。这是更高级的东西,所以当你试图了解EJB / Spring等时,请保存它。 链接:http://www.hibernate.org/

编辑:我忘了定义ORM。它代表对象关系映射/映射器(无论你想使用什么版本的“地图”):)

答案 2 :(得分:8)

从Java类中的逻辑支持的JSP开始。或者使用servlet。

使用JSP和Servlet的优势在于,您可以了解所有框架的内容。这种理解对于弄清楚如何在特定框架中执行X来说至关重要。

此外,JSP非常简单。您可以轻松地看到自己在做什么,并且在使用业务逻辑搞乱视图时很容易看到它。

很多框架(Struts,Spring MVC)都使用JSP作为他们的视图技术。这是使用Java进行Web开发的自然的第一步。

答案 3 :(得分:7)

我不知道有没有像Django for Java那样好的东西,但Spring有一个基于J2EE的轻量级Web框架

http://www.springframework.org/about

  

灵活的MVC Web应用程序   框架,建立在核心Spring上   功能。这个框架是   通过策略高度配置   接口,并容纳多个   查看JSP,Velocity等技术   Tiles,iText和POI。注意一个   Spring中间层可以轻松实现   结合基于任何的Web层   其他Web MVC框架,如Struts,   WebWork或Tapestry。

答案 4 :(得分:3)

grails之类的东西?

还有来自spring

的项目

答案 5 :(得分:2)

您需要从servlets and JSP开始。 Java中有许多Web框架,它们都基于这两种技术。

答案 6 :(得分:2)

你可以试试Jboss Seam:http://www.seamframework.org/Documentation/GettingStarted

如果您使用Eclipe作为IDE,可以通过Jboss Tools进行良好的集成,也可以使用Seam附带的Seam-Gen工具。这允许您定义数据库表(或多个表),并使用一些简单的命令,从中构建一个完整的可运行Web项目。这是让球滚动的好方法。

答案 7 :(得分:1)

答案 8 :(得分:1)

这是一个非常开放的问题。简短的回答是“是”,有框架,库和标准可以完成从HTTP请求级别的编写到Java中的内容管理系统。

你也可以在JVM上使用其他语言(例如Python,Ruby等)。

对于某些仅Java技术,请研究JSP / Servlets,Struts,Struts2(Webwork的更新版本),Spring MVC,Tapestry,web4j,Wicket。

还有其他框架构建在JVM上,但使用的不是Java语言,如Grails。

要开始,我会下载Eclipse(最新版本)和Tomcat。在Eclipse中创建一个新的Web应用程序。有guides可以帮助您入门。

从学习JSP和Servlet如何工作开始,这些有点低级,并不是真正的框架,但可以让您快速启动和运行。从那里调查并选择你的框架。

Spring MVC非常容易设置和运行。我确定还有其他人。

答案 9 :(得分:1)

如果您已经了解Ruby On Rails,则可以将其与JRuby一起使用,并使用Warbler部署到Java服务器(如Tomcat)。

在纯Java中,Wicket有一个很好的方法,并且越来越受欢迎。

答案 10 :(得分:1)

在研究这些框架之前,为什么不先研究一下这一切?首先尝试使用servlet编程,这样你就可以窥探大多数java web框架的核心。它可以帮助您更好地理解J2EE。

答案 11 :(得分:0)

J2EE是标准。您可以使用它来构建具有Java Server Pages,Servlet和EJB的应用程序。

Struts也是一个非常流行的框架,它使用JSP和Servlet。设置设置有点棘手,但对于中型网站来说这是一个非常好的选择。

http://en.wikipedia.org/wiki/Struts

答案 12 :(得分:0)

通常,Java更基于组件,即您没有为您完成所有操作的框架(例如,您可能必须自己选择数据库访问框架)。对于数据访问,我建议使用Hibernate或iBATIS。

对于前端,周围有数百个框架。调查JSF,Wicket,Struts 2,条纹 - 无论你使用哪一个都取决于你的具体需求,因为它们都有不同的优势。

对于业务层,我建议使用Spring Framework,它非常全面,并且有很好的参考指南/教程:)

答案 13 :(得分:0)

我在大学期间学习Java 1.1.5版。我最近开始尝试为网络编程,但在我阅读Head First Servlets and JSP之前没有任何意义。使用Java进行Web开发涉及的方式比我想象的要多,如果没有这本书,我就会退出并使用PHP。