拳击帝国论坛

 找回密码
 注册
查看: 1542|回复: 0

换个角度谈JSP和PHP

[复制链接]

99

主题

201

回帖

2112

积分

中量级

Rank: 3Rank: 3

积分
2112
威望
168 威望
精华
1
财富
668 拳币
贡献
1403 贡献
在线时间
0 小时
注册时间
2006-3-9
最后登录
2010-3-2
听众
19
发表于 2007-7-19 00:12:01 | 显示全部楼层 |阅读模式
  最近一段时间,有人老是问:JSP是否要代替PHP?那我们就来了解一下什么是JSP?大家知道JSP是由SunMicrosystem公司与1999、6月推出的最新技术,是基于JavaServlet以及整个java体系的web开发技术,是Servlet2.1API的扩展。利用这一技术可以建立先进,安全和跨平台的动态网站。
  
  JSP与微软的ActiveServerPages兼容,所不同的是它使用类似HTML的标记以及java程序代码段而不是VBScript.当你所使用的网站服务器没有提供本地的ASP支持,可以考虑使用JSP.
  
  JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。后来,sun推出了类似于ASP的同类JSP,把JSPTAG镶嵌到html语句中,这样,就大大和方便了网页的设计和修改。所以说,它和ASP,PHP是完全一样的嵌入型的脚本语言。
  
  从网络的结构来看,一个网络项目最少分为三层:数据层,逻辑层,用户层。
  
  servlet用来写逻辑层,但用来写用户层就很不方便。jsp则主要是为了方便写用户层的,当然也可以写逻辑层。现在有好多人,经常会不自觉的把用户层和逻辑层混在一起。
  
  其实,根据sun自己的推荐,jsp中应该仅仅存放于逻辑层有关的东西,也就是,只放输出html网页的部分。而所有的计算,分析等,统统放在逻辑层,应该放在javabean中,通过jsp调用javabeans,实现两层的整合。
  
  所以,学了jsp,不会用javabean并进行整合,等于没学。所以jsp在本质上和php,asp是类似的一个脚本语言。只不过,它是用java写的。
  
  php在用户层上的表现是有目供睹的,现在唯一的问题就是它缺少一个逻辑层,但这个逻辑层是可以用其它语言来写的,就向COM/DCOM是用VB,VC写的,javabean是用java写的,所以,php不一定非要用某个语言写这个组件,
  
  它完全可以调用其它语言写的组件,用来实现比较复杂的逻辑功能。
  
  不知大家注意到没有,微软提出的三层模型是:用户层用asp,asp+,逻辑层是com/com+,数据层是ado,而sun提出的三层模型是:用户层用jsp,逻辑层是javabean,数据层是jdbc,而php呢,没有以上的部分,这是为什么呢?
  
  这就是因为,它不是有某个公司来制定的,因为它是开放源阿。所以,php将来的发展方向应该是如何做到和用其它组件完美结合的能力,完善与各个数据库有个统一的接口问题。也就是发挥我们在用户端的优势,结合各种组件和数据库,从另一方面到达真正的跨平台,高效率,安全等要求。
  
  其实,我们不难发现,sun开发了三类产品,它们分别是客户端用javaapplect,服务器端用servlet,数据库端用jdbc,但大家也知道,客户端采用applet已经很少了。说明,applet并不成功。也许将来在带宽无限大的时候,也许会真正实现它吧。
  
  另外,说些局外的话,如果微软被分拆,操作系统将战火纷飞,那时,想我们这些软件的开发人员必要找一个通用语言进行开发,到时java会一统天下。而且从微软分出的应用软件公司将成为java的新领导者。目前的java大头sun和ibm都死气沉沉,令人失望。希望新公司能注入新活力。不过,这样会影响java的跨平台,因为要展开java标准大战。
  
  最后,要说的是,jsp并不能完全代替php。
文才武略 铸成不世帝国    龙手执笔 写就千秋霸业
您需要登录后才可以回帖 登录 | 注册

本版积分规则

站点统计|小黑屋|手机版|拳击帝国 ( 冀ICP备19037162号-1 )

GMT+8, 2025-2-6 01:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表