首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何高效地开发Java Web应用程序?

如何高效地开发Java Web应用程序?
EN

Stack Overflow用户
提问于 2012-02-18 20:46:09
回答 3查看 197关注 0票数 2

我正在开发我的第一个Java web应用程序(Spring/Hibernate/Freemarker),我唯一关心的是开发速度。

我过去常常使用PHP进行开发,只需重新加载浏览器即可查看结果。使用Java时,我需要始终单击IDE中的"update resources“来查看对模板所做的更改。在我看来,这种开发方式真的很低效,因为重新部署需要几秒钟的时间。

此外,我不是谁将准备模板-这将只是一个图形的家伙,他会想测试他们以及。他是否需要有自己的应用服务器并不断地重新部署应用程序,或者是否有更多的"PHP“方法,您只需”重新加载“页面?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-18 20:57:17

是的,与PHP或Rails等动态语言和平台相比,开发速度是一个主要的问题和缺点。显然,Java在不同的领域取胜,但这里有几个提示:

与重新部署相比,

  1. 更喜欢单元测试-如果您对单元测试感到满意,则可以大大减少重新部署的数量。我发现自己只部署了一次完整的功能,当它完成的时候。所有的逻辑都已经测试过了,所以我不必一遍又一遍地部署,浪费几秒钟或几分钟的时间。

此外,当我开始使用GUI时,我不必返回到后端,因为我现在可以工作了。一旦我看到重复的重新部署,我会尝试使用JUnit来测试它。

  • 使用better frameworks。Spring MVC是非常保守的,尽管它非常优秀和纯粹。我听说Play! framework可以通过动态重新编译类来减少周转时间。

另一方面,像Grails这样的现代JVM虚拟机框架可以加快你的开发速度,因为它们为你创建了域,CRUD和图形用户界面。

  • 一些框架促进了模板的松散耦合。如果您使用的是Freemarker或普通JSP,则很难在GUI上单独工作。但是像Wicket这样的框架在很大程度上将Java代码与用普通超文本标记语言编写的模板解耦。另外,我目前正在开发一个只提供静态超文本标记语言的应用程序,动态内容通过AJAX/REST服务和JavaScript.

  • Consider购买进行更新,并研究了have虚拟机中的内置热插拔功能。有时,更改代码并不意味着redeployment.

  • 可以在窗口变成后台时动态更新修改过的资源(HTML、JavaScript)。这意味着当您将窗口从IDE切换到浏览器时,您的资源就会更新。也许其他IDE也可以做到这一点。
票数 6
EN

Stack Overflow用户

发布于 2012-02-18 20:59:35

您可以自定义IDE以自动更新部署。对web页面的更改实际上并不需要重新部署应用程序,因为Java服务器会即时更新它们。关于您的第二个问题-您可以创建一些在多台计算机上可见的通用安装,并定制IDE (或编写脚本)以将新页面复制到部署中。

票数 2
EN

Stack Overflow用户

发布于 2012-02-18 20:56:35

你可能想看看Play framework,它可以让你更新你的代码(超文本标记语言、CSS、Java),并在浏览器中按下刷新按钮后立即看到结果,而不需要重新部署你的应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9341256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档