当前位置:网站首页 > 科技 > 正文

电子商务网站开发工具 (电子商务网站开发教程)

作者:admin 发布时间:2023-02-18 06:34:45 分类:科技 浏览:205 评论:0


导读:电子商务网站开发工具中国电子商务发展存在的问题1)商业模式缺乏创新目前,我国电子商务处于对传统商业模式和国外经营模式的抄袭、模仿的水平上,很少有结合我国国情的创新模式。从...

电子商务网站开发工具

中国电子商务发展存在的问题

1)商业模式缺乏创新

目前,我国电子商务处于对传统商业模式和国外经营模式的抄袭、模仿的水平上,很少有结合我国国情的创新模式。从理论上讲,与传统商务对比,电子商务具有很多优越性。但由于各种原因,网站的爆炸式增长与网站的"烧钱式"亏损形成了巨大的反差。据有关人士分析,电子商务理论上可以节省76.59%的交易费用,但实际上在中国只节省了11.61%的交易费用。在近几年的电子商务热中,我国出现了不少电子商务网站,但大部分电子商务网站走的是"大肆炒作、吸引公众、争取广告、上市圈钱"这样一条路子,由于网上交易量太少,其收入不足以维持日常的运转,大多数网站不得不依靠外来资金的不断投入,因此,2000年下半年以来,在美国纳斯达克指数迅速下降的影响下,我国不少互联网企业出现了生存危机,裁员、倒闭接踵而至。在深刻的教训面前,网络公司要重新考虑自身定位,回归到"以利润为中心"的轨道上。

(2)企业信息化水平很低

企业信息化与电子商务是密不可分的,企业信息化是开展电子商务的基础。企业信息化落后严重制约着电子商务在我国的发展。企业作为电子商务的主体,业务流程和管理过程的信息化是企业开展电子商务的必要前提。目前我国已经上网的企业不到企业总数的1%,在15000家左右国有大中型企业中,大约有10%左右的企业基本上实现了企业信息化,大约有70%左右的企业拥有一定的信息手段或着手向实现企业信息化的方向努力,大约有20%的企业只有少量的计算机。目前在国家工商局注册登记的1000万家左右中小企业中,只有大约百分之几的企业拥有一定的现代化信息手段。

(3)社会信用体系没有形成

在市场经济中,良好的信用对于一个企业的作用是无庸讳言的,可以给企业带来稳定的供应商和客户群以及随之而来的各种额外收益。但是在我国信用体系还没有建立和完善的情况下,企业不讲信用比讲信用经常获利更多。在经济转型过程中,中国的社会化信用体系很不健全,信用心理不健康。交易行为缺乏必要的自律和严厉的社会监督。在网上交易中,如何保护企业的商务秘密?如何确定交易双方的真实身份和可靠性?如何保证交易达成后的不可否认性和不可修改性?如何保证网上支付的安全?网上交易发生纠纷怎么办?如何取得满意的售后服务?等。这些令人担忧的问题没有得到很好地解决在很大程度上影响了我国企业和消费者对电子商务的信心和热情。

(4)电子商务高级人才匮乏

电子商务发展的人才资源尚显不足。电子商务是信息化与传统商务的有机结合,需要大量既掌握现代信息技术又精通现代商贸理论与实务的复合型人才。一个国家、一个地区能否培养出大批这样的复合人才就成为该国、该地区发展电子商务的最关键因素。虽然清华大学、浙江大学等高校开始专门培养电子商务专业人才,但目前而言,具有创新思维的电子商务理论、规划与管理的人才奇缺,人才匮乏是电子商务发展的又一难题。电子商务是一个跨学科的领域,涉及到计算机、经济、管理、法律等各个方面。电子商务人才实际上是一种复合型人才,目前社会上的电子商务培训班,在教学过程中"重电子轻商务"或者"重商务轻电子"。即使能够两头兼顾,也多是一种简单机械的拼凑组合,没有按照这门课程本身的内在规律和实际需求来进行科学系统的设计。以这样的电子商务的教学水平,要培养一批既懂电子商务技术,又有金融、商贸、物流等知识的跨领域的专门人才、复合人才,存在很大难度。另外,目前国内电子商务的教育和培训还缺乏统一的管理和规范。

(5) 电子商务政策法规很不健全

在宏观层面上,政策法规不健全、标准不统一以及商务实践的盲目性等显示我国电子商务发展缺乏统一的指导方针、发展规划和实施战略。电子商务是一项复杂的系统工程。它不仅涉及参加交易的双方,而且涉及不同地区、不同国家的工商管理、海关、保险、税收、银行等部门。这就需要有统一的法律和政策框架以及强有力的跨地区、跨部门的综合协调机构。现行管理体制基本上是计划经济时代的产物,集中表现为条块分割、设置不合理、协调不够、办事效率低下、对新经济适应性较差。虽然,近年来中国已经出台了一些有关政策法规,但总体来看,还是很不健全的,目前针对电子商务的专门立法还是空缺,尤其是在跨国家、跨地区、跨部门协调方面存在不少问题,如国家计委、商务部、信息产业部等政府部门均出台了有关促进电子商务发展的政策报告,但由于侧重点不同且缺乏相互之间的协调,显得政出多门,难以落实。

(6) 电子商务支撑体系还不完善

第一,适应于电子商务的信息基础设施还不完善。近年来,我国的信息基础设施建设进展顺利,成绩显著,在沿海地区的经济发达省市尤为瞩目。但从整体水平和电子商务的要求看,无论是网络技术、网络管理、资费水平、网络速度、网络安全等各个方面都存在较大差距,现有网络建设的整体规划和统一指导不够,存在各自为政、重复建设的弊端。

第二,适应于电子商务的物流配送体系还不完善。实施电子商务的重要条件是完善而富有效率的物流体系,我国在此方面还有很大的发展余地。即使在电子商务高度发达的条件下,单纯依靠网络也无法完成商务活动的全过程。这是因为相当一部分实物商品必须借助于其他运输工具送到企业或消费者手中,才能满足企业和消费者的需求。发达国家的物流配送体系社会化程度高,从事电子商务的企业可以将配送任务交给专门从事快递业务的企业去完成,既安全快捷,费用也比较低廉。在我国,目前物流配送体系尚不完善,快递业务尚未充分开展。不少从事电子商务的企业不得不自办快递业务,不仅无法覆盖较为广阔的区域,而且费用较高,商品配送所花费的时间较长,影响企业效益和消费者网上购物的意欲。

第三,适应于电子商务的金融支付体系还不完善。电子商务的支付与结算需要电子化金融体系的密切配合。目前我国金融服务极其电子化水平比较落后,跨区域、跨银行的电子支付系统还未建立,网上支付、结算等问题很大程度上阻碍了我国电子商务发展的进程。目前绝大部分的电子商务只能做到"在线浏览,离线交易",无法进行"网上支付",这对于发展电子商务是非常不利的。改变传统的支付方式,实现真正的网上支付,不仅是中国电子商务发展的关键,也是企业的迫切需求。

第四,适应于电子商务的信息安全体系还不完善。由于电子数据具有无形化的特征,电子商务的运作涉及多方面的安全问题,如资金安全、信息安全、商业秘密等。它要求电子商务比传统的有纸贸易更安全、更可靠。而目前网上安全技术及其认证机制均不完善,这也是普通消费者对电子商务持观望态度的重要原因。虽然计算机专家在网上银行的安全问题上下了很大功夫,采用了多种措施,然而,网络黑客的攻击仍然使专家们心疼不已。安全问题仍旧是电子商务活动中的关键。这个问题直接关系到电子交易各方的利益,由于种种风险的存在,各方当事人对在网上从事电子交易总不免心存疑虑。同时,网上交易所能带来的巨大机遇和丰厚利润也无时无刻不在吸引着那些喜欢冒险的网络入侵者,买方、卖方、银行都必须承担来自外部的风险。

从中国目前电子商务发展的现实情况来看,网络结构复杂,不同行业、不同网络之间不能互联互通,各种资源难以充分共享,网络应用落后于网络技术的高速发展,传统企业难以适从信息技术的快速发展。因此,要走有中国特色的电子商务发展道路,在"应用主导,面向市场;网络共建,资源共享;技术创新,竞争开放"的指导方针的指引下,制定符合中国国情的电子商务发展框架,规划中国电子商务整体战略和实施措施;建立符合国际规范的信息交换技术标准和规范,自主研究开发电子商务相关技术和产品;建立、健全相关法律和法规,为中国电子商务的跨越式发展提供一个良好的产业环境,全面、积极、快速地推进中国电子商务产业化发展。

(1) 联合政府和企业的力量

电子商务是一项宏大的系统工程,必须联合政府和企业的力量,从整体上推动电子商务发展。充分发挥企业主体,强化政府宏观规划、指导和市场监管,积极创造有利于电子商务发展的外部环境。要充分发挥政府的宏观规划和指导作用,加强政府有关部门之间的相互协调,保障电子商务有关政策、法规和标准的连续性和一致性,为电子商务创造良好的、宽松的经营环境,同时又要避免由于过度的行政干预而阻碍电子商务的发展。由于企业是电子商务的参与主体,必须根据本地区、本行业、本企业的实际情况采取多样化、多层次和多模式的电子商务发展战略,改造传统的业务流程,增强企业的竞争力,同时实现传统产业的改造和升级。

(2)总体规划、分步实施

目前我国尚处于电子商务发展的初期,推动电子商务困难很多,齐头并进不现实,所以在具体实施上应分步进行。首先,在一些管理和经营的特点比较适合电子商务发挥长处的领域中推行电子商务,例如银行、民航、证券、外贸、零售、软件、图书等。在这些领域获得成功、取得经验的基础上再去带动其它的领域。对那些经济比较发达、信息化程度相对较高、对电子商务有需求和有效益的地区,特别是一些有条件的沿海省市以及内地的少数省会城市和中心城市应不失时机地发展各种方式的电子商务,发挥其示范效应,以便向其他地区推广普及。在电子商务和传统商务的结合中逐步扩大电子商务比重,电子商务解决不了的问题先由传统商务解决,这样电子商务的起步和发展将会容易一些。

(3)建立电子商务发展的支撑体系

以国家CA认证中心为基础,尽快建立起安全、可靠、先进的计算机信用网络平台,积极推行网上企业信用查询,强化网上企业信誉;积极发展现代物流系统,鼓励企业多渠道筹集资金,因地制宜,加快建设企业物流网络体系,引进国外先进物流技术和装备,鼓励国内企业与国外、境外物流企业开展各种形式的合资合作,积极发展第三方物流;大力发展各类电子支付和结算工具,鼓励和引导各类银行、工商企业和消费者使用银行卡、电子账户、电子钱包等支付和结算工具,大力推进网上银行业务。

(4)大力推动企业信息化进程

企业信息化的程度对电子商务的发展有很大影响,政府要为企业信息化做好组织工作,制定好发展规划。目前计算机信息网络发展很快,但重复建设、资源浪费严重。进一步探索信息化发展规律是须认真对待的问题。电子商务发展速度超乎我们的想象。这就是新经济,而新经济的核心就是电子商务。要想建立电子商务就先要打破传统的模式。谁抓住时机,谁就是真正的赢家。在经济全球化的趋势的影响,随着国外资金及先进技术的不断涌入,中国企业要扎扎实实地做工作,找到自己的赢利模式,传统企业模式和现在的网络新经济结合起来,提高企业电子商务应用层次,在未来的一两年内中国企业的信息化水平就一定会有大幅度的提高和增长。

(5)努力营造有利于电子商务发展的外部环境

各有关部门要密切配合,通力合作,深入实际,调查研究,采取切实有效的政策措施,加快本地、本系统电子商务的发展。同时尽快制定发展电子商务的地方法规或行政规章,为电子商务的健康发展提供法制保障。应大力扶持社会化、专业化经营的电子商务第三方服务体系。发达的第三方服务体系不仅可以为中小企业电子商务系统的实际应用提供稳定和强有力的支持,还可以创造新的就业机会。

(6) 发展公用电子商务平台

目前企业通过信息化提高竞争力道路上面临着重重困难:企业之间实际情况差距很大,对新经济环境下的信息化化改造认识不一致,实施能力相差悬殊。有些企业花大力气进行信息化改造,但由于关联企业信息化程度的制约,成效并不明显,甚至造成其它企业对信息化进程顾虑重重;有的企业虽然有能力建造本行业的电子商务平台,但却无力推动全行业,更不用说其它行业的发展;现有的电子商务平台运营商不能针对本地区的特点,强化本地区产品的推广。本地区最有电子商务需求的企业看不到实际利益,不能有效地全面推动本地区企业的电子商务进程。建立由当地政府推动和扶持的本地区公用电子商务平台是及时有效解决上述问题的直接方案,而且也是新经济时代政府功能更有效更积极的发挥。

电子商务网站开发教程

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

JSP技术的强势

[编辑本段]

(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

JSP技术的弱势

[编辑本段]

(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

JSP九种内置对象:

[编辑本段]

request, response, out, session, application, config, pagecontext, page, exception.

一.request对象:

该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。

二.response对象:

对客户的请求做出动态的响应,向客户端发送数据。

三.session对象

1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。

从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。

2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。

四.aplication对象

1.什么是application:

服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。

2.application对象常用方法:

(1)public void setAttribute(String key,Object obj): 将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。

(2)public Object getAttribute(String key): 获取application对象中含有关键字的对象。

五.out对象

out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。

六•page java.lang.Object

对应this关键字。JSP网页本身

page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:

Object page = this;

在JSP页面中,很少使用page对象。

七•config

javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

八• exception

java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessageO和printStackTraceO等。

九• pageContext

javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和getServletConfigO等。

//使用pageContext 设置属性,该属性默认在page 范围内

pageContext. setAttribute ("page" , "hello") ;

//使用request 设置属性,该属性默认在request 范围内

request. setAttribute ("request" , "hello");

//使用pageContext将属性设置在request 范围中

pageContext.setAttribute("request2" , "hello" , pageContext.REQUEST_SCOPE);

// 使用session将属性设置在session 范围中

session.setAttribute("session" , "hello"l;

//使用pageContext将属性设置在session范围中

pageContext.setAttribute("session2" , "hello" , pageContext.SESSION_SCOPE);

//使用application将属性设置在application范围中

application. setAttribute ("app" , "hello") ;

//使用pageContext 将属性设置在application 范围中

pageContext.setAttribute("app2" , "hello" , pageContext.APPL 工CATION_SCOPE) ;

JSP动态网站开发技术

[编辑本段]

早期的动态网站开发技术使用的是CGI-BIN接口。开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者。这种开发技术存在着严重的扩展性问题——每一个新的CGI程序要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃。

为克服这一弊端,微软公司提出了Active Server Pages(ASP)技术,该技术利用“插件”和API简化了Web应用程序的开发。ASP与CGI相比,其优点是可以包含HTML标签,可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上更富有灵活性。但该技术基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序结构,所以ASP技术不能很容易地实现跨平台的Web服务器程序开发。

Hypertext Preprocessor(超文本预处理器),即PHP动态网站开发技术与ASP相似,也是一种嵌入HTML文档的服务器端脚本语言。其语法大部分与C、Java、Perl等语言相似,并形成了自己的独有风格,利用该语言Web程序员可以快速地开发出动态网页。PHP在大多数Unix平台、GUN/Linux和微软Windows平台上均可以运行。PHP的优点主要有:安装方便,学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程等。但PHP也存在一些弱点,主要是PHP是一种解释型语言,不支持多线程结构,支持平台和连接的数据库都有限,特别是在支持的标准方面存在先天不足,对于某些电子商务应用来说,PHP是不适合的。

还有一些技术,如Java Servlets技术,利用该技术可以很容易地用Java语言编写交互式的服务器端代码。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员编写这样的Java Servlets,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能需要查询数据库来完成这种请求),然后发送包含HTML或XML文档的响应到浏览器。这种技术对于普通的页面设计者来说要轻易地掌握是很困难的。采用这种方法,整个网页必须都在Java Servlets中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlets。

太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法——JavaServer Pages技术(JSP)。这种动态网站开发技术主要有以下一些特点:

能够在任何Web或应用程序服务器上运行;

分离了应用程序的逻辑和页面显示;

能够进行快速的开发和测试;

简化了开发基于Web的交互式应用程序的过程。

JSP的技术方法

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。

1.将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

2.可重用组件

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

3.采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

4.适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

5.数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

JSP的应用模型

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。

JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。

JSP 2.0介绍

[编辑本段]

新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:

An Expression Language (EL) 允许开发者创建 Velocity-样式 templates (among other things).

更快更简单的创建新标签的方法。

Hello, ${param.visitor} %-- same as: Hello, %=request.getParameter("visitor")% --%

[编辑] 模-视图-控件 模式

为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,升阳公司推荐在JSP文件中使用一种模-视图-控件Model-view-controller 模式。 规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。

JSP2.0样例

[编辑本段]

不管JSP编译器是生成SERVLET的JAVA源码,或者是直接发布二进制码,了解一下JSP编译器是如何把文件转换成一个JAVA SERVLET,都是很有帮助的。例如,看一下如下输入JSP和它最后生成的JAVA SERVLET:

Input JSP

%@ page errorPage="myerror.jsp" %

%@ page import="com.foo.bar" %

html

head

%! int serverInstanceVariable = 1;%

...

% int localStackBasedVariable = 1; %

[table]

[tbody][tr][td]%= "expanded inline data " + 1 %[/tr][/tr]

...

Resulting servlet

package jsp_servlet;

import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

import com.foo.bar; //imported as a result of %@ page import="com.foo.bar" %

import ...

class _myserlvet implements javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {

//inserted as a

//result of %! int serverInstanceVariable = 1;%

int serverInstanceVariable = 1;

...

public void _jspService( javax.servlet.http.HttpServletRequest request,

javax.servlet.http.HttpServletResponse response )

throws javax.servlet.ServletException,

java.io.IOException

{

javax.servlet.ServletConfig config = ...;//get the servlet config

Object page = this;

PageContext pageContext = ...;//get the page context for this request

javax.servlet.jsp.JspWriter out = pageContext.getOut();

HttpSession session = request.getSession( true );

try {

out.print( "html\r\n" );

out.print( "head\r\n" );

...

//from % int localStackBasedVariable = 1; %

int localStackBasedVariable = 1;

...

out.print( "[/tbody][/table][table]\r\n" );

out.print( " [tbody][tr][td]" );

//note, toStringOrBlank() converts the expression into a string or if

// the expression is null, it uses the empty string.

//from %= "expanded inline data " + 1 %

out.print( toStringOrBlank( "expanded inline data " + 1 ) );

out.print( " [/tr][/tr]\r\n" );

...

} catch ( Exception _exception ) {

//clean up and redirect to error page in %@ page errorPage="myerror.jsp" %

}

}

}

[/tbody][/table]


取消回复欢迎 发表评论:

关灯