我希望开始使用Java为web开发-我有一些基本的Java知识,所以这不是问题,但当涉及到破译web应用程序中使用的各种技术时,我感到困惑。
我可以使用哪些选项?它们是如何工作的?有没有类似于Django/Ruby on Rails的框架可以用来简化事情?
任何可以帮助理解可用的链接都将不胜感激。
发布于 2008-10-02 14:39:24
Java框架有两种基本风格。一个叫做"Action“Framework,另一个叫做"Component”Framework。
动作框架专门将HTTP请求映射到Java代码(动作),并将HTTP请求绑定到Java对象。Servlet是Action框架中最基本的,也是构建其他所有框架的基础。
Struts是最流行的Action框架,但凭良知我不能向任何人推荐它。Struts 2和Stripes更现代,而且彼此非常相似。两者的配置都很简单,开箱即用,提供了非常好的绑定功能。
组件框架关注UI,并倾向于促进基于高级UI组件(按钮、列表框等)的更多事件驱动的架构。这些框架倾向于将实际的HTTP请求隐藏在几层之下,不让程序员看到。它们使得开发更高级的UI变得更加容易。.NET是一个用于Windows的组件框架。在Java上,流行的组件框架是JSF (一种标准)和Wicket。
作为一个规则,如果你正在创建一个“网站”。这更类似于展示信息(如博客或社区站点),Action框架工作得更好。这些网站往往更简单,经常被加入书签,需要“漂亮的URL”等。这通常更容易使用Action框架。
组件框架更适合于具有大量UI元素和复杂工作流的后台应用程序。您会发现,尤其是使用工具时,使用组件框架可以更快地将这些风格的应用程序组合在一起。但是组件框架有更复杂的请求工作流程,有时依赖于隐藏状态,大量的POST操作,等等。许多都有“可怕的”URL,有时创建的页面很难加书签。
这两个框架都可以用于这两个任务,只是其中一些框架比其他框架更适合该任务。
这些框架都没有直接解决持久性问题,但许多框架都具有与JPA/EJB3或Hibernate紧密协作的扩展模块或习惯用法。
发布于 2008-10-02 13:34:41
基本的java web技术是servlets。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 Beans (EJB)进行会话管理、集群等。这本身不是一种web技术,但在处理更复杂的web应用程序时,您会看到它与之并驾齐驱。替代方案包括Spring等框架。EJB:http://docs.jboss.org/ejb3/app-server/tutorial/ Spring:http://www.springframework.org/
此外,您还需要熟悉ORM技术(在servlets和JSP/JSF之后)。目前领先的ORM框架是Hibernate。这允许您将SQL表映射到java对象,并相应地与它们进行交互。这是更高级的东西,所以把它保存起来,当您试图理解EJB/Spring等时。链接:http://www.hibernate.org/
编辑:我忘记定义ORM了。它代表Object Relational Mapping/Mapper (您想使用的任何版本的"Map“:)
发布于 2008-10-02 19:05:01
从由Java类中的逻辑支持的JSP开始。或者使用servlet。
使用JSP和Servlet的好处是,您可以获得所有框架在幕后做什么的知识。这种理解对于弄清楚如何在这个特定的框架中做X至关重要。
此外,JSP非常简单。您可以很容易地看到您正在做什么,并且当您将视图与业务逻辑搞乱时,您可以非常容易地看到它。
而且相当多的框架(Struts、Spring MVC)使用JSP作为视图技术。这是使用Java进行web开发的第一步。
https://stackoverflow.com/questions/162253
复制相似问题