Log*_*ner 16 java web-applications
好的,我知道这是一个模糊的问题,我期待一个模糊/基本的答案.
我非常精通PHP驱动的MVC框架以及服务页面的工作过程.我对学习Java很感兴趣,我认为学习它的唯一方法就是学习它.然而,在逐页阅读之后,当我阅读时,它会变得更加混乱.
我正在进入GWT(前端),Hibernate(ORM连接?),Spring Architecture,Spring Roo(这是什么?),JBoss(servelet),JPA(ORM),POJO(使用常规java对象的样式) orm?),Maven?
我的基本问题是所有这些如何组合在一起?我喜欢使用框架的想法,因为它过去在PHP中运行良好.如何在java中使用此功能?假设我想构建一个带有关系数据存储的Web应用程序.java如何通过动态内容进行身份验证,启动会话和提供页面?这个过程是什么?
在回复时,请不要说"坚持你所知道的"(正如我在其他页面上看到的那样)因为我对java非常感兴趣并且我正在努力学习.
我完全听到你了 - 随着Java EE的发展,有太多的缩写词支持了.
我将尝试解释Java是一种语言Java EE(Java Enterprise Edition)是用于封装所有Java技术的通用术语,这些技术有助于使用Java创建企业/ Web应用程序
因此,使用Java的典型Web应用程序如下所示:
为了帮助实现良好的MVC架构,在Servlet之上提供了几个框架和工具:
Sun的petstore应用程序是一个开始学习如何组合在一起的好地方
Java EE的优点在于您可以选择要用于构建Web应用程序的组件.
Java存在的问题是它相当陈旧,并且有大量的框架和包与其他包执行类似的操作.然而,最核心的是Servlet,它指定了Java如何通过HTTP协议作为服务器.
有了这个基本的构建块,有许多Web框架,如Struts和Spring MVC,它们通过使用许多优秀的OO开发模式(如Fiters,Delegates,Factories,MVC等)来构建功能层,以允许开发人员汇总了一个将Web请求作为输入并将Web响应作为输出返回的应用程序.
这些框架通常构建在其他框架或包之上,以便为应用程序开发人员在应用程序的不同层提供更多功能.这包括ORM(如Hibernate)与关系数据库交谈,或查看Tiles或Velocity等合成框架,以帮助将HTML页面组合在一起作为响应的一部分.
围绕Web框架构建了许多其他首字母缩略词,工具和层,但实际上它们都只是编程工具,具有预构建的有用功能,只需要使用.
如果您正在寻找一个更具有凝聚力的Web应用程序开发框架,并且不会让您感到迷失,那么您可能需要查看Grails.它是在Groovy中,但它在语言方面与Java非常接近,并且实际上构建在您听过的许多其他工具之上.
Grails本身建立在Spring和Spring MVC框架以及Hibernate之上,所以它使用与其他更纯粹的Java框架相同的技术,但它将丑陋的细节抽象出去,所以你不必担心它们,除非你想要.然后,您可以通过插件捆绑其他功能,例如身份验证/安全性.如果您精通基于PHP的MVC框架以及它们如何从架构的角度工作,那么您将感受到像Grails或Spring MVC这样的类似MVC环境中的家.Grails 用户指南是一个很好的起点,其余的文档也很好.
如果您不熟悉Java语言,我强烈建议您使用一些小应用程序(不是Web应用程序,只是简单的应用程序)来学习语言并熟悉其工作原理.Java与PHP非常不同,因为PHP将许多基本功能捆绑到语言中,而Java具有相当稀疏的语言,其中许多常用功能来自库.
一旦你掌握了Java语言,我就会跳到Grails框架,我会首先跳过servlet,ORM和Hibernate等所有细节,因为你不需要知道它所有这里都有它可以妨碍实际理解事物.
然后,当您开始使用Grails构建应用程序时,您将逐渐深入了解Grails构建的技术,以便执行更复杂和更强大的操作.慢慢地,你会用自己的方式进入Spring和Hibernate和建立的事情是如何在幕后放在一起理解,但你可以做实实在在的事情更快,因为你不具备了解所有的细节,从一开始,并能快速使Grails中的Web应用程序正常工作,特别是了解响应Web请求的应用程序的MVC架构模式.
哇,这不仅是一个开放式的问题,而且可能有页面和页面的答案.我在大约7年前没有框架工作,所以我会尝试指出你的一些起点方向并比较我的经验(这是过时的,没有框架!)
您需要一个应用程序服务器,就像您的Java Web应用程序的Apache服务器一样,例如Tomcat,Jboss或Glassfish.这些服务器处理服务动态内容.
在服务器之上,您有自己的Web框架,您已经提到了GWT,Spring和Spring Roo.Spring Roo就像Rails,但在Java中.GWT全力以赴,并将根据您的Java代码编写您的html/javascript代码.
在Spring中您可以定义要在表单中使用的对象,然后在提交它们时,将传回整个对象,以减少工作量.我记得收到很多$ _POST []东西的日子,我很感激在使用spring时不必这么做.您可以使用Spring Security进行身份验证.
Web框架配置为连接到数据库,然后是数据库抽象ORM,Hibernate.在PHP中,我使用EZSQL进行抽象,它几乎不包含Hibernate所具有的功能.Hibernate有着陡峭的学习曲线,但值得学习.
对于动态GUI,您可能希望研究JSP,但可能对学习JSF感兴趣.
如果我是你,我会选择一个应用程序服务器,也许是tomcat,然后是一个可以玩的Web框架,我个人会选择Spring.该框架可能具有动态GUI示例,因此您将获取jsp/jsf.然后可能添加ORM和构建工具以从IDE外部构建,例如Maven,Ant或Gradle.
GWT 的好处之一是,您可以使用 Java 编写客户端代码,并享受其所有优点,如果您有服务器代码,也可以使用 Java 编写,并且您可以共享一些源代码,即使前端最终作为 JavaScript 运行。
| 归档时间: |
|
| 查看次数: |
15474 次 |
| 最近记录: |