学了一两年的web应用,最近重新拾起以前的概念记忆一下,下一篇记录servlet规范。
一:web服务器
JCP(Java Community Process) Java技术规范制定与更新的国际组织。主要维护规范包括:J2ME,J2SE,J2EE,XML等。其中的J2EE企业级开发Java规范。标准规范包括:servlet,jsp,jdbc,xml,jta,javamail等。在Java中规范就是接口!这一点很重要!
WEB服务器就是对Java规范提供全部或者部分支持,也就是WEB服务器实现部分或全部接口。
常见的WEB服务器:
1:Tomcat: Apache组织提供的一个免费的小型的服务器软件,用Java编写,实现了Servlet和Jsp规范。
2:Weblogic:Bea公司的一个收费的大型的服务器软件,后被oracle收购,支持J2EE所有的规范。
3:WebSphere:IBM公司的一个收费的大型服务器软件,支持所有的J2EE规范。
4:JBoss:是一个基于J2EE的开放源代码的应用服务器,JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包含支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
下图可以清晰的表示出,为什么我们Java写的web项目可以部署到上述服务器中。
二:weblogic,tomcat对比
1:由weblogic,tomcat实现的规范可知,weblogic更加强大。weblogic是j2ee的应用服务器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其他如JAVA编辑等工具,是一个综合的开发及运行环境。WebLogic应该是J2EE Container(Web Container + EJB Container + XXX规范)!关键是收费的。
2:tomcat只能算是web容器,它只实现了Jsp和servlet规范,不支持EJB,不过Tomcat配合Jboss和apache可以实现j2ee应用服务器功能。免费的。
三:EJB简单介绍
百科上说:企业级JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。说白了EJB就是把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了。
实现的技术:
EJB 是运行在独立服务器上的组件,客户端是通过网络对EJB 对象进行调用的。在Java中,能够实现远程对象调用的技术是RMI,而EJB 技术基础正是RMI。通过RMI 技术,J2EE将EJB 组件创建为远程对象,客户端就可以通过网络调用EJB 对象了。