【问题标题】:What do I need to learn to build a web app in Java? [closed]在 Java 中构建 Web 应用程序需要学习什么? [关闭]
【发布时间】:2010-10-17 20:55:13
【问题描述】:

我从事 PHP/MySQL Web 开发已经有一段时间了,我在这方面相当称职。然而最近,我学习了 Java 并爱上了它,我现在真的很想做更多的 Java 工作。

我得到了第一次机会,客户需要构建一个 web 2.0ish web 应用程序,他同意让我使用任何我想使用的东西,包括 Java。但是,我还没有做过任何网络开发。之前在Java中,我只经历过official Java tutorial,了解了一些小程序和构建2D pacman游戏,并在Google Web Toolkit做了一些简单的工作。

我需要在接下来的最多 2-3 天内开始这个项目,所以我没有太多时间阅读有关该主题的长书。这是我到目前为止所学到的:

  • 在我的开发机器上设置 Tomcat 以使用 Eclipse
  • 了解 servlet 的基础知识,doPost()doGet()init() 方法等
  • 构建一个显示 HTML 页面的迷你 MVC 应用程序,让您从下拉列表中选择一些内容,当您点击提交时,它会通过 doPost() 函数中的 request.getParameter() 检索您提交的值,然后转发到 JSP显示您选择的值的页面。

我认为以下是我需要学习的几件事:

  • 如何访问/使用数据库
  • 会话和 Cookies
  • 可能更多关于 JSP 页面的语法。

似乎有数百个关于 Java Web 开发的主题我一无所知。但我没有时间学习所有内容。我需要有人指出我需要学习的任何其他重要内容,以便使用 Java 和 Google Web Toolkit 构建这个网络应用程序(可能有 20 个屏幕)。

另外,我来自CodeIgniter 背景,这是一个 PHP 中的 MVC 框架,它使表单验证、会话管理(它使用数据库会话)、分页和此类常见任务变得非常容易。如果 Java 中有类似的轻量级框架可以处理此类事情,请同时提及。

谢谢。

【问题讨论】:

    标签: java jsp tomcat servlets


    【解决方案1】:

    您应该跳过基本的 servlet 并使用 Web 框架,从 Struts + Tiles(很容易掌握 - 最多几个小时)到 Spring 等。在你的情况下,我也会使用 Hibernate 进行数据库抽象 - 你不要在这么短的时间内跟上 JDBC 的速度。

    【讨论】:

    • 我非常喜欢Hibernate,但我不确定它是否适合java初学者。通过 jdbc 的简单 sql 可能是更好的选择。
    • 是的,我认为问题在于您根本无法在他提议的短时间内将 J2EE 学习到一个合格的标准。 JDBC 总是抛出奇怪的怪癖,但如果他知道 SQL,它可能确实是最好的。但是他应该阅读连接池等等。
    • 好建议。我会说选择 Spring 而不是 Struts,然后直接使用 Hibernate 模板。
    • 我同意 Web 框架的建议,但这只是因为时间框架非常有限,并且需要“昨天”变得高效。否则,我建议也学习基础知识。
    【解决方案2】:

    有很多不同的 Java Enterprise 技术,很难知道从哪里开始。如前所述,head first JSP & Servlets 这本书非常棒。我目前正在开发一个多年前仅使用 Servlet 制作的企业应用程序。随着时间的推移,我们已经迁移到 JSP,但我们没有使用任何较新的框架。因此,尽管过时了,但它肯定是一种有效的方法。

    关于 java 的事情是,大多数企业开发是一堆不同技术的结合。例如,您可以使用 JSP 为带有 Servlet 后端的视图创建应用程序,为您的 DB 连接使用 Hibernate,为您的 XML 使用 JDOM,为您的测试框架使用 JUnit,为您的日志记录框架使用 Log4j 或 AspectJ,使用 Lucene 进行搜索,用于部署的 JBoss(并且部署可能非常重要)等等等等。在接下来的 3 天内,您不会出去学习所有这些技术。

    我的建议是(如前所述)选择一个框架,有很多可供选择的框架,例如 Tapestry、JSF、Wicket、Struts 等,它们将抽象出许多底层技术。您选择的任何 Java 技术都会有一个愿意提供帮助的优秀社区。​​p>

    另一件需要考虑的事情是,因为您似乎急于让事情正常运行,所以(至少在我看来)Java 不是一种用于构建事物的 FAST 语言。它非常冗长,除非您掌握良好的 Java 网页设计的细微差别很容易让自己陷入困境。也许您应该查看 JVM 上可用的其他一些技术(以便您拥有所有可用的 Java 库),例如 Groovy。

    Groovy 允许您使用 Java 语法(如果您选择)或动态的类 Ruby 语法进行编程。此外,Grails 几乎是 Groovy 的 Rails 克隆,可以让您立即编写 Web 应用程序。

    无论您选择做什么,祝您好运,欢迎来到 Java Web Apps 的精彩世界。

    【讨论】:

      【解决方案3】:

      首先,我建议您选择Head First Servlets & JSP。它将为您提供 Java Web 开发的一个很好的概述。从他们那里,您将能够更好地选择要使用的 Web 框架。

      【讨论】:

      • 我已经拿到那本书并读完了前 3 章,但是里面有很多我无法在 3-4 天内读完的主题 :)
      • 我明白了。那时我会做的,就是每当我遇到问题时尝试使用这本书。听起来你正朝着正确的方向前进。
      【解决方案4】:

      我会推荐 Matt Raible's app fuse

      它将为您提供使用 mvc 框架以及一些 java 构建工具将您的应用程序连接到数据库的速成课程。 这个App fuse demo 将展示他的进展速度。

      【讨论】:

      • AppFuse 工具为您提供了许多优势。它使用您想要的技术/框架集合为您提供了一个简单、有效的 Web 应用程序。这包括几个不同的前端(struts1/2、wicket)、安全性(acegi)、后端(JPA/hibernate),而且你已经完成了构建。
      【解决方案5】:

      对于基本的简单的基于 Java 的网络应用程序,请遵循以下内容

      1. 安装IDE(如eclipse、netbeans)
      2. 安装 Web/应用服务器(例如 Tomcat/Jboss)
      3. 在 IDE 中配置服务器
      4. 使用 JSP/Servlet 创建新的动态 Web 项目
      5. 学习/开发和运行示例应用程序,其中包括 Spring、Struts、Hibernate、EJB 等先进技术。

      我相信设计比技术更重要,所以要不断学习设计模式。所有主要框架都基于不同的设计模式。

      【讨论】:

        【解决方案6】:

        我建议您先尝试 JSP。 JSP 更简单,因为您不必处理底层服务器技术,至少对于简单的应用程序来说不是。它会让你加快速度。以后随着经验的积累,就可以直接使用servlet了。

        它也很适合您的 PHP 直觉。

        【讨论】:

          【解决方案7】:

          确实,从 Java Web 开发开始并不像 PHP 那样容易,尤其是 CodeIgniter,一个我已经爱上的框架。

          我会推荐 Grails,但首先要选择一本关于该主题的书。我发现为了快速提高工作效率,您需要一个适当的参考资料。我个人使用了 Grails 的权威指南。

          【讨论】:

            【解决方案8】:

            我建议获取Servlet 2.5 Specification 的副本以供参考。这是一本相当不错的读物,对于规范来说并不太枯燥。

            它解释了会话、过滤器、侦听器、线程模型等......

            另外,看看JSP Model 2 architecture (better link),它解释了 servlet 和 JSP 的最佳使用。

            如果您只有几天的时间从头开始学习,我不建议您查看 Struts 或 Spring。一旦您熟悉了 servlet 和 JSP,您就可以查看 Spring MVC 以了解一种支持更轻松的控制器单元测试的方法。

            【讨论】:

              【解决方案9】:

              在接触任何框架之前,您应该更好地学习基本的 servlet 和 JSP 生命周期。这会更好,因为您将很好地掌握内部工作原理。Head First Servlets and JSP 是您应该阅读的书。 .

              【讨论】:

                【解决方案10】:

                我会考虑使用Groovy on Grails。它上手容易得多,并且它有很多你需要内置的东西。 GWT 和 JQuery 一样可以通过插件获得。

                Groovy 的优点在于它基本上是 Java 的超集,具有 Rails 的快速启动速度。

                它将作为 .war 部署到您的 Java EE 应用服务器。

                【讨论】:

                  【解决方案11】:

                  我喜欢 Sam 的书,“在 21 天内自学 J2EE”。很棒的概念参考和基本语法。现在应该也很便宜了。

                  【讨论】:

                  • 答案不完整.. 它只是一个建议
                  猜你喜欢
                  • 2010-12-29
                  • 2022-11-27
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-01-04
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多