来源:sunada等http://www.cnblogs.com/sunada2005/p/3575234.html
1、JavaBean
JavaBean是符合某种规范的Java组件,也就是Java类。它必须满足如下规范: (1)必须有一个零参数的默认构造函数 (2)必须有get和set方法,类的字段必须通过get和set 方法来访问。
public class User {
private
long id;
private String name;
public void setId(long id) {
this.id = id;
}
public
void setName(String name) {
this.name=name;
}
public long getId() {
return id;
}
public String getName() {
return name;
}
}
2、JSP
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。简单地说,jsp就是可能包含了java程序段的html文件。
你会发现,这里多了一个JSP Container的东西,然后多了一个转换到名叫xxxServlet的java文件并编译成class类文件的过程。这里就展示出了java服务器的核心部分——Servlet。
3、Servlet
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
它担当Web浏览器(或其他HTTP客户程序的请求),与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web
服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
在通信量大的服务器上,Java
servlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而创建单独的程序,这意味着各个请求的系统开销比较小。简单地说,servlet就是在服务器端被执行的java程序,它可以处理用户的请求,并对这些请求做出响应。
Servlet编程是纯粹的java编程,而jsp则是html和java编程的中庸形式,它更有助于美工人员来设计界面。正是如此,所有的jsp文件都将被最终转换成java
servlet来执行。从jsp到java到class,jsp在首次被请求时是要花费一定的服务器资源的。但庆幸的是,这种情况只发生一次,一旦这个jsp文件被翻译并编译成对应的servlet,在下次请求来临时,将直接由servlet来处理,除非这个jsp已经被修改。
4、J2EE
J2EE可以说指Java在数据库信息系统上实现,J2EE主要是指B/S结构的实现。J2EE又是一种框架和标准。J2EE是一个虚的大的概念,J2EE标准主要有三种子技术标准:WEB技术、EJB技术和JMS,谈到J2EE应该说最终要落实到这三个子概念上。这三种技术的每个技术在应用时都涉及两个部分:容器部分和应用部分,Web容器也是指Jsp/Servlet容器,你假如要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持。Web技术中除了Jsp/Servlet技术外,还需要JavaBeans或Java Class实现一些功能或者包装携带数据,所以Web技术最初裸体简称为Jsp/Servlet/JavaBeans系统。
JavaBeans不属于J2EE概念范畴中,假如一个JavaBeans对象被Web技术(也就是Jsp/Servlet)调用,那么JavaBeans就运行在J2EE的Web容器中;假如它被EJB调用,它就运行在EJB容器中。EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。至此,JavaBeans组件发展到EJB后,并不是说以前的那种JavaBeans形式就消失了,这就自然形成了两种JavaBeans技术:EJB和POJO,POJO完全不同于EJB概念,指的是普通JavaBeans。
J2EE应用系统开发工具有很多:如JBuilder、Eclipse等,这些IDE首先是Java开发工具,也就是说,它们首要基本功能是可以开发出JavaBeans或Javaclass,但是假如要开发出J2EE系统,就要落实到要么是Web技术或EJB技术,那么就有可能要一些专门模块功能(如eclipse需要lomboz插件),最重要的是,因为J2EE系统区分为容器和应用两个部分,所以,在任何开发工具中开发J2EE都需要指定J2EE容器。J2EE容器也称为J2EE服务器,大部分时它们概念是一致的。
J2EE容器分为WEB容器和EJB容器,Tomcat是Web容器,JBoss是EJB容器。
所以你开发的Web应用程序可以在上面两种容器运行,而你开发的WebEJB应用则只可以在JBoss服务器上运行,商业产品Websphere/Weblogic等和JBoss属于同一种性质。
衡量J2EE应用系统设计开发水平高低的标准就是:解耦性;你的应用系统各个功能是否能够彻底脱离?是否不相互依靠,也只有这样,才能体现可维护性、可拓展性的软件设计目标。 为了达到这个目的,诞生各种框架概念,J2EE框架标准将一个系统划分为WEB和EJB主要部分,当然我们有时不是以这个具体技术区分,而是从设计上抽象为表现层、服务层和持久层,这三个层次从一个高度将J2EE分离开来,实现解耦目的。