Web Java开发
我希望开始使用Java进行Web开发,因为我已经掌握了一些Java基本知识,所以这不是问题,但是在解密各种Web应用程序中使用的技术时我很茫然。
我可以使用哪些选项?它们如何工作?有没有可以用来简化事情的类似于Django / Ruby on Rails的框架?
我们将不胜感激任何有助于了解可用信息的链接。
解决方案
像grails?
还有春天的项目
我不知道是否有和Django for Java一样出色的功能,但Spring具有基于J2EE的轻量级Web框架。
http://www.springframework.org/about
A flexible MVC web application framework, built on core Spring functionality. This framework is highly configurable via strategy interfaces, and accommodates multiple view technologies like JSP, Velocity, Tiles, iText, and POI. Note that a Spring middle tier can easily be combined with a web tier based on any other web MVC framework, like Struts, WebWork, or Tapestry.
J2EE是标准。我们可以使用它来构建带有Java Server Pages,Servlet和EJB的应用程序。
Struts也是使用JSP和Servlet的非常流行的框架。进行设置有点棘手,但是对于中型网站来说,这是一个很好的选择。
http://en.wikipedia.org/wiki/Struts
我们需要从servlet和JSP开始。 Java中有许多Web框架,它们都基于这两种技术。
也是Java Server Faces
http://en.wikipedia.org/wiki/Java_Server_Faces
基本Java Web技术是servlet。 Servlet使我们可以编写响应各种HTTP事件(doGet,doPost,doPut等)的Java代码。它们通常用于MVC架构中的控制器。
链接:http://java.sun.com/products/servlet/
通过JSP,我们可以使用嵌入式Java编写HTML,而不是使用其他方式(在Servlet中)编写HTML。 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。它代表对象关系映射/映射器(无论我们使用什么版本的" Map" :)
通常,Java是基于组件的,也就是说,我们没有能够为我们完成所有工作的框架(例如,我们可能必须自己选择数据库访问框架)。对于数据访问,我建议使用Hibernate或者iBATIS。
对于前端,实际上有数百个框架。研究JSF,Wicket,Struts 2,Stripes的方式取决于特定需求,因为它们都有不同的优势。
对于业务层,我建议使用Spring框架,该框架非常全面,并且具有出色的参考指南/教程:)
这是一个非常开放的问题。简短的答案是"是",有各种框架,库和标准可以完成从HTTP请求级别的编写内容到Java内容管理系统的所有操作。
我们也可以在JVM上使用其他语言(例如Python,Ruby等)。
对于某些仅Java技术,请研究JSP / Servlet,Struts,Struts2(这是Webwork的更新版本),Spring MVC,Tapestry,web4j,Wicket。
还有其他基于JVM构建的框架,但是使用Java以外的其他语言,例如Grails。
首先,我将下载Eclipse(最新版本)和Tomcat。在Eclipse中创建一个新的Web应用程序。有一些指南可以入门。
从学习JSP和Servlet的工作方式开始,它们有点低级,并不是真正的框架,但是可以让我们快速启动并运行。从那里调查并选择框架。
Spring MVC非常容易设置和运行。我敢肯定还有其他人。
我们可以尝试Jboss Seam:http://www.seamframework.org/Documentation/GettingStarted
如果我们将Eclipe用作IDE,则可以通过Jboss Tools进行良好的集成,也可以使用Seam附带的Seam-Gen工具。这使我们可以定义一个或者多个数据库表,并使用一些简单的命令从中构建一个完整的可运行Web项目。这是使球滚动的好方法。
Java框架有两种基本形式。一种称为"动作"框架,另一种称为"组件"框架。
动作框架专门致力于将HTTP请求映射到Java代码(动作),并将HTTP请求绑定到Java对象。 Servlet是Action Framework中最基本的,也是所有其他构建的基础。
Struts是最受欢迎的Action框架,但我不能凭良心向任何人推荐它。 Struts 2和Stripes更现代,并且彼此非常相似。两者的配置都很轻巧,易于使用,提供了非常好的绑定功能。
组件框架专注于UI,并且倾向于基于高级UI组件(按钮,列表框等)促进事件驱动的体系结构。框架倾向于在几层以下隐藏来自编码器的实际HTTP请求。它们使开发更高级的UI变得容易得多。 .NET是Windows的组件框架。在Java上,流行的组件框架是JSF(标准)和Wicket。
通常,如果要创建"网站"。这更类似于呈现信息(例如博客或者社区站点),因此Action框架可以更好地工作。这些站点通常更简单,经常被加书签,需要"漂亮的URL"等。使用Action框架通常更容易做到这一点。
对于具有大量UI元素和复杂工作流程的后台应用程序,组件框架要好得多。我们会发现,尤其是使用工具时,使用组件框架可以更快地将这些样式的应用程序组合在一起。但是组件框架具有更复杂的请求工作流程,有时依赖于隐藏状态,大量POST操作等。许多框架具有"可怕的" URL,有时创建难以添加书签的页面。
这两个框架都可以用于两个任务,只是有些框架比其他框架更适合该任务。
这些框架都不能直接解决持久性问题,但是许多框架都具有可与JPA / EJB3或者Hibernate紧密配合的扩展模块或者惯用法。
从以Java类中的逻辑为后盾的JSP开始。或者使用servlet。
使用JSP和Servlet的优点是我们了解所有框架的功能。这种理解对于弄清楚如何在特定框架中执行X至关重要。
此外,JSP非常容易。我们可以轻松地看到自己在做什么,并且在将视图与业务逻辑弄混时也可以很容易地看到它。
许多框架(Struts,Spring MVC)都使用JSP作为其视图技术。这是使用Java进行Web开发的自然的第一步。
如果我们已经了解Ruby On Rails,则可以将其与JRuby一起使用,并通过Warbler部署到Java服务器(例如Tomcat)。
在纯Java中,Wicket具有很好的方法,并且越来越受欢迎。
在研究那些框架之前,为什么不首先研究所有框架呢?首先尝试使用servlet进行编程,这样我们就可以窥视大多数这些Java Web框架的核心。这将更好地了解J2EE。
我早在大学时就已经在Java 1.1.5版中学习Java。我最近开始尝试为Web编程,但是直到阅读Head First Servlet和JSP才有意义。使用Java进行Web开发涉及的事情比我以前意识到的要多,如果没有这本书,我会退出并只使用PHP。