容器的话是java程序运行时所需要的环境,并处理java程序的调用请求和返回合适的结果。比如,一个基于jsp/servlet的程序需要使用servlet容器去运行,例如tomcat。而一个EJB的程序就需要运行在EJB容器中,例如JBoss,weblogic。
容器还要满足一定的规范,如jsp/servlet规范和EJB规范。
jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。
JAR(Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。然而,同Java中其他任何东西一样,JAR文件是跨平台的,所以不必关心涉及具体平台的问题。
涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求Web服务器,以便下载完构成一个“程序片”(Applet)的所有文件。除此以外,每个文件都是未经压缩的。但在将所有这些文件合并到一个JAR文件里以后,只需向远程服务器发出一次请求即可。同时,由于采用了压缩技术,所以可在更短的时间里获得全部数据。
组件我理解应该是一个具有完备功能的服务接口,可以使用组件去构建一个系统。比如要编写一个计算器的系统,你可以找到加法、减法、乘法、除法的组件。只要给他们合适的参数就能为你返回结果。你搭建系统的时候只要使用这几个组件就行了。
框架是构成一类特定软件可复用设计的一组相互协作的类,框架规定了你的应用程序的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程,实现者无须考虑框架层已经实现好的设计,只要按照框架的要求开发就可以了,然后把开发好的东西放到框架中就可以了。框架其实就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。