用于Web的Java开发

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

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

任何有助于理解可用内容的链接都将非常受欢迎。

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

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

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

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

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

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

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

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

您的基本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/ Spring: http : //www.springframework.org/

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

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

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

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

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

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

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

http://www.springframework.org/about

灵活的MVC Web应用程序框架,构建于Spring核心function之上。 该框架可通过策略接口进行高度配置,并适用于JSP,Velocity,Tiles,iText和POI等多种视图技术。 请注意,Spring中间层可以轻松地与基于任何其他Web MVC框架(如Struts,WebWork或Tapestry)的Web层相结合。

像grails这样的东西?

还有来自spring的项目

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

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

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

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

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

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

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

首先,我将下载Eclipse(最新版本)和Tomcat。 在Eclipse中创建一个新的Web应用程序。 有一些指南可以帮助您入门。

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

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

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

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

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

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

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

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

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

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

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

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