将Java作为Web应用程序运行

Rob*_*son 6 java jsp javabeans java-ee

好吧,我知道Java是一种语言,但有人问我是否可以编写一个Web应用程序来与我用ASP.NET编写的Web应用程序进行交互.我正在实现一个Web服务来提供XML,因此它与语言无关.

但是,我并不是百分之百确定是否沿着Java路线走下去很有意义.我有点期待PHP或ASP.NET服务器端代码可能有一些Ajax/JavaScript或者可能是使用JScript的更重的客户端JavaScript程序.

有人可以解释一下webapps的基本Java环境吗?我推断了以下内容 - 我是不是正确的树?

  • 像ASP.NET一样运行的Java称为JSP
  • JavaBeans有点像.NET框架,即它是一个可重用组件库
  • Java EE有点像ASP.NET,因为它是用于在服务器上构建网页的框架
  • Java也可以在客户端上运行,但需要安装Java VM

在客户端上运行Java时,您是否可以使用JavaBeans并且是否存在框架?它还可以使用JScript吗?我不这么认为JScript是JavaScript库.

虽然在服务器上运行Java是可以的,但这是一个相对较小的应用程序,因此Java听起来有点过分.PHP或ASP.NET感觉更合适.

但我认为他们不应该在浏览器中使用Java applet,这会增加不需要的复杂性.

Joa*_*uer 11

让我们尝试定义一些术语(不一定是100%准确,但可以理解)

  • Java:可以是很多东西:语言,JVM,平台,想法,......
  • Java SE:Java标准版:用于运行桌面应用程序的"普通"Java.这以前被称为"Java 2 SE"和"J2SE".
  • Java EE:Java企业版.用于开发Web应用程序和其他更复杂的动物(包含大量组件)的企业级堆栈.这以前被称为"Java 2 EE"和"J2EE".
  • JSP:Java Server Pages.一种允许将HTML/XML内容与Java Scriptlet混合的语言.几乎相当于ASP.NET.
  • Java Bean(注意:不是"JavaBeans"):一种相当轻量级的规范,它只描述了应该如何编写类,以便可以自动发现它们的属性和方法.不要与Enterprise Java Bean(EJB)混淆
  • Enterprise Java Beans/EJB:Java Bean的更大,更复杂的大兄弟.允许您封装应用程序的某些部分.使用非常复杂和繁琐(在最近的版本中稍微好一些,但这种变化似乎已经到来).

JScript是Microsoft的JavaScript方言,与Java没有任何关系.

顺便说一句,JavaScript也与Java没有任何关系.唯一的相似之处是他们名字的前4个字符和语法上的肤浅相似性.

所以基本上:如果他们想编写一个Java应用程序来与你的应用程序接口,它只提供一些XML,那么Java绝对适合这一点.您不需要任何Java EE技术.Java SE绰绰有余.

编辑:请注意,对于(小型)Web应用程序而言,不使用整个Java EE堆栈是一种相当普遍的做法.具体而言,广泛使用的Apache Tomcat不是完整的Java EE服务器(根据Java EE规范的要求),而是JSP和Servlet标准的实现(Java EE的两个核心部分).它仍然可以运行许多有用的Java Web应用程序,因为它们根本不使用Java EE的更复杂功能.