JSP动态网页制作_第1页
JSP动态网页制作_第2页
JSP动态网页制作_第3页
JSP动态网页制作_第4页
JSP动态网页制作_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSP动态网页制作技术

JavaServerPages(JSP)是一种结合了跨平台与跨网站服务器机制,以Java为主的技术来产生动态网页。JSP与微软的ASP(ActiveServerPages)相容,但它是使用类似HTML的标签以及Java代码片段而不是VBScript。当你所使用的网站服务器没有提供本地ASP支援,也确实是Apache或Netscape服务器时,你能够考虑使用JSP。尽管你能够取得这些服务器的ASP附加配备程序,但价格相当昂贵,而目前Sun并没有对你所要的JSP组件收取费用(尽管Sun以后有可能会收费)。对於Solaris与Linux以及Windows,这些组件也都专门容易取得。

请不要将JSP与服务器端的JavaScript混为一谈。网站服务器会自动将以JSP写成的Java代码片段转换成Javaservlets。而许多先前必须以Perl手写程式或服务器特定的API(如ASP)操纵的功能也都可透过JSP来自动化处理。

现在就让我们开始动手关心你建立一个可执行JSP范例网站。

一、如何安装好你的机器来使用JSP

你将需要Java2软件开发工具(JSDK),它原来的名称是Java开发工具(JDK)以及JavaServer网站开发工具(JSWDK),Tomcat,或是其他支援JSP的网络服务器。Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用。

假如你想要在你目前的网络服务器上使用JSP,但服务器本身并不支援JSP与Javaservlets,你能够试试看Allaire的Jrun,它的作用就像是针对Netscape企业版与FastTrack服务器、微软的网络资讯服务器(IIS)与个人网络服务器(PWS)、Apache、以及其他服务器的网络服务器附加设备。你也能够使用Apache网络服务器的Java版本,最新的JSWDK里有提供。

1、下载与安装你需要的组件

目前发表的1.2.2-001,JSDK可下载的版本是以可安装的压缩文档形式。下载的文件大约是20MB,可提供完整的Java进展环境,让你能建立利用标准API为核心的Java解决之道。然而,你的网络服务器需要应用到JSP的唯一一件事是Java编译器。要让网络服务器明白编译器的位置,将环境参数JAVA.HOME设到JSDK的安装目录。假如你是在Windows上安装同时同意预设目录,将这行代码setJAVA.HOME=C:\1.2.2加到你的autoexec.bat文件同时重新开机。在安装好JSDK之後,下载同时安装JSWDK或beta版的Tomcat,以Java为主的Apache网络服务器。安装在哪里并不重要,重要的是你能够找到它。一般而言,它会放在上层目录,这种方式能够让你取代JSWDK或JSDK的网络服务器,不需要移动其他的网络服务器。在你安装好那个文件之後,你就能够预备使用JSP了。

在你正确的安装JSWDK之後,执行startserver指令来启动网络服务器,预设通讯口为8080。要看你在启动服务器之後是否有正确的安装工具,你能够载入范例JSP文件中的任何一个(http://localhost:8080/examples/jsp/)。假如你能够成功的执行一个范例文件,你能够明白你差不多正确的设定好软件了。假如你在启动服务器的操纵台视窗看到错误讯息,那麽你需要解决那个问题。最常发生的问题是没有设定(或者不正确设定)环境参数JAVA.HOME。要检查目前的环境设定,在DOS模式下键入set。

2、开始解释JSP语法之前,先建立一个显示目前日期与时刻的快速网页同时将它储存成sample.jsp:

<html>

<head>

<title>FirstPage</title>

</head>

<body>

<H3>Todayis:

<%=newjava.util.Date()%>

</H3>

</body>

</html>.

将那个文件与你所有的HTML与JSP网页放在你JSWDK安装目录下的网页目录里.你能够在http://localhost:8080/sample.jsp下载此页.当你第一次参观那个网页时,网站服务器会将JSP翻译成Javaservlet代码,那你就会看到目前的日期与时刻.

现在你差不多下载,安装,同时架构好环境,你差不多预备好要了解JSP语法与建立你自己的JSP为主的解决之道.

二、JSP语法的差不多原理

安装之後,接下来我们要讨论JSP的语法.假如要偷懒,你能够下载语法卡,假如你不熟悉Java的程序设计,你可能会想要参考Sun的使用手册;然而,网站建立者不应该做太多的Java使用程序,除了几个函数式之外,出现在你JSP网页上的Java程序码应该将它减到最少。

记住这点之後,现在让我们先来看看JSP的编译器指引与指令元件,之後我们将解释JavaBeans与内部物件.JSP编译器指引与指令元件有五种型态.JSP1.0之後,大部分的JSP是包含在以<%作为开始%>作为结束的单一标签里,新的JSP1.1规格差不多发表了,它同时也与XML相容。

1、JSP的编译器指引与指令元件

编译器指引<%@编译器指引%>

预定义<%!预定义%>

运算式<%=运算式%>

程序码片段/小型指令<%程序码片段%>

注解<%--注解--%>

2、编译器指引

JSP的编译器指引是针对JSP引擎。它们并可不能直接产生任何看得见的输出;相反的,它们是在告诉引擎如何处理其他的JSP网页。它们永久包含在<%@?%>标签里。两个要紧的指引是page与include。我们可不能讨论taglib编译器指引但它能够在JSP1.1里用来建立自订标签。

你几乎能够在你所有的JSP网页最上面找到page编译器指引。尽管这不是必须的,但它能够让你指定到那儿能够找到支持的Java类不:<%@pageimport="java.util.Date"%>,当发生Java问题的事件时应该将信息传送到那儿:<%@pageerrorPage="errorPage.jsp"%>,以及你是否要为使用者治理通话期的通信,可能存取多个网页(稍後在JavaBeans里会有更多通话期的讨论):<%@pagesession="true"%>。

include编译器指引让你将你的内容分成几个可治理的元件,就像那些有表头或注脚的网页。所包含的网页能够是固定格式的HTML网页或者是JSP内容的网页:

<%@includefile="filename.jsp"%>。

3、JSP预定义让你定义网页层的参数,来储存信息或定义支持的函数式,让JSP网页的其余部分能够使用。假如你发觉自己有太多的程序码,你最好将它们放在不同的Java类不里。你能够在<%!?%>标签里找到预定义。记住要在参数预定义的後面加上分号,就跟任何有效的Java叙述的形式一样:<%!inti=0;%>。

4、JSP里有运算式,评估运算式的结果能够转换成字串同时直接使用在输出网页上。JSP运确实是属於<%=?%>标签里,并不包含分号,加引号字串的无用部分:

<%=i%>

<%="Hello"%>。

5、JSP程序码片段或小型指令文件是包含在<%?%>标签里。当网络服务器同意这段请求时,这段Java程序码会执行。小型指令文件能够是原始的HTML或XML,其内部的程序码片段能够让你建立有条件的执行程序码,或者只是一些使用另一块程序码的东西。举例来讲,下列的程序码结合了运算式与小型指令文件,在H1,H2,H3,以及H4标签里显示字串"Hello"。小型指令文件不限於一行的原始程序码:

<%for(inti=1;i<=4;i++){%>

<H<%=i%>>Hello</H<%=i%>>

<%}%>。

注解.

最後一个要紧JSP元件是嵌入式注解。尽管你能够在你的文件里包含HTML注解,假如使用者检视网页的原始码,他们也会看到这些注解。假如你不要让使用者看到你的注解,你能够将它放在<%--?--%>标签里:

<%--针对服务器端的注解--%>。

三、JSP与JavaBean

尽管你能够在小型指令档里放入一大块的代码,然而大多数的Java代码是属於能够重复使用的元件,称为JavaBean。JavaBean就跟ActiveX操纵项一样:它们提供已知的功能,同时是为了可随时重复使用的目的而设计的。

JavaBean的¤值在於它能够经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人确实是JavaBean,而他的姓名,社会福利安全号码,以及住址能够是特性。对於JSP网站,差不多上你是将'JavaBean'动态的连接到你的网站。

假设JavaBean是在建立网站之前建好的,你要做的第一件事是告诉JSP网页它所需要使用JavaBean,这工作能够用<jsp:useBean>标签来完成:

<jsp:useBeanid="localName"class="com.jjj.Person"scope="application"/>.

<jsp:useBean>标签需要你以id属性来辨识usebean.在那个地点,你提供一个名称让JSP网页来辨识usebean,除了id属性之外,你也必须告诉网页要到哪里去找那个usebean,或者是它的Java类不名称。类不属性提供如何在各式方法之中找到它,最後一个需要的元件是scope属性。有了范围属性的关心,你能够告诉usebean,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程式[scope="application"]来维护它自己的资源。对於通话期范围,你能够专门容易的维护JSP网页里的项目,例如购物车:一旦你宣告了JavaBean之後,你就能够存取它的特性来订购它。要取得一特性的值,使用<jsp:getProperty>标签。有了<jsp:getProperty>标签,你能够指定要使用的usebean名称(从useBean的id栏位),以及你要取得值的特性。接著,真正的值就会放在输出里:

<jsp:getPropertyid="localName"property="name"/>.

要更改JavaBean的特性,你需要使用<jsp:setProperty>标签.对那个标签,你也需要辨认usebean以及要修正的特性,除此之外,你还需要提供新值。假如命名正确,这些能够直接经由规定的格式取得:

<jsp:setPropertyid="localName"property="*"/>;

要从一参数取得,你必须直接命名此特性以及参数:

<jsp:setPropertyid="localName"property="address"param="parameterName"/>;

或是直接以名称与值来设定:

<jsp:setPropertyid="localName"property="serialNumber"value="string"/>or<jsp:setPropertyid="localName"property="serialNumber"value=<%=expression%>/>.

有关JavaBean的最後一点:要让网络服务器能够找到JavaBean,你要将它们的类不文件放在特不位置。对JSWDK而言,最简单的地点是在安装目录里的类不目录,例如\jswdk-1.0.1\classes.

四、JSP的内部物件

最後一个与JSP语法有关的元件叫做内部物件.在JSP小型指令档内,你能够存取这些内部物件来与执行JSP网页的servlet环境相互作用。许多对内部物件的存取应该要简化。然而,这些是范例,它们的存取差不多上可同意的,要完整的利用内部物件设定则要对最新的JavaServletAPI有所了解。

有关内部物件讲明:

request用户端请求,此请求会包含来自GET/POST请求的参数

response网页传回用户端的回应

pageContext网页的属性是在那个地点治理

session与请求有关的通话期

applicationservlet正在执行的内容

out用来传送回应的输出资料流

configservlet的架构物件

pageJSP网页本身

exception针对错误网页,未捕捉的例外

那麽,这些是做什麽的,而你应该如何使用它们呢?差不多上,在你的小型指令档里,你能够使用它们来存取执行JSP代码的servlet。为了幸免谈论到太多ServletAPI的细节,让我们来检验一些你能够利用它们来做的事:不必使用运算式,你能够直接存取内部out物件来列印一些东西到response:

<%out.println("Hello");%>.

不必直接传送参数到JavaBean,你能够藉由请求物件来取得参数的值:

<%Stringname=request.getParameter("name");out.println(name);%>。

当你以JSP写了许多的应用程式之後,假如你建立了JavaBeans或者发觉你自己将太多的Java原始码放入你的JSP档案,你需要建立支援的Java类不,如此能够鼓舞重复使用同时降低JSP网页转换时所需要的时刻。当你需要建立Java类不时,你必须:将JDSWK的安装目录\bin目录加到你的PATH。在你的autoexec.bat档案的PATH行的最後,加入C:\1.2.2\bin;。

以下面的指令将JAR档案复制到\jre\lib\ext目录:

copyc:\jswdk-1.0.1\lib\servlet.jarc:\jdk1.2.2\jre\lib\ext.

五、建立一JSP网站

现在到了将所有的JSP语法放在一起使用的时候了。我们将会建立一个具有输入格式的网站,让使用者来输入股票代号同时获得目前股票的价格(大约延迟20分钟)。假如有错误,则错误网页会显示。

quote.jsp

首先,以这段代码建立quote.jsp同时将它储存在JSWDK安装目录的网页目录里。网页的大部分内容是标准的HTML格式,而JSP代码分散各处。第6行是网页编辑器指引,指示将任何错误传送到errorPage.jsp档案。第13行到15行是小型指示码,差不多上是讲只有当"symbol"参数存在时才显示表格。那个if区段包含了第32行到34行的代码。第17行定义要使用的JavaBean,而第18行从参数载入它的符号特性。第27行到29行指示显示usebean的特性。除了if区段之外,并没有其他的Java代码。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论