Web Java 开发 [已关闭]
我希望开始使用Java为Web开发 - 我有一些基本的Java知识,所以这不是问题,但是在破译用于Web应用程序的各种技术时,我不知所措。
我可以使用哪些选项?它们是如何工作的?有没有类似于Django/Ruby on Rails的框架可以用来简化事情?
任何可以帮助理解可用内容的链接将不胜感激。
我希望开始使用Java为Web开发 - 我有一些基本的Java知识,所以这不是问题,但是在破译用于Web应用程序的各种技术时,我不知所措。
我可以使用哪些选项?它们是如何工作的?有没有类似于Django/Ruby on Rails的框架可以用来简化事情?
任何可以帮助理解可用内容的链接将不胜感激。
Java框架有两种基本风格。一个称为“行动”框架,另一个称为“组件”框架。
操作框架专门用于将 HTTP 请求映射到 Java 代码(操作),并将 HTTP 请求绑定到 Java 对象。Servlets是最基本的操作框架,并且是所有其他框架的基础。
Struts是最受欢迎的动作框架,但我不能凭良心向任何人推荐它。Struts 2和Stripes更现代,彼此非常相似。两者在配置上都很轻巧,开箱即用,提供了非常好的绑定功能。
组件框架专注于 UI,并倾向于基于高级 UI 组件(按钮、列表框等)提升事件驱动的体系结构。框架倾向于将来自编码器的实际HTTP请求隐藏在多个层下。它们使开发更高级的 UI 变得更加容易。.NET 是 Windows 的组件框架。在Java上,流行的组件框架是JSF(标准)和Wicket。
通常,如果您正在创建一个“网站”。这更像是呈现信息(如博客或社区网站),行动框架工作得更好。这些网站往往更简单,经常被添加书签,需要“漂亮的URL”等。使用操作框架通常更容易做到这一点。
组件框架对于具有大量UI元素和复杂工作流程的后台应用程序要好得多。你会发现,特别是在工具方面,这些风格的应用程序将使用组件框架更快地结合在一起。但是组件框架具有更复杂的请求工作流,有时依赖于隐藏状态,大量POST操作等。许多都有“可怕的”URL,有时会创建难以添加书签的页面。
这两个框架都可以用于这两个任务,只是有些框架比其他框架更适合该任务。
这些框架都没有直接解决持久性问题,但许多框架都有与JPA / EJB3或Hibernate紧密配合的扩展模块或习语。
你基本的java Web技术是servlets。Servlets允许您编写响应各种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/
许多更复杂的应用程序利用企业 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。它代表对象关系映射/映射器(无论您喜欢使用哪个版本的“映射”:)