为经验丰富的PHP Web开发人员开始Java Web开发?

时间:2010-12-07 21:50:00

标签: java php jsp

我之前提到的question的反馈让我想知道是否存在这个问题标题中提到的文件或书籍。我一般都在网上搜索,以及之前的StackOverflow问题(也许我错过了正确的问题?),但我找不到我要找的东西。

我有几年使用PHP进行Web开发的经验。我的PHP工作主要是程序性的,但我确实在适当的时候使用对象。我喜欢PHP环境;也就是说,我不需要编译和部署代码更改才能生效。我喜欢能够将相同的语言用于业务逻辑和表示逻辑。我喜欢为PHP找到合适的文档。我喜欢为PHP脚本设置执行环境是多么简单(例如mod_php)。

但是,我正在管理Apache Tomcat提供的Java Web应用程序(门户网站),并进行几乎所有的内部开发。从描述的背景来看,我一直在将我的“思维方式”应用到我必须做的Java工作中。这基本上意味着我忘记了如何设置开发环境,只是将JSP脚本粘贴在Web根目录中,避免编写完整的类。

所以,在这样的书中列出我要找的东西:

  • 术语的差异(例如,为什么Web服务器被称为“容器”)
  • 操作环境的差异
  • 语言最佳实践的比较

正在寻找“Java是面向对象的而PHP不是。”我知道语言不同。我也不想要Head First Servlets & JSP的愚蠢(我的办公室里躺着的那本书)。

2 个答案:

答案 0 :(得分:1)

我强烈建议你从像Spring这样的框架开始使用java。 这将使您几乎可以放弃所有初始Web开发人员的头痛,并提供更好的学习进度。 一旦你使用Spring Framework进行管理(当然使用版本3.X),你应该只是担心学习一些JSTL来提供你在表示层上拥有的所有功能。 如果你把所有这些与jQuery这样的javascript框架混合在一起,你会比你想象的更快地上路。 1)学习一些JSP指令。 2)看看JSTL。 3)学习Spring 3(MVC) 4)更深入地学习JSTL。

答案 1 :(得分:0)

老实说,我没有在Java应用程序服务器上开发的大量经验,但我认为只使用纯Java书(大学/单级),学习面向对象原则(继承)会更好,多态,封装)和java的OO构造如果那不是你的强项。在此过程中,您将能够将这些功能与您已经看过的php进行比较和对比。我之所以这么说是因为java API是使用这些东西构造的(抽象类,包,继承等),你必须使用它们,而不是反对它们在管道方面做任何事情。根据我的经验,比较书不起作用,因为它来自两种语言只有不同术语的思维方式,但在某种程度上基本相同。这是误导性的,因为在进入并开始为HTTP请求编写代码之前,java ee有更多的底层构建块需要注意。

我会查看您首选服务器的官方文档,对于java ee背景阅读,我会坚持使用oracle的文档,因为它可以避免误解定义。

只是出于好奇,有没有一个特殊的原因你没有转向更面向对象的PHP方法,然后再转向java ee的怪异?