致力于做对您最有帮助的总结网!总结网欢迎您!
当前位置: >  工作总结 >  年度工作总结 > 内容页

小议动态网页开发中jsp技术



随着网络的不断快速发展,基于web数据库的动态网站应用开发也相当的广泛。基于web网络数据库的动态网站是由一个web浏览器和一个数据库服务器构成的,浏览器作为客户端界面,数据库用做信息存储,然后将这两者运用应用服务器连接起来。原有开发动态网站的技术,随着web应用程序的客户端技术不断地发展,逐渐被JavaApplet、Activex控件、DHtml和&avascript等众多新技术所取代。这些技术极大地改善了用户界面,但当它们尝试做一些深入的工作时,开始遇到客户端浏览器不兼容、服务器负担过重、访问速度下降以及安全性等问题。Jsp技术就是解决这些问题的关键所在,这里主要讨论在使用Jsp技术构建动态网站的过程中遇到的一些技术问题。

一、Jsp技术介绍

Jsp是基于Javaservlet以及整个Java体系的web开发技术,利用这一技术建立的动态网站具有先进、安全、快速和跨平台等优点。Jsp网页的制作也非常简单,不需要接收大量的新信息,只要在传统的网页Html文件中加入Java程序片段和Jsp标记,就构成了Jsp网页。web服务器接收到访问Jsp网页的请求时,首先执行其中的程序片段,然后将执行结果以Html格式返回给客户。程序片段中可以操作数据库、重新定向网页以及发送e-mail等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求很低。在用户连接Jsp网站时,用户请求网页,Jsp页面独自响应请求,将用户对网页的请求转化为对数据的请求,通过JavaBean处理请求并将返回的数据封装成Html页面返回给用户。

二、Jsp技术难点

1.连接数据库

数据库连接对动态网站来说是最为重要的部分,在与后端数据库连接时可以采用oDBc或JDBc技术。Java中连接数据库的技术是JDBc(JavaDatabaseconnectivity)。很多数据库系统带有JDBc驱动程序,Java程序就通过JDBc驱动程序与数据库相连,执行查询、提取数据等等操作。虽然oDBc作为传统的连接数据库的手段是一种选择,但是oDBc有以下致命缺陷,从而使它无法胜任Jsp的请求:

(1)oDBc是c语言实现的Api,从Java程序调用本地的c程序会带来一系列类似安全性、完整性、健壮性方面的问题。

(2)其次,完全精确地实现从c代码oDBc到JavaApi翻译的oDBc不会令人满意,因为在Java中没有指针,而oDBc中大量地使用了指针,c语言与java实现的内在差异会带来一些诸如内存泄漏等重大的安全性问题。

要想使程序兼具安全与可移植性,JDBc是首选。JDBc是一种可用于执行sQl语句的JavaApi,它由一些Java语言写的类、界面组成,使开发人员可以用纯Java语言编写完整的数据库应用程序,同时我们也在享用java带来的种种优点。通过使用JDBc,可以很方便地将sQl语句传送到几乎任何一种数据库。也就是说,可以不必写一个程序访问sybase,写另一个程序访问oracle,再写一个程序访问microsoft的sQlserver。用JDBc写的程序能够自动地将sQl语句传送给相应的数据库管理系统。

sun公司还开发了JDBc-oDBcbridge,用此技术Java程序就可以访问带有oDBc驱动程序的数据库,目前大多数数据库系统都带有oDBc驱动程序,所以Java程序能访问诸如oracle、sybase、mssQlserver和msAccess等数据库。在本地数据库程序使用microsoft的Access等数据库时,就可以使用sun公司开发的JDBc-oDBc桥,借用此技术Jsp程序就可以访问带有oDBc驱动程序的数据库。这样既保留JDBc的优点,又可以使用microsoft提供的oDBc数据源与Access连接。不管对方是何种数据库,只要有oDBc接口就可以直接使用JDBc-oDBc桥与数据库连接,而无需因为后端数据库的改变而改动相应的程序代码,实现了应用层与数据库层的完美分离。如果需要变后端数据库为mysQl,只需在oDBc数据源中安装mysQl的驱动程序之后,就可以直接使用mysQl数据库了。

2.网页乱码问题

乱码问题是大家在开发网页中常见的问题,明明在编辑时一切都好,可以真正在执行网页时就会出现浏览器中看到的Jsp页面中的汉字都是乱码、Jsp页面无法正常显示汉字、Jsp不能接收表单提交的汉字、Jsp数据库读写无法获得正确的内容等等问题。这是由于现在大部分具有国际化特征的软件核心字符处理都是以unicode为基础的,在软件运行时根据当时”locale/lang/codepage”设置确定相应的本地字符编码设置,并依此处理本地字符,所以应该在处理过程中实现unicode和本地字符集的相互转换,甚至以unicode为中介的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容。

由于ie默认字符集为gB2312,然而windows默认为gBK,Java则默认为unicode,所以如果不通过一定的转换,直接在gB2312字符集上显示从gBK或unicode得到的页面将是一片乱码。Java语言采用unicode处理字符,但从另一个角度来说,在Java程序中也可以采用非unicode,重要的是保证程序入口和出口的汉字信息不失真。如完全采用iso-8859-1来处理汉字也能达到正确的结果,经过转换之后并将网页字符集强制设为gB2312字符集显示,就能够正常显示汉字了。

三、Jsp的优势:

1.程序写一次,到处可以运行(这是所有java语言的共同优点)。Jsp在设计时,充分考虑到应用平台的无关性。依赖于Java的可移植性,Jsp得到目前许多流行操作平台的支持,可在Apache、netscape、iis等服务器上执行。

2.执行速度快。Jsp页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对Jsp页面的响应速度。若不考虑Jsp页面第一次编译所花的时间,则Jsp的响应速度要比Asp快得多。

3.Java的优势。Jsp技术是用Java语言作为脚本语言的。跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。在windows系统被怀疑可能会崩溃时,Java能有效地防止系统崩溃。Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。加之,Jsp为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。

4、强大的的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均横,到多台Application进行事务处理、消息处理,一台服务器到无数以服务器,Java显示了一个巨人的生命力。

5、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。如果你细心的使用它们会发现比自己第一面看到它们时的功能要强大的多。

四、结论:

根据以上对jsp技术的优势和难点的分析,可知随着网络技术应用的不断发展,jsp必将在此领域大展拳脚。

参考文献:

[1]周慧贞jsp应用开发详解(第三版)电子工业出版社2007

[2]唐有明jsp动态网站开发清华大学出版社2006