想要创建第一个Java Web应用程序时该怎么办?

时间:2015-06-12 12:26:46

标签: java java-ee web-applications

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

首先应该使用哪个ide:

  • 是一个比另一个更好的网站开发还是个人选择?

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

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

jspservlets

怎么样?
  • 很多例子使用jsp其他一些更喜欢servlets现在仍在使用的内容?
  • 我也遇到了一些他们更喜欢freemarker而不是jsp / servlets的网站,但是学习使用jsp和{{1}并不是更好}?

那么框架呢

  • 使用像servlets这样的框架作为初学者还是不是更好?

构建工具

  • 我应该使用springmavenant等构建工具吗?或者在学习曲线上是否过度?

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

  • 我现在使用html css和js的普通网站,你只需将所有文件拖到服务器上即可。但是,如果java webapplication以同样的方式工作呢?

我想做的就是从简单开始,从那里开始建立。但我真的需要一些关于最好先学习的原因和原因。

4 个答案:

答案 0 :(得分:3)

可能是一个过于宽泛的问题,但要保持简单:

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

<强>框架

服务器

<强>数据库

读物&amp;教程

答案 1 :(得分:1)

没有通用答案,一切都取决于您的需求。

如果您已经熟悉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并且从未遇到过无法解决的问题。

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

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

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

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

答案 2 :(得分:0)

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

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

相关链接:

答案 3 :(得分:-1)

Vaadin

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

有两个版本:

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

第一个是精通Java的开发人员,他们希望开发具有专业外观的复杂"single-page"网络应用,而无需了解网络技术(HTTP,HTML,CSS,DOM, JavaScript,Ajax,Comet,Push,WebSocket等)。所有这些Web标准技术都是在运行时使用的,但是在幕后,作为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也可以使用它。