JSP是Java Server Page,是一种动态网页技术标准。J2EE是Java 2 Enterprise Eidtion,它们是Sun公司建立在Java语言上的一种服务器端的编程技术,简单来说,它是用来动态生成网页的一种技术,现在的主要对手是微软主推的ASP.NET。
JSP和J2EE的关系简述
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服务器的特殊支持)他们又有统一的一面。
JSP和J2EE的技术范围
其实J2EE技术的范围是一个很大的,EJB是J2EE最核心的技术。EJB的优势是它通过J2EE服务器的支持(所有的J2EE服务器都必须支持EJB的特性,最有名的是BEA公司的WebLogic和IBM公司的WebSphere),以最简单的方式实现了事务,分布式部署等复杂处理,而且实体Bean,消息Bean,会话Bean(名字可能记错了,呵呵)三各种EJB各有"神通"。
可以这么说,EJB之所以能以简单的代码实现高级的复杂的功能,是因为它站在了J2EE服务器的肩膀上。好的EJB完全可以作为商业软件出售。
基本上,JSP用于让www服务器产生出内容可以变化的网页文档和对用户提交的表单数据进行处理,例如,显示留言内容,留言内容总是在增加的,所以,传递给用户浏览器的网页文件内容是需要改变的,这就是jsp来实现的。将用户留言插入到数据库中,也是JSP来实现的。
J2EE用于开发大型的商业系统,例如,你在各个银行之间的取款,存款,银行之间要互通有无,执行存取款的记录操作,还要进行安全性检查,不能谁都可以来查帐,还要考虑网络断线等问题。
小结:
Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。