当您想创建第一个 java 网络应用程序时该怎么做?

What to do when you want to create your first java web application?

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

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

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

jspservlets

那么框架呢

和构建工具

java Web 应用程序如何存储在服务器上?

我想做的就是从简单开始,然后从那里开始。但我真的需要一些指导,说明什么是最好先学的以及为什么。

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

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

框架

服务器

数据库

读物和教程

没有万能的答案,全看你的需要了。

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

对于服务器你应该看一个问题:
如果您需要的不仅仅是 Java EE (Java EE 6 Web profile vs Java EE 6 Full Platform) 的 Web 配置文件,您还需要像 Glassfish 或 JBoss(WildFly) 这样的应用程序服务器,因为 Tomcat 不提供具有完整的 Java EE 配置文件。否则你应该找到足够的关于它们的文档。我个人使用 JBoss 7.x / WildFly 8 从来没有出现过无法挽救的问题。

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

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

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

至于如何部署 Web 应用程序,您通常将它们打包(例如 WAR - Web 应用程序存档)然后删除它们在你服务器的部署文件夹中.

为了让它简单上手并慢慢消化,我建议 基本的 hello world web 应用程序使用 Spring 网络 MVC, Netbeans 作为 IDE, Tomcat 7 作为你的服务器。

然后您可以跳到数据库集成,然后探索休眠。 对于数据库,您可以使用 MySQL.

相关链接:

瓦丁

成为 Java-based 网络应用程序开发人员的另一种途径是使用 Vaadin

有两个版本:

  • 一个 Java-based server-side 网络应用程序框架(适用于 Java 程序员)
  • Web Components 兼容片段(针对 Java 脚本程序员)

第一个适用于 Java-savvy 想要开发 professional-looking 复杂 "single-page" 网络应用程序 而无需了解网络技术 的开发人员(HTTP、HTML、CSS、DOM、JavaScript、Ajax、Comet、Push、WebSocket 等)。所有这些 web-standards 技术都在运行时使用,但是 behind-the-scenes,对作为 Java 程序员的你来说是透明的。

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

当用户单击其中一个按钮或在其中一个字段中键入内容时,您的 server-side 上的 Java 代码 运行 会自动收到该事件的通知。您的代码可以通过 运行 业务逻辑做出反应,将数据保存到数据库,连接到 Web 服务或其他数据 source/sink…所有这些都在 server-side 上执行,而 client/browser 没有任何参与=].

Vaadin 在内部实现为 Java Servlet. It runs on any web container with Servlet technology, such as Apache Tomcat and Eclipse Jetty. You may choose to selectively add libraries from Java EE to that container. Or you may choose to use a full-blown Java EE server such as Glassfish. If you like CDI/Spring,Vaadin 也可以使用它。