快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场网址所有平台_龟发之家论坛



在 Internet浩繁网站中,基于Web数据库的动态网站利用相称广泛。基于Web收集数据库的动态网站由一个Web浏览器作为客户端界面,一个数据库办事器用做信息存储和一个连接两者的 Web利用办事器组成。原有开拓动态网站的CGI技巧,跟着Web利用法度榜样的客户端技巧赓续地成长,徐徐被Java Applet、ActiveX控件、DHTML和JavaScript所取代。这些技巧极大年夜葡京娱乐场网址所有平台地改良了用户界面,但当它们考试测验做一些深入的事情时,开始碰到客户端浏览器不兼容、办事器包袱过重、造访速率下降以及安然性等问题。JSP技巧便是办理这些问题的一把金钥匙,本文主要评论争论在应用JSP技巧构建动态网站的历程中的一些技巧问题。

JSP技巧

JSP是基于Java Servlet以及全部Java体系的Web开拓技巧,使用这一技巧可以建立先辈、安然、快速和跨平台的动态网站。在传统的网页HTML文件中加入Java法度榜样片段和JSP标记,就构成了JSP网页。Web办事器接管到造访JSP网页的哀求时,首先履行此中的法度榜样片段,然后将履行结果以HTML款式返回给客户。法度榜样片段可以操作数据库、从新定向网页以及发葡京娱乐场网址所有平台送 E-mail 等等,这便是建立动态网站所必要的功能。所有葡京娱乐场网址所有平台法度榜样操作都在办事器端履行,收集上传送给客户真个仅是获得的结果,对客户浏览器的要求很低。如图1所示,在用户连接JSP网站时,用户哀求网页,JSP页面独自相应哀求,将用户对网页的哀求转化为对数据的哀求,经由过程JavaBean处置惩罚哀求并将返回的数据封装成HTML页面返回给用户。

JSP有许多上风:

1. 法葡京娱乐场网址所有平台度榜样写一次,到处可以运行。JSP在设计时,充分斟酌到利用平台的无关性。依附于Java的可移植性,JSP获得今朝许多盛行操作平台的支持,可在Apache、NetScape、IIS等办事器上履行。

2. 履行速率快。JSP页面只需编译一次转化为Java字节代码,其后不停驻留于办事器内存中,加快了对JSP页面的相应速率。若不斟酌JSP页面第一次编译所花的光阴,则JSP的相应速率要比ASP快得多。

3. Java的上风。JSP技巧是用Java说话作为脚本说话的。跨平台、成熟、壮实、易扩充的Java技巧使得开拓职员的事情在其他方面也变得轻易和简单。在Windows系统被狐疑可能会崩溃时,Java能有效地防止系统崩溃。Java说话经由过程供给防止内存透露的措施,在内存治理方面大年夜显武艺。加之,JSP为利用法度榜样供给了更为壮实的意外事故处置惩罚机制,充分发挥了Java的上风。

JSP技巧难点

1. 连接数据库

数据库连接对动态网站来说是最为紧张的部分,在与后端数据库连接时可以采纳ODBC或JDBC技巧。虽然ODBC作为传统的连接数据库的手段是一种选择,然则ODBC有以下致命缺陷,从而使它无法胜任JSP的哀求:

(1) ODBC是C说话实现的API,从Java法度榜样调用本地的C法度榜样会带来一系列类似安然性、完备性、壮实性方面的问题。

(2) 其次,完全正确地实现从C代码ODBC到Java API 翻译的ODBC不会令人知足,由于在Java中没有指针,而ODBC中大年夜量地应用了指针,包括极易掉足的空指针“void *”。

(3) 斟酌到平台移植性,在开拓JSP法度榜样中应用ODBC会带来负面影响,使得代码不得当于移植。

为了使法度榜样在具有安然性、完备性、壮葡京娱乐场网址所有平台实性的同时, 可以方便地移植,采纳JDBC连接数据库更相宜一些。JDBC是一种可用于履行SQL语句的Java API,它由一些Java说话写的类、界面组成,使开拓职员可以用纯Java说话编写完备的数据库利用法度榜样。经由过程应用JDBC,可以很方便地将SQL语句传送到险些任何一种数据库。也便是说,可以不必写一个法度榜样造访Sybase,写另一个法度榜样造访Oracle,再写一个法度榜样造访Microsoft的SQL Server。用JDBC写的法度榜样能够自动地将SQL语句传送给响应的数据库治理系统。

在本地数据库法度榜样应用Microsoft的Access等数据库时,可以应用Sun公司开拓的JDBC-ODBC桥,借用此技巧JSP法度榜样就可以造访带有ODBC驱动法度榜样的数据库。这样既保留JDBC的优点,又可以应用Microsoft供给的ODBC数据源与Access连接。不管对方是何种数据库,只要有ODBC接口就可以直接应用JDBC-ODBC桥与数据库连接,而无需由于后端数据库的改变而篡改响应的法度榜样代码,实现了利用层与数据库层的完美分离。假如必要变后端数据库为MySQL,只需在ODBC数据源中安装MySQL的驱动法度榜样之后,就可以直接应用MySQL数据库了。

2. 内建的组件

在实现网站的时刻,因为客不雅必要,为了方便区分本地局域网用户与远端连上来的用户,并供给响应的权限,可以采纳内建的组件Request来捕获每一个连到办事器上的用户的IP地址,经由过程对照之后给出响应的权限。这样做到本局域网内用户可以应用网站内所有公开的和纰谬外公开的资本。还可以将现有的措施加以改进,将各类IP地址输入到数据库中并且付与不合的IP地址不合的权限,以完备地节制用户应用网站资本。

会话状态保持是Web利用开拓者必须面对的问题。为了懂得用户是否还在线,应用内建的Session组件,经由过程给每个登任命户一个Session变量,可以在用户非正常脱离网站之后,关闭该用户应用的资本,达到节省内存,前进办事器机能的目的。

在JSP中还供给了Cookie类,其构造器有两个参数,分手代表Cookie的名称和值。Cookie类中供给了各类措施设置Cookie的属性,如经由过程setMaxAge措施可以设置Cookie的生计光阴。若生计光阴为负值,代表浏览器关闭Cookie,即消掉; 生计光阴为0,代表删除Cookie; 生计光阴为正数,代表Cookie存在若干秒。可以用Cookie临时保存用户的账号和口令,JSP可随时读取,验证用户的合法性。可以将用户的浏览状态保存在Cookie中,下次用户再造访网页时,由JSP向浏览器显示个性化页面。

3. 转换Unicode编码

在许多JSP页面的调试历程中都碰着过因为汉字编码与Unicode编码转换引起的问题,如在浏览器中看到的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字符集显示,就能够正常显示汉字了。

您可能还会对下面的文章感兴趣: