1
百科论坛
2
1
1
1
2
J sp现状分析
翁明杰 苏州大学计算机科学与技术学院 江苏苏州 215129
【摘 要 】随着网络的盛行 , B / S结构技术发展日新月异 , 从最初的 CGI到 ASP、 PHP, 再到目前流行的 JSP技术 , 经过了一系列的发
展和更新 , JSP作为目前的主流 W EB 技术之一 , 在效率、安全 、跨平台方面都具有一定的优势。
【关键词 】JSP JSP技术 动态网页技术
一 、J sp原理分析
JSP (JavaServer Pages) 是由 Sun M icrosystem s公司倡导、许多
公司参与一起建立的一种动态网页技术标准。JSP技术是在传统的
网页 HTML (Hypertext Markup Language, 超文本链接标示语言 ) 文
件 (
htm l) 中插入 Java程序段 ( Scrip tlet) 和 JSP标记
( tag) , 从而形成 JSP文件 (
jsp) 。
htm,
JSP是 Java Servlet ( Servlet为 W eb开发员提供了一个简单、一
致的机制 , 来扩展 W eb服务器的功能 , 并且和已有的业务系统交
互 ) 的扩展 , 是在服务器端执行的 , 通常返回该客户端的就是一个
HTML文本 , 因此客户端只要有浏览器就能浏览。它将 Java脚本编
写的动态部分嵌入到普通的 HTML 或 XML ( Extensible Markup Lan
guage也是一种置标语言 ) 网页中。一个完整的 W eb应用由三层构
成 : W eb服务器 , Servlet引擎和 J sp引擎。当 W eb应用程序服务器
第一次收到 JSP页面时 , 先由 JSP引擎预处理并转换成 Java Servlet
(也就是把 jsp文件编译成 java class文件 ) , 并且存储在服务器的内
存中 (这就使得在接下来的对该页面的调用中 , 服务器会有非常快
的响应 ) , 经过 servlet引擎运行 , 将执行结果连同 JSP 文件中的
HTML代码一起返回给客户。插入的 Java程序段可以操作数据库、
重新定向网页等 , 以实现建立动态网页所需要的功能。
二 、J sp语言比较分析
早期的动态网站开发技术使用的是 CGI - B IN 接口。这种开发
技术存在着严重的扩展性问题 ———每一个新的 CGI程序要求在服务
器上新增一个进程。如果多个用户并发地访问该程序 , 这些进程将
耗尽该 W eb服务器所有的可用资源 , 直至其崩溃。
为克服这一弊端 , 微软公司提出了 Active Server Pages (ASP)
技术 , 该技术利用 “插件 ”和 AP I简化了 W eb 应用程序的开发 ,
可以产生和运行动态的、交互的、高性能的 W EB 服务应用程序。
ASP与 CGI相比 , 其优点是可以包含 HTML标签 , 可以直接存取数
据库及使用无限扩充的 ActiveX控件 , 因此在程序编制上更富有灵
活性。但该技术基本上是局限于微软的操作系统平台之上。
Hypertext Prep rocessor (超文本预处理器 ) , 即 PHP动态网站开发
技术与 ASP相似 , 也是一种嵌入 HTML 文档的服务器端脚本语言。
PHP在大多数 Unix平台、GUN /L inux和微软 W indows平台上均可以运
行。PHP的优点主要有 : 安装方便 , 学习过程简单 ; 数据库连接方便 ,
兼容性强 ; 扩展性强 ; 可以进行面向对象编程等。但 PHP也存在一些
弱点 , 首先 PHP是一种解释型语言 , 不支持多线程结构。其次 , 缺乏
多层结构支持。再次 , PHP提供的数据库接口支持不统一 , 这就使得
它对于某些电子商务应用来说 , PHP是不适合的。
太阳微系统公司 ( Sun M icrosystem s Inc
) 在 W eb服务器、应
用服务器、交易系统以及开发工具供应商间广泛支持与合作下 , 整
合并平衡了已经存在的对 Java编程环境 (例如 Java Servlets和 Jav
aBeans) 进行支持的技术和工具后产生了一种新的、开发基于 W eb
应用程序的方法 ———JavaServer Pages技术 (JSP) 。相比以上几种语
言 ,
jsp具有一定的优势 :
首先 , JSP具有更高的效率和更好安全性 : JSP在执行以前先被编
译成字节码 (byte code) , 字节码由 Java虚拟机 (Java Virtual Machine)
解释执行 , 比源码解释的效率高 ; 服务器上还有字节码的 Cache机制 ,
能提高字节码的访问效率。第一次调用 JSP网页可能稍慢 , 因为它被编
译成 Cache, 以后就快得多了。同时 , JSP源程序不大可能被下载 , 特
别是 JavaBean程序完全可以放到不对外的目录中。
其次 ,
jsp有更广泛的运行平台 : 能够在任何 W eb或应用程序
服务器上运行 , 从一个平台移植到另外一个平台 , JSP和 JavaBean
甚至不用重新编译 , 因为 Java字节码都是标准的与平台无关的 ;
672
再次 , JSP的组件 ( Component) 方式更方便 , ASP通过 COM
来扩充复杂的功能 , 如文件上载、发送 email以及将业务处理或者
复杂计算分离出来成为独立可重复利用的模块。JSP通过 JavaBean
实现了同样的功能扩充。在开发方面 , COM 的开发远比 JavaBean
复杂和繁琐 , 从本文上述示例中可以看出开发 JavaBean很方便。在
维护方面 , COM 必须在服务器上注册 , 如果修改了 COM 程序 , 就
必须重新注册 , 甚至必须关机和重新启动。 JavaBean 则不需要注
册 , 放在 CLASSPATH包含的目录中就行了。另外 JavaBean是完全
的 OOP, 可以针对不同的业务处理功能方便地建立一整套可重复利
用的对象库 , 例如用户权限控制、 email自动回复等等。
将内容的生成和显示进行分离
三 、J sp技术分析
1
用 JSP技术 , W eb页面开发人员可以使用 HTML 或者 XML 标
识来设计和格式化最终页面 , 并使用 JSP标识或者小脚本来生成页
面上的动态内容。由于核心逻辑被封装在标识和 JavaBeans中 , 所
以 W eb管理人员和页面设计者 , 能够编辑和使用 JSP页面 , 而不影
响内容的生成 。
在服务器端 , JSP引擎解释 JSP标识和脚本 , 生成所请求的内
容 , 并且将结果以 HTML (或者 XML ) 页面的形式发送回浏览器 。
这既有助于作者保护自己的代码 , 又能保证任何基于 HTML的 W eb
浏览器的完全可用性。
可重用组件
2
绝大多数 JSP页面依赖于可重用的、跨平台的组件 ( JavaBeans
或者 Enterp rise JavaBeans组件 ) 来执行应用程序所要求的复杂的处
理 。开发人员能够共享和交换执行普通操作的组件 , 或者使得这些
组件为更多的使用者和客户团体所使用 。基于组件的方法加速了总
体开发过程 , 并且使得各种组织在他们现有的技能和优化结果的开
发努力中得到平衡 。
采用标识
3
W eb页面开发人员不会都是熟悉脚本语言的编程人员。JSP技
术封装了许多功能 , 这些功能是在易用的、与 JSP相关的 XML 标
识中进行动态内容生成所需要的。通过开发标识库 , JSP技术可以
进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己
的标识库 , 这使得 W eb页面开发人员能够使用熟悉的工具和如同
标识一样的执行特定功能的构件来进行工作。
适应平台
4
几乎所有平台都支持 Java, JSP + JavaBeans几乎可以在所有平
台下通行无阻 。从一个平台移植到另外一个平台 , JSP和 JavaBeans
甚至不用重新编译 , 因为 Java字节码都是标准的与平台无关的。
数据库连接
5
Java中连接数据库的技术是 JDBC, Java程序通过 JDBC驱动程
序与数据库相连 , 执行查询、提取数据等操作。 Sun公司还开发了
JDBC - ODBC bridge, 利用此技术 Java程序可以访问带有 ODBC驱
动程序的数据库 , 目前大多数数据库系统都带有 ODBC驱动程序 ,
所以 Java程序能访问诸如 O racle、 Sybase、MS SQL Server和 MS Ac
cess等数据库。
利用 java优势
6
由于 JSP页面的内置脚本语言是基于 Java的 , 而且所有的 JSP
页面都被编译成为 Java Servlets, 所以 JSP页面具有 Java技术的所有
好处 , 包括健壮的存储管理和安全性 , 能够支持高度复杂的基于
W eb的应用。作为 Java平台的一部分 , JSP拥有 Java编程语言 “一
次编写 , 各处运行 ”的特点 。JSP技术很容易整合到多种应用体系
结构中 , 以利用现存的工具和技巧 , 并且能扩展到支持企业级的分
布式应用中。 (上转第 244页 )
1
1
1
1
1
1
理论视野
具有一定风险的工作 , 并喜欢迅速知道自己的绩效情况 , 因此提供
挑战性的工作对这种人有激励作用 ; 权利需求比较强的人喜欢掌握
能影响别人的事物 , 他们喜欢能够建议别人 、使人听从的职位 , 因
此提供权力对这种人有激励作用 ; 隶属需求比较强的人愿意与别人
建立亲密关系 , 并从别人那里寻求关怀和友谊 , 因此在工作群体中
建立融洽的气氛对这种人有激励作用。
三 、激励理论在现代管理应用中需注意的方面
(一 ) 更新观念 、创新制度 , 贯彻以人为本的原则。
在传统组织中 , 是按照这样一种逻辑来组织生产的 : 根据环境
因素来确定组织的发展战略 , 根据环境的发展战略来构建组织的结
构 , 设立相应的职位 , 并赋予一定的职权 , 然后 , 再根据各职位对
人员能力和素质的要求来聘任相应的员工。但这种方式的弊端己经
越来越严重地表现出来 , 即员工是被动地被安排从事某项工作 , 不
能发挥出个人的积极性和创造性 。而在知识经济中 , 知识是最重要
的生产要素 , 人是知识最重要的开发者和载体 , 也是知识转化为生
产力的关键环节 。因而在组织结构的设计与调整中 , 必须贯彻以人
为本的原则 , 充分考虑改善和提升员工的需求 , 促进员工的沟通与
合作 , 激发员工的积极性、创造性。
(二 ) 因人而异进行差别激励
激励的目的是为了提高员工工作的积极性 , 创造一种有效的激
励方法 , 是指导个人努力最好不过的手段。影响工作积极性的主要
因素有 : 工作性质、领导行为、个人发展、人际关系、报酬福利和
工作环境 , 而且这些因素对于不同企业所产生影响的排序不同。企
业要根据不同层次、不同类型和不同特点制定激励制度。比如联想
集团 , 对于 80年代第一代联想人 , 主要培养他们的集体主义精神
和物质生活的满足 ; 进入 90年代 , 则更突出合理有效的激励方案 ,
为他们实现自身的价值创造条件 , 搭建平台 , 从而起到了极好的激
励作用。同时 , 对员工的激励 , 还必须考虑到个体差异 : 例如女性
员工相对而言对报酬更为看重 , 而男性则更注重企业和自身的发
展 ; 在文化方面 , 有较高学历的人一般更注重自我价值的实现 , 既
包括物质利益方面的 , 但他们更看重的是精神方面的满足 , 例如工
作环境、工作兴趣、工作条件等 , 这是因为他们在基本需求能够得
到保障的基础上而追求精神层次的满足 , 而学历相对较低的人则首
先要注重的是基本需求的满足 ; 在职务方面 , 管理人员和一般员工
之间的需求也有不同。因此企业在制定激励机制时一定要考虑到企
业的特点和员工的个体差异 , 这样才能收到最大的激励效力。
(三 ) 多种激励机制的综合运用
有资料显示 , 不同人群对激励表现出不同的需求和个体差异。
30岁以下的青工因自主意识强 , 对工作条件要求高 , 而 “跳槽 ”
(下接第 276页 )
四 、J sp安全分析
JSP得到了越来越广泛的应用 , 并迅速成为系统集成平台的主
流技术之一 。但是随之而来的也引发了一系列的安全漏洞问题 , 如
源代码暴露 、远程任意命令执行等。随着电子商务的出现 , 尤其是
涉及资金支付和认证方面的电子商务 , 安全是第一要考虑的问题 。
JSP源程序不大可能被下
载 , 特别是 JavaBean程序完全可以放到不对外的目录中 ; 基于 Java
的 , 具有 Java的一切安全特性 。
JSP在网络安全方面有其一定的优势 :
但是 , JSP把 Java代码嵌入到 HTML 文档之中 , 为访问外部功
能和可重用对象 , JSP提供了一些用来和 JavaBean组件交互的额外
标记。特别地 , 为了便于动态生成内容和格式 , JSP允许在标记之
内嵌入其他标记 。这些结构都增加了安全问题的复杂性。另外 , JSP
的体系结构相当复杂 , 其中包含许多相互协作的子系统。这些子系
统之间的交互也是安全隐患的根源。目前比较常见的安全问题主要
有 :
①源代码及文件路径暴露。 ②程序脚本的安全漏洞。 ③SQL 语
句引起的安全问题。 ④session对象引起的安全问题。
五 、J sp未来分析
世界上一些大的电子商务解决方案提供商都采用 JSP / Servlet。
442
现象严重 ; 40岁左右的人则比较安于现状 , 文化层次高的职工追
求个人价值的实现 ; 学历相对较低的职工则往往过于重视基本需要
的满足。对此 , 企业可以根据自己的特点采用不同的激励机制 , 例
如可以运用工作激励 , 尽量把员工放在他所适合的位置上 , 并在可
能的条件下轮换一下工作以增加员工的新奇感 , 从而赋予工作以更
大的挑战性 , 培养员工对工作的热情和积极性。日本著名企业家稻
山嘉宽在回答 “工作的报酬是什么 ”时指出 “工作的报酬就是工
作本身 ”, 可见工作激励在激发员工的积极性方面发挥着重要的作
用 ; 其次可以运用参与激励 。通过参与 , 形成员工对企业归属感 、
认同感 , 可以进一步满足自尊和自我实现的需要。我国企业职工参
与企业决策和企业管理的渠道有许多 , 其中 , 职工通过 “职代会 ”
中的代表参与企业重大决策较为普遍。现在荣誉激励的方式在企业
中采用的比较普遍 , 这是一种比较有效的方法 , 在西方的企业中也
普遍采用。例如美国 IBM公司有一个 “百分之百俱乐部 ”, 公司员
工完成他的年度任务 , 他就被批准为 “百分之百俱乐部 ”成员 ,
他和他的家人被邀请参加隆重的集会。结果 , 公司的雇员都将获得
“百分之百俱乐部 ”会员资格作为第一目标 , 以获得那份光荣。这
一激励措施有效地利用了员工的荣誉需求 , 取得了良好的激励效
果 。事实上激励的方式多种多样 , 主要是采用适合本企业背景和特
色的方式 , 并且制定出相应的制度 , 创建合理的企业文化。这样综
合运用不同种类的激励方式 , 就一定可以激发出员工的积极性和创
造性 , 使企业得到进一步的发展。
总之 , 由于激励问题的极端复杂性 , 以及各种激励理论产生的时
代背景、针对的具体问题等都不同 , 因而不能期望一种理论适用于所有
的激励问题。将激励理论运用到人力资源管理当中 , 应紧紧抓住战略性
激励这一核心 , 时时瞄准组织的目标 , 设法满足员工的合理需要 , 调动
他们的积极性 , 这样才能保证组织目标的圆满实现。
参考文献 :
[ 1 ] 欧飞兵杨见奎 浅析几种激励理论在人力资源管理中的运
用 , 上海理工大学学报 (社会科学版 ) , 2005, 27 (1) : 47 - 49
[ 2 ] 戴红文 正确运用激励机制 , 山东行政学院山东省经济管
理干部学院学报 2005, 5: 73 - 74
[ 3 ] 田雪莲 浅谈组织中的公平与激励 , 中国科技信息 2005,
9: 160
[ 4 ] 李清锋 赵玉琳等 浅析企业人力资源管理中的激励机制 ,
煤炭经济研究 , 2005, 7: 80 - 81
[ 5 ] 王重鸣 管理心理学 , 北京 , 人民教育出版社 2000年版
[ 6 ] 陈翠美 建立企业人力资源管理的三大激励机制 , 发展研
究 , 2005, 8: 77 - 78
比较出名的如 IBM 的 E - business, 它的核心是采用 JSP / Servlet的
W eb Sphere; 西方另外一个非常著名的电子商务软件提供商 ,
Inter
shop, 它原来的产品 Intershop1, 2, 3, 4 占据了主要的电子商务软
件份额。国内许多公司 , 企业单位 , 教育机构都广泛采用 JSP来开
发门户网站。例如 : 网易电子邮箱 , 中国研究生网 , 太平洋电脑网
等都是使用 JSP开发 。
经过对目前市场占有率调查、对其他几种语言的比较 、对 jsp本
身技术的分析 、JSP应该是未来发展的趋势。但在 JSP中 , 程序员和
网页设计人员的工作有时候是互相交织、无法区分的。这是因为 JSP
页面中掺入了网页设计人员所不熟悉的一些 JSP标签 , 甚至是晦涩
的 Java代码。要求网页设计人员理解这些标签和代码是不现实的 ,
不符合分工合作的原则。如果能在未来的版本中把这一问题及内存
消耗大的问题解决了 , 我相信 jsp应该更有前途 !
参考文献 :
[ 1 ] 翁卫兵等
[ 2 ] 何雄等
[ 3 ] 天宏工作室译
JSP网络编程技术
JSP网络程序设计
新时代出版社 , 2002
人民邮电出版社 , 2000
JSP程序设计指南
清华大学出版社 , 2002