【问题标题】:What to do when you want to create your first java web application? [closed]当您想创建您的第一个 Java Web 应用程序时该怎么办? [关闭]
【发布时间】:2015-08-28 11:05:53
【问题描述】:

所以我想创建我的第一个 Web 应用程序。但是实在是太多太多了,不知道从哪里开始,我不断地从一件事跳到另一件事。

首先是我应该使用哪个 ide:

  • 是一种比另一种更适合 Web 开发,还是只是个人选择?

目前我正在使用 netbeans,我可以看到所有样本都使用 glassfish。

  • 我应该先使用glassfish 吗?或者我应该看看tomcatjboss,...
  • 当我使用glassfish 示例并切换到tomcat 服务器时,某些类不再被识别。每个服务器都有自己的类吗?
  • 当我遵循spring 教程时,它使用了tomcat,但它也可以与glassfish 一起使用吗?
  • 服务器之间的成本差别大吗?

jspservlets

  • 很多例子使用jsp 其他一些更喜欢servlets 现在仍在使用什么??
  • 我也遇到了一些他们更喜欢freemarker 而不是jsp / servlets 的网站,但是学习使用jspservlets 不是更好吗?

那么框架呢

  • 作为初学者,使用spring 之类的框架是否更好?

以及构建工具

  • 我应该使用像maven,ant,gradle这样的构建工具吗?还是在学习曲线上会有些矫枉过正?

Java Web 应用程序是如何存储在服务器上的?

  • 我现在使用html css 和js 的普通网站,您只需将所有文件拖到服务器上,它就可以工作了。但是 java webapplication 的工作方式是否相同?

我想做的就是从简单开始并从那里开始。但是我真的需要一些关于首先学习什么最好以及为什么学习的指导。

【问题讨论】:

  • Java 拥有庞大而多样的生态系统。而且您将要尝试如何将其转化为一组非常多样化的答案:)
  • 这是一个不可能回答的问题——它主要是基于意见的。我会先挑选一本书或教程,然后逐字逐句。如果您正在学习已在 Tomcat 上测试过的 Spring 教程,请遵循该教程 - 您需要了解 Spring,而不是 servlet 容器。你需要读几本书,学习一堆教程,然后你才能做出自己的选择。

标签: java jakarta-ee web-applications


【解决方案1】:

可能是一个过于宽泛的问题,但为了简单起见:

如果是你的第一个应用,但不仅仅是一个小测试:

框架

服务器

数据库

阅读材料和教程

【讨论】:

    【解决方案2】:

    没有通用的答案,这完全取决于您的需求。

    如果您已经熟悉 Java IDE,您可能应该坚持使用它,NetBeans 肯定足以用于 EE 开发。

    对于服务器,您应该查看一个问题
    如果您需要的不仅仅是 Java EE 的 Web 配置文件 (Java EE 6 Web profile vs Java EE 6 Full Platform),您还需要像 Glassfish 或 JBoss(WildFly) 这样的应用程序服务器,因为 Tomcat 不附带完整的 Java EE 配置文件。否则,您应该在其中任何一个上找到足够的文档。我个人使用 JBoss 7.x / WildFly 8,从来没有遇到过无法挽救的问题。

    Servlet 和 JSP 都已经有点过时了,我推荐 JSF,如果你想用干净的代码分离构建一个更大的应用程序。但是了解 Servlet 或 JSP 的基础知识有助于开始 JSF。

    从 Java EE 6 / 7 开始,我建议遵守标准。例如。使用 CDI 或 EJB 而不是 Spring 并且只使用标准 JPA,这样如果您遇到一些麻烦,您可以随时更改您的 JPA-Provider 或 Webserver,而无需进行很多代码更改。 Hibernate 是 JPA 的一个不错的选择,但 EclipseLink 也可以做得很好。
    如果你这样做,你的大部分代码将独立于你选择的服务器。剩下的是配置,它因服务器而异,但在大多数情况下仅在开始时才需要。

    像 Maven 这样的构建和依赖管理工具有很大帮助,但在开始时并不是强制性的。注意:它们可能需要特殊的目录结构,因此最好从骨架项目开始。

    至于如何部署 Web 应用程序,您通常将它们打包(例如作为 WAR - Web Application Archive)然后将它们放入服务器的部署文件夹中

    【讨论】:

    • 很好的答案,现在我有了一些从哪里开始的方向。什么是应该首先学习的。但是你的帖子上有一个问题。您何时需要的不仅仅是网络配置文件。
    • 可能,如果您需要一些网络配置文件中没有的功能:stackoverflow.com/questions/24239978/…
    • 再次感谢您的时间和这个答案。我真的从中学到了很多。
    • 您应该注意,这实际上是基于意见的。但是,如果您从今天开始使用它,我完全建议您使用提供的标准,因为它们已经长大了。
    【解决方案3】:

    为了保持简单开始并慢慢消化,我建议 基本的 hello world web 应用程序使用 Spring Web MVC, Netbeans 作为 IDE, Tomcat 7 作为您的服务器。

    然后您可以跳转到数据库集成,然后在 hibernate 上进行探索。 对于数据库,您可以使用 MySQL。

    相关链接:

    【讨论】:

      【解决方案4】:

      Vaadin

      成为基于 Java 的 Web 应用程序开发人员的另一种途径是使用 Vaadin

      有两个版本:

      • 基于 Java 的服务器端 Web 应用程序框架(适用于 Java 程序员)
      • Web Components-兼容部分(适用于 JavaScript 程序员)

      第一个适用于精通 Java 的开发人员,他们希望开发具有专业外观的复杂 "single-page" Web 应用程序无需了解 Web 技术(HTTP、HTML、CSS、DOM、JavaScript、 Ajax、Comet、Push、WebSocket 等)。所有这些网络标准技术都在运行时使用,但在幕后使用,对 Java 程序员来说是透明的。

      对于 Vaadin,Java 开发人员说“我想要一个布局来在屏幕上保存一些小部件,这些小部件应该是这个按钮、那个按钮、几个带标签的文本字段和一个数据网格。”。 Vaadin 在运行时自动生成必要的 HTML+CSS+JavaScript+等。在客户端(任何常见的 Web 浏览器)上远程呈现该 UI。

      当用户单击其中一个按钮或在其中一个字段中键入时,您在服务器端运行的 Java 代码会自动收到该事件的通知。您的代码可以通过运行业务逻辑、将数据保存到数据库、连接到 Web 服务或其他数据源/接收器来做出反应……所有这些都在服务器端执行,无需客户端/浏览器的任何参与。

      Vaadin 在内部实现为 Java Servlet。它可以在任何带有 Servlet 技术的web container 上运行,例如Apache TomcatEclipse Jetty。您可以选择选择性地将 Java EE 中的库添加到该容器。或者您可以选择使用成熟的Java EE 服务器,例如Glassfish。如果你喜欢CDI/Spring,Vaadin 也可以使用它。

      【讨论】:

        猜你喜欢
        • 2023-03-23
        • 2011-03-28
        • 1970-01-01
        • 2014-02-26
        • 1970-01-01
        • 1970-01-01
        • 2020-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多