JSP是Java Server Page,J2EE是Java 2 Enterprise Eidtion,它们是Sun公司建立在Java语言上的一种服务器端的编程技术,简单来说,它是用来动态生成网页的一种技术,现在的主要对手是微软主推的ASP.NET。
JSP应该是属于J2EE的一部分,JSP只是用来动态生成web页面的,jsp文件的后缀是.jsp,和php等技术一样,人们习惯以文件后缀命名这项技术,其实决大部分(可以说是全部)的数据库操作和很大一部分的复杂商业逻辑都是在JavaBean(典型的J2EE使用EJB)或其他的Java类中实现的,所以在网上基于J2EE的,网站的网页后缀都是.jsp。如果说把显示一个网页比喻成用笔在纸上写字给人看的话,理想的J2EE网站应该是中各部分的功能应该是:JSP就是笔的外套(它只是辅助笔芯,写出字来),JavaBean和EJB等就是笔芯(它们是网站的核心,用户是看不到它们的,"笔芯"决定了写出来的字是什么颜色的,好看不好看,书写起来是否流利,也就是说它们决定了整个网站的功能,是否稳定,是否高效,是否安全等),网络和服务器软件就是纸,"纸"好看着就舒服,也就是网页显示的快)。当然这个比喻不是很恰当,J2EE的各个部分是紧密联系在一起的,单纯的JSP也可以不借助JavaBean或EJB来连接数据库以及处理商业逻辑,只是那样效率很低而且不能发挥Java的可重用的优点。其实大家都知道,一个Java程序要运行,就必须被编译生成.class文件,从这一点上说,JSP,Servlet,JavaBean,EJB(它很特殊,需要J2EE服务器的特殊支持)他们又有统一的一面。
其实J2EE技术的范围是一个很大的,我只是接触了一点,连一个完整的EJB也没写过(一般的机子带不起来J2EE服务器),EJB是J2EE最核心的技术。EJB的优势是它通过J2EE服务器的支持(所有的J2EE服务器都必须支持EJB的特性,最有名的是BEA公司的WebLogic和IBM公司的WebSphere),以最简单的方式实现了事务,分布式部署等复杂处理,而且实体Bean,消息Bean,会话Bean(名字可能记错了,呵呵)三各种EJB各有"神通"。可以这么说,EJB之所以能以简单的代码实现高级的复杂的功能,是因为它站在了J2EE服务器的肩膀上。好的EJB完全可以作为商业软件出售。
基于ASP.NET的网站的文件名后缀一般是aspx等,呵呵,没有仔细研究过,就不多说了。