JSP快速入门 计算机_第1页
JSP快速入门 计算机_第2页
JSP快速入门 计算机_第3页
JSP快速入门 计算机_第4页
JSP快速入门 计算机_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

1.1HTML注释

在客户端显示一个注释.

l.l.l.lJSP语法

<!--comment[<%=expression%>]-->

例子1

<!--Thisfiledisplaystheuserloginscreen-->

在客户端的HTML源代码中产生和上面一样的数据:

<!--Thisfiledisplaystheuserloginscreen-->

例子2

<!--Thispagewasloadedon<%=(new

java.util.Date()).toLocaleString()%>-->

在客户端的HTML源代码中显示为:

<!--ThispacewasloadedonJanuary1,2000-->

描述

这种注释和HTML中很像,也就是它可以在“查看源代码”中看到.

唯一有些不同的就是,你可以在这个注释中用表达式(例子2所示).这个表

达示是不定的,由页面不同而不同,你能够使用各种表达式,只要是合法的就行。

更多的请看表达式

2

1.2隐藏注释

写在JSP程序中,但不是发给客户。

JSP语法

<%--comment--%>

例子:

<%@pagelanguage="java"%>

<html>

<head><title>ACommentTest</title></head>

<body>

<h2>ATestofComments</h2>

<%--Thiscommentwillnotbevisibleinthepagesource--%>

</body>

</html>

描述

用隐藏注释标记的字符会在JSP编译时被忽略掉。这个注释在你希望隐藏或

注释你的JSP程序时是很有用的。JSP编译器不是会对<%--and--96>之间的滔句

进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到

在<照一一%〉之间,你可以任意写注释语句,但是不能使用“__骑>”,如果你

非要使用请用

3

1.3声明

在JSP程序中声明合法的变量和方法

JSP语法

<%!declaration;[declaration;]+...%>

例子

<%!inti=0;%>

<%!inta,b,c;%>

<%!Circlea=newCircle(2.0);%>

描述

声明你将要在JSP程序中用到的变量和方法,你也必须这样做,不然会出错.

你可以一次性声明多个变量和方法,只要以丁结尾就行,当然这些声明在

Java中要是合法的。

当你声明方法或变量时,请注意以下的一些规则:

•声明必须以爪结尾(Scripts有同样的规则,但是表达式就不同了).

•你可以直接使用在<%@page中被包含进来的已经声明的变量和方法,不需要对

它们重新进行声明.

一个声明仅在一个页面中有效。如果你想每个页面都用到一些声明,最好把

它们写成一个单独的文件,然后用<%@include於或<jsp:include>元素包含进

来。

4

1.4表达式

包含一个符合JSP语法的表达式

JSP语法

<%=expression%>

例子

<fontcolor="blue"><%=map.size()%></font>

<b><%=numguess.getHint()%></b>.

描述

表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转

化为字符串,然后插入到这个表达示在JSP文件的位置显示。因为这个表达式的

值已经被转化为字符串,所以你能在一行文本中描入这个表达式(形式和ASP

完全一样).

当你在JSP中使用表达式时请记住以下几点:

•你不能用一个分号(“;”)来作为表达式的结束符.但是同样的表达式用在scriotlet

中就需要以分号来结尾了!查看Scriptlet

•这个表达式元素能够包括任何在JavaLanguageSpecification中有效的表达式.

有时候表达式也能做为其它JSP元素的属性值.一个表达式能够变得很复杂,

它可能由一个或多个表达式组成,这些表达式的顺序是从左到右。

5

1.5Scriptlet

包含一个有效的程序段.

JSP语法

<%codefragment^

例子

<%

Stringname=null;

if(request.getParameter("name")==null){

%>

<%@includefile="error.html"%>

<%

}else{

foo.setName(request.getParameter("name"));

if(foo.getName().equalslgnoreCase("integra"))

name="acura";

if(name.equalslgnoreCase("acura")){

%>

描述

一个scriptlet能够包含多个jsp语句,方法,变量,表达式

因为scriptlet,我们便能做以下的事:

•声明将要用到的变量或方法(参考声明).

•编写JSP表达式(参考表达式).

•使用任何隐含的对象和任何用Wsp:uscBcan>声明过的对象

•编写JSP语句(如果你在使用Java语言,这些语句必须遵从为

Specification}.

•任何文本,HTML标记,JSP元素必须在scriptie:之外

当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内

容,这些显示的内容就被存在out对象中。

6

1.6Include指命

在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句.

JSP语法

<%@include\\\e-,relativeURL'%>

例子

indude.jsp:

<html>

<head><title>AnIncludeTest</title></head>

<bodybgcolor="\vhite">

<fontcolor="blue">

Thecurrentdateandtimeare

<%@includefile="date.jsp"%>

</font>

</body>

</html>

date.jsp:

<%@pageimport="java.util%>

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

Displaysinthepage:

Thecurrentdateandtimeare

Aug30,19992:38:40

描述

<%@include指命将会在JSP编译时插入一个包含文本或代码的文件,当

你使用<驰@include%>指命时,这个包含的过程就当是静态的。静态的包含就是

指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文

件,HTML文件,文本文件。如果包含的是JSP文件,这个包含的JSP的文件中

代码将会被执行。

如果你仅仅只是用include来包含一个静态文件。那么这个包含的文件所执

行的结果将会插入到JSP文件中放<驰@include炉的地方。一旦包含文件被执

行,那么主JSP文件的过程将会被恢复,继续执行下一行.

这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java

代码,但是你得注意在这个包含文件中不能使用

<html>,</html>,<body>,</body>标记,因为这将会影响在原JSP文件中同样的

标记,这样做有时会导致错误.

有一些<%@include%>指命的行为是以特殊的JSP编译条件为基础,比如:

•这个被包含的文件必须对所有客户都有开放且必须f有效,或者它有安全限制

・如果这个包含文件被改变,包含此文件的JSP文件符被重新编译

属性:

•\\\e-'re/ativeURL'

这个包含文件的路径名一般来说是指相对路径,不需要什么端口,协

议,和域名,如下:

"error.jspzzz,/templates/onlinestore.html/,"/beans/calendar.

•〃

JSP

如果这个路径以7“开头,那么这个路径主要是参照JSP应用的上下关

系路径,如果路径是以文件名或目录名开头,那么这个路径就是正在使用

的JSP文件的当前路径.

7

1.7Page指令

定义JSP文件中的全局属性.

JSP语法

<%@page

[language="java”]

[extends="夕de抬gee历s«']

[import=''{package.class\package...."]

[session="true|false"]

[buffer="none|8kb|s/zekb"]

[autoFlush="true|false"]

[isThreadSafe="true|false"]

[info="fed]

[re/ativeURL']

[contentType="/7?//7?e7J<c?e

[;charset=characterSet]"\"text/html;charset=ISO-8859-l"]

[isErrorPage="true|false"]

%>

例子

<%@pageimport="java.util.*,java.lang.*"%>

<%@pagebuffer="5kb"autoFlush="false"%>

<%@pageerrorPage="error.jsp"%>

描述

<%@page%>指令作用于整个JSP页面,同样包括静态的包含文件。但是<96

@page指令不能作用于动态的包含文件,比如<jsp:include>

你可以在一个页面中用上多个<%@page%>指令,但是其中的属性只能用

一次,不过也有个例外,那就是import属性。因为import属性和Java中的import

语句差不多(参照JavaLanguage),所以你就能多用此属性几次了.

无论你把〈a@page%>指令放在JSP的文件的哪个地方,它的作用范围都

是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是

把它放在JSP文件的顶部.

属性

language="java"

声明脚本语言的种类,暂时只能用

extends="夕ac给ge.

标明JSP编译时需要加入的JavaClass的全名,但是得慎重的使用它,

它会限制JSP的编译能力.

\(x\^orx.-'{package.class\package*},..."

需要导入的Java包的列表,这些包就作用于程序段,表达式,以及

声明。

下面的包在JSP编译时已经导入了,所以你就不需要再指明了:

java.lang.*

javax.servlet*

javax.servlet.jsp*

javax.servlet.http*

•session="true|false"

设定客户是否需要HTTPSession.(学过ASP的人,应该对它不陌生)

如果它为true,那么Session是有用的。

如果它有false,那么你就不能使用session对象,以及定义了

scope=session的<jsp:useBean>元素。这样的使用会导致错误.

缺省值是true.

buffer="none|8kb|s/zekb"

buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。

缺省值是8kb

•autoFlush="true|false"

设置如果buffer溢出,是否需要强制输出,如果其值被定义为tru&缺

省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致

一个意外错误的发生.如果你把buffer设置为none,那么你就不能把

autoFlush设置为false.

•isThreadSafe="true|false"

设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够

同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个

请求

•info="fe"

一个文本在执行JSP将会被逐字加入JSP中,你能够使用

Servlet.getServletlnfo方法取回。

•errorPage=''relativeURL'

设置处理异常事件的JSP文件。

•isErrorPage="true|false"

设置此页是否为出错页,如果被设置为true,你就能使用exception对

象.

•contentType="/?7//77e7>pe[characterSet]"|

"text/html;charset=ISO-8859-l"

设置MIME类型。缺省MIME类型是:text/html,缺省字符集为

IS0-8859-1.

8

1.8Taglib指令

定义一个标签库以及其自定义标签的前缀.

JSP语法

<%@tagliburi="URIToTagLibrar/tagPrefi乂'%>

例子

<%@tagliburi="http:〃/tags"prefix="public"%>

<public:loop>

</public:loop>

描述

<%@taglib%>指令声明此JSP文件使用了自定义的标签,同时引用标签库,

也指定了他们的标签的前缀。

这里自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所

以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的

标记,是JSP元素的一部分。JSP元素是JSP语法的一部分,和XML一样有开始

标记和结束标记。元素也可以包含其它的文本,标记,元素。比如,一个jspplugin

元素有<jsp:plugin>开始标记和</jsp:plugin>结束标记,同样也可以有

<jsp:params>和<jsp:fallback>元素.

你必须在使用自定义标签之前使用<%@taglib%>指令,而且你可以在一个

页面中多次使用,但是前缀只能使用一次

属性

•uri="URIToTagLibrar/

UniformResourceIdentifier(URI)根据标签的前缀对自定义的标签进

行唯一的命名,URI可以是以下的内容:

UniformResourceLocator(URL),由RFC2396定义查看

http://www.hut.fi/u/jkorpela/rfc/2396/ful1.html

■UniformResourceName(URN),由RFC2396定义

■一个相对或绝对的路径

•pref'x="tagPrefix

在自定义标签之前的前缀,比如,在<public:loop>中的public,如果

这里不写public,那么这就是不合法的。请不要用jsp,jspx,java,javax,

servlet,sun,和sunw做为你的前缀

9

1.9<jsp:forward>

重定向一个HTML文件,JSP文件,或者是一个程序段.

JSP语法

<jsp:forwardrelativeURL'\"<%=expression%>")/>

or

<jsp:forwardrelativeURC'\"<%=expression%>"}>

<jsp:paramname=''parameterNamd'

\j3\\je-'{parameterValue\<%=expression/>+

</jsp:forward>

例子

<jsp:forwardpage=7servlet/login"/>

<jsp:forwardpage="/servlet/login">

<jsp:paramname="username“value="jsmith"/>

</jsp:forward>

描述

<jsp:forward>标签从一个JSP义件向另一个义件传递一个包含用户请求的

request对象.<jsp:forward>标签以下的代码,将不能执行.

你能够向目标文件传送参数和值,在这个例子中我们传递的参数名为

username,值为scott,如果你使用了<jsp:param>标签的话,目标文件必须是一个

动态的文件,能够处理参数.

如果你使用了非缓冲输出的话,那么使用<jsp:forward>时就要小心。如果在

你使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错.

属性

•page="{re/ativeUPL\<%=expression%>}"

这里是一个表达式或是一个字符串用于说明你将要定向的文件或

URL.这个文件可以是JSP,程序段,或者其它能够处理request对象的文件

(如asp.cgi.php).

<jsp:paramv\arc\e-''parameterNamd'\J3\^e-'{parameter\/alue|<%=expression%>}"

/>+

向一个动态文件发送一个或多个参数,这个文件一定是动态文件.

如果你想传递多个参数,你可以在一个JSP文件中使用多个

<jsp:param>oname指定参数名,value指定参数值.

1.10<jsp:getProperty>

获取Bean的属性值,用于显示在页面中

JSP语法

<jsp:getPropertyname="beanlnstanceNamd'

proper加'propertyNamC'/>

例子

<jsp:useBeanid="calendar"scope="page"class="employee.Calendar"

/>

<h2>

Calendarof<jsp:getPropertyname="calendar"property="username"/>

</h2>

描述

这个<jsp:getProperty>元素将获得Bean的属性值,并可以将其使用或显示

在JSP页面中.在你使用<jsp:getProperty>之前,你必须用<jsp:useBean>创建它.

<jsp:getProperty>元素有一些限制:

•你不能使用<jsp:getProperty>来检索一个已经被索引了的属性

•你能够和JavaBeans组件一起使用vjsp:getProperty>,但是不能与EnterpriseBean—

起使用。

属性

•name="beanlnstanceNamd'

bean的名字,由<jsp:useBean>指定

•3GpepropenyNamG'

所指定的Bean的属性名。

技巧:

•在sun的JSP参考中提到,如果你使用<jsp:getF「operty〉来检索的值是空值,那么

NullPointerException将会出现,同时如果使用程序段或表达式来检索

其值,那么在浏览器上出现的是null(空).

11

1.11<jsp:include>

包含一个静态或动态文件.

JSP语法

<jsp:includepage="{relativeURL\<%=express©佻吓flush="true"/>

or

<jsp:include'{relativeURL\<%=expression%>}"flush="true">

<jsp:paramname=''parameterNamd'vaIue=''{parametervalue\<%=

expression%>}"/>+

</jsp:include>

Examples

<jsp:includepage="scripts/login.jsp"/>

<jsp:includepage="copyright.html"/>

<jsp:includepage='7index.html”/>

<jsp:includepage="scripts/login.jsp">

<jsp:paramname="username"value="jsmith”/>

</jsp:include>

描述

<jsp:include>元素允许你包含动态文件和静态,这两种包含文件的结果是不

同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp

文件中去,而如果这个文件动态的,那么这个被包含文件也会被Jsp编译器执行

(这一切与asp相似)

你不能从文件名上判断一个文件是动态的还是静态的,比'如aspcn.asp就有

可能只是包含一些信息而已,而不需要执行。<jsp:include>能够同时处理这两种

文件,因此你就不需要包含时还要判断此文件是动态的还是静态的.

如果这个包含文件是动态的,那么你还可以用<jsp:param>还传递参数名和

参数值。

属性

page=''{relativeURL\<%=expression%>}"

参数为一相对路径,或者是代表相对路径的表达式.

flush="true"

这里你必须使用flush二"true",你不能使用false值.缺省值为false

<jsp:paramname=''parameterNamd'\J3\\je-''{parameterValue\<%=

expression%>}"/>+

<jsp:param>子句能让你传递一个或多个参数给动态文件

你能在一个页面中使用多个<jsp:param>来传递多个参数,

12

1.12<jsp:plugin>

执行一个叩plet或Bean,有可能的话还要下载一个Java插件用于执行它

JSP语法

<jsp:plugin

type="bean|applet"

code="ciassFUeName'

codebase="dassFUeDirectoryNam^'

[came="instanceNam门

[URIToArchive,..."]

[align="bottom|top|middle|left|richt"]

[he'iqht="d/splayPixelC'、

[displayPixe付〕

[leftRightPixel^']

['space='、topBottomPixelC'、

Ijreve代\or\="JREVersionNumber\1.1"]

[nspluginurl="6//?ZZ<9/7t/^//7"]

[URLToP/ugin"]>

[<jsp:params>

[<jsp:paramr\arc\e-"parameterNamd'

\j3\\jQ=''[parameter\/alue\<%=expression%>}"/>]+

</jsp:params>]

[<jsp:fallback>textmessageforuser</jsp:fallback>]

</jsp:plugin>

例子

<jsp:plugintype=appletcode="Molecule.class"codebase='7html">

<jsp:params>

<jsp:paramname="molecule"value="molecules/benzene.mol"/>

</jsp:params>

<jsp:fallback>

<p>Unabletoloadapplet</p>

</jsp:fallback>

</jsp:plugin>

描述

<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是applet

和Bean),而这种显示需要在浏览器的java插件。

当Jsp文件被编译,送往浏览器时,<jsp:plugin>元素将会根据浏览器的版

本替换成〈object〉或者<embed>元素。注意,〈object〉用于HTML4.0,

vembed>用于HTML3.2.

一般来说,<jsp:plugin>元素会指定对象是Applet还是Bean,同样也会指定

class的名字,还有位置,另外还会指定将从哪里下载这个Java插件。具体如下:

属性

•type="bean|applet"

.将被执行的插件对象的类型,你必须得指定这个是Bean还是applet.

因为这个属性没有缺省值.

•code="dassFUeNamd'

将会被Java插件执行的JavaClass的名字,必须以.class结尾。这个

文件必须存在于codebase属性指定的目录中.

•codebase="dassFUeDirectoryNamd'

将会被执行的JavaClass文件的目录,:或者是路径),如果你没有提供

此属性,那么使用<jsp:plugin>的jsp文件的目录将会被使用.

•name="instanceNamd'

这个Bean或applet实例的名字,它将会在Jsp其它的地方调用

•3rc)c\\\je-'URIToArchive,..."

一些由逗号分开的路径名,这些路径名用于预装一些将要使用的

class,这会提高applet的性能.

•align="bottom|top|middle|left|right"

图形,对象,Applet的位置,有以下值:

bottom

Otop

omiddle

oleft

oright

height="displayPixel^'width="displayPixel^'

Applet或Bean将要显示的长宽的值,此值为数字,单位为象素.

hspace="leftRightPixel^'vspace="topBottomPixel^'

Applet或Bean显示时在屏幕左右,上下所需留下的空间,单位为象

素.

jreversion=''JREVersionNumber\1.1"

Applet或Bean运行所需的JavaRuntimeEnvironment(JRE)的版本.

缺省值是1.1.

nspluginurl="URLToPlugiri,

NetscapeNavigator用户能够使用的JRE的下载地址,此值为一个标

准的URL,如/jsp

iepluginurl="6//?ZToPlugiri'

IE用户能够使用的JRE的下载地址,比值为一个标准的URL,如

/jsp

<jsp:params>[<jsp:paramname=''parameterNamd'value=''{parametervalue\

<%=expression%>}"/>]+</jsp:params>

你需要向applet或Bean传送的参数或参数值0

<jsp:fallback>textmessageforuser</jsp:fallback>

一段文字用于Java插件不能启动时显示给用户的,如果插件能够启

动而applet或Bean不能,那么浏览器会有一个出错信息弹出.

13

1.13<jsp:setProperty>

设置Bean中的属性值.

JSP语法

<jsp:setProperty

name="beanlnstanceNamd'

property=|

property="夕。[^avc\-'parameterNamd']\

property=7vopMy/Wme"value=”{sf历g|<%=expression%>}"

/>

例子

<jsp:setPropertyname="mybean"property="*"/>

<jsp:setPropertyrame="rr)ybean"property="username"/>

<jsp:setPropertyriame="mybean"property="username"value="Steve"/>

描述

<jsp:setProperty>元素使用Bean给定的setter方法,在Bean中设置一个或

多个属性值。你在使用这个元素之前必须得使用<jsp:useBean>声明此Bean.因

为,<jsp:useBean*tl<]sp:setProperty>是联系在一起的,同时这他们使用的Bean

实例的名字也应当相匹配(就是说,在<jsp:setProperty〉中的name的值应当和

<jsp:useBean>43id的值相同)

你能使用多种方法利用<jsp:setProperty>来设定属性值:

•通过用户输入的所有值(被做为参数储存中request对象中)来匹配Bean中的属性

•通过用户输入的指定的值来匹配Bean中指定的属性

•在运行时使用一个表达式来匹配Bean的属性

每一种设定属性值的方法都有其特定的语法,下面我们会来讲解

属性及其用法

name="beanlnstanceNamd'

表示已经在<jsp:useBean>中创建的Bean实例的名字.

property="*"

储存用户在Jsp输入的所有值,用于匹配Bean中的属性。在Bean

中的属性的名字必须和request对象中的参数名一致.

从客户传到服器上的参数值一般都是字符类型,这些字符串为了能

够在Bean中匹配就必须转换成其它的类型,下面的表中列出了Bean属

性的类型以及他们的转换方法.

把字符串转化为其它类型的方法.

Property类型方法

booleanorjava.lang.Boolean.valueOf(Stri

Booleanng)

byteorBytejava.lang.Byte.valueOf(String)

charorjava.lang.Chara2ter.valueOf(S

Charactertring)

doubleorjava.lang.Double.valueOf(Stri

Doubleng)

integerorjava.lang.lnteger.valueOf(Stri

Integerng)

floatorFloatjava.lang.Float.valueOf(String)

java.lang.Long.valueOf(String

longorLong

)

如果request对象的参数值中有空值,那么对应的Bean属性将不会

设定任何值。同样的,如果Bean中有一个属性没有与之对应的Request

参数值,那么这个属性同样也不会设定.

•3Gpe闪:''propertyNamd[param="parameterNamd,、

使用request中的一个参数值来指定Bean中的一个属性值。在这个

语法中,property指定Bean的属性名,param指定request中的参数名.

如果bean属性和request参数的名字不同,那么你就必须得指定

propertyWparam,如果他们同名,那么你就只需要指明property就行

了.

如查参数值为空(或未初始化),对应的Bean属性不被设定.

•propertyNamd'[string\<%=expression%>)"

使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表

达式。如果这个字符串,那么它就会被转换成Bean属性的类型(查看上

面的表).如果它是一个表达式,那么它类型就必须和它将要设定的属性值

的类型一致。

如果参数值为空,那么对应的属性值也不会被设定。另外,你不能在

一个<jsp:setProperty>中同时使用param和value

技巧

•如果你使用了property="*“,那么Bean的属性没有必要按Html表单中的顺序排序

14

1.14<jsp:useBean>

创建一个Bean实例并指定它的名字和作用范围.

JSP语法

<jsp:useBean

id="beantnstanceNamd'

scope="page|request|session|application"

(

class="package,c/as^'\

type-'package.c/3s^'\

c\ass=''package.c/as^'type-'package.c/as^'\

beanName=''{package.class\<%=expression%>}"

type=''package.cias^'

)

(

/>l

>otherelements</jsp:useBean>

)

例子

<jsp:useBeanid="cart"scope="session"class="session.Carts"/>

<jsp:setPropertyrame="cart"property="*"/>

<jsp:useBeanid="checking”scope="session”

class="bank.Checking">

<jsp:setPropertyname="checking"property="balance"

value="0.0"/>

</jsp:useBean>

描述

<jsp:useBean>用干定位或示例一个JavaBeans组件。<jsp:useBean>首先会

试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一

个class或模版中进行示例。

为了定位或示例一个Bean,<jsp:useBean>会进行以下步聚,顺序如下:

1.通过给定名字和范围试图定位个Dean.

2.对这个Bean对象引用变量以你指定的名字命名.

3.如果发现了这个Eean,将会在这个变量中储存这个引用。如果你也指定了类型,那么

这个Bean也设置为相应的类型.

4.如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的

变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被

java,beans.Beans,instantiate示例.

5.如果vjsp:useBean>已经示例(不是定位)了Bean,同时vjsp:useBean>和

</jsp:useBean>中有元素,那么将会执行其中的代码.

<jsp:useBean>元素的主体通常包含有<jsp:setProperty>元素,用于设置

Bean的属性值。正如上面第五步所说的,<jsp:useBean>的主体仅仅只有在

<jsp:useBean>示例Bean时才会被执行,如果这个Bean已经存在,<jsp:useBean>

能够定位它,那么主体中的内容将不会起作用

属性以及用法

•id=''beanlnstanceNamd'

在你所定义的范围中确认Bean的变量,你能在后面的程序中使用此

变量名来分辨不同的Bean

这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在

JavaProgrammingLanguage这个规定在JavaLanguage规范已经写

明。如果这个Bean已经在别的<jsp:useBean>中创建,那么这个id的值

必须与原来的那个id值一致.

•scope="page|request|session|application"

Bean存在的范围以及id变量名的有效范围。缺省值是page,以下是

详细说明:

O你能在包含vjsp:useBean>元素的JSP文件以及此文件中的所有静态

包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文

件为止。

。request-你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕

向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问

Bean,比如request.getAttribute(bean/nstanceName)

Osession-从创建Bean开始,你就能在任何使用相同session的Jsp文件中

使用Bean.这个Bean存在于整个Session生存周期内,任何在分享此Session

的Jsp文件都能使用同一Bean.注意在你创建Bean的Jsp文件中<%@

page%>指令中必须指定session=true

oapplication-从创建Bean开始,你就能在任何使用相同application的Jsp

文件中使用Bean.这个Bean存在于整个application生存周期内,任何在分

享此application的Jsp文件都能使用同一Bean.

•class=''package.das^'

使用new关键字以及class构造器从一个class中示例一个bean.这个

class不能是抽象的,必须有一个公用的,没有参数的构造器.这个package

的名字区别大小写。

•type=''package.das^'

如果这个Bean已经在指定的范围中存在,那么写这个Bean一人新

的数据库类型。如果你没有使用class或beanName指定type,Bean将

不会被示例.package和class的名字,区分大小写.

•beanName=”{pa.gac由ss|<%=expression%>;'package.das^'

使用java.baans.Beans.instantiate方法来从一个class或连续模版中示

例一个Bean,同时指定Bean的类型。

beanName可以是package和class也可以是表达式,它的值会传给

Beans.instantiat3.tupe的值可以和Bean相同。

package和class名字区分大小写.

Apache+ApacheJserv+gnujsp之完全攻略

发信人:sybil(斧子),信区:JAVA

标题:好冷清哈,幸好我自食其力,搞好了jsp,心得如下:

发信站:华南网木棉站(ThuApr1318:03:502000),转信

在Windows2000上安装Apache+ApacheJserv+gnujsp之完全攻略

我的机子上面是Win2k(c:\winnt)+JBuilcier3(d:\JBuikier3;自带jdkl.2在d:\jbuild

er3\java)

1、你要下载apache,apachejserv,jsdk2.0和gnujsp(166.11L136.159有下载)

2、按次序安装apache(d:\programfiles)->jsdk2.0(d:\jsdk2.0)->apacheJserv(d:\

programfiles)0

3、确认apachejserv已能正常工作,其症状是启动apache的时候会有一行提示:

"Apache/1.3.6(win32)Apachejserv/l.lrunning"

4.解开gnujsp,把gnujspl0.jai;servlet-2.0-plus.jar拷至ij/home/httpd/sevlets目录

3.修改jserv.conf,力口入

ApJServAction.jsp/servlets/org.gjt.jsp.JspServlet

ApjServMount/servlets/root

(金行不用动,据说在linux下面这是用来存放编译jsp文件生成的.java和.class,但

在win2k

下面由repositories决定,这行没有用,改了apache动不了。不知这样理解正不正确

,请赐教)

4.修改perties,力口入

wrapper.classpath=d:\jbuilder3\java\lib\tools.jar

wrapper.classpath=d:\ProgramFiles\ApacheJServl.l\servlets\gnujsplO.jar

wrapper.classpath=d:\ProgramFiles\ApacheJServl.l\servlets\servlet-2.0-

plus.jar

wrapper.classpath=d:\ProgramFiles\ApacheJServl.l\ApacheJServ.jar

wrapper.classpath=d:\jsdk2.0\lib\jsdk.jar

5.修改perties,力口入

D:\ProgramFiles\ApacheGroup\apache\jsp是用来存放编译Jsp生成的.class和J

ava文件。

repositories=D:\PROGRA~l\APACHE~l\apache\jsp

AAAAAAAAAAAAAAAAAAAAA

千万不要写成:D:\ProgramFiles\ApacheGroup\apache\jsp

servlet.gnujsp.code=org.gjt.jsp.JspServlet

.gjt.jsp.JspServlet.initArgs=checkciass=true

servk?.gjt.jsp.JspServlet.initArgs=scratchdir=D:\PROGRA~l\APACHE~l\a

pache\jsp

&n

&

.gjt.jsp.JspServlet.initArgs=compiler=builtin-javac-encoding

%encoding%-classpath%classpath%-d%scratchdir%-deprecation%source%

剩下的就是"冲杯茶,打入helbjsp,然后jsp正常运行“。

有你的日子比较“烦恼”,逗你开心让我想破了头脑。

你不时地对我哭闹和撒矫,更多的是在你的蜜缸里浸泡。

没有你的日子我很“贫困潦倒",日子没有色彩只剩下电脑。

活得不耐烦想和别人大吵且大闹,快回来给我拥抱我在向你祈祷

第2章如何在Linux上安装

Apache+ApacheJServ+JSP。

^雷:通多媒飕工作室察J儒斌

Daladin@java.im.shu.edu.tw

本文件^^明如何在Linux上安装、使用Apache、ApacheJServ.JSP,以及取得

本文中提及软醴的相^资源c

2.1.1-s版^磬明

道份文件符遵循GPL方式学娄表。

2.1.2-s戟:if取得

俗SSBft的好,工欲善其事,必先利其器;以下所列悬本文中所提到戟:飕取

得的相^资源;同畤符以安装I嗔序来褊排率欠醴的次序。

I.ApacheWebServer

oh即:〃/

ohttp:〃/

ohttp:〃.tw/

II.JDK

ohttp:〃/

III.JSDK

ohttp:〃/

IV.JavaApache

ohttp:〃/

V.GUNJSP

ohttp:〃/

oht@〃iava.auache.or。/

2.1.3Hs戟醴安装

I.安装ApacheWebServer

a,使用RPM

如果你是使用RPM套件,在你取得ApacheWebServer套件之彳爰,只需要输

入以下命令即可完成安装1

[root@localhostroot]#rpm-ivhapache-1.3.xx.i386.rpm(>x代

表ApacheWebServer版本)

b,使用SOURCE

如果你使用的是ApacheWebServer的Source,那麽你必需封Source迤行褊

群加以安装:

[root@localhostroot]#tarzxvfapache」.3.xx.tar.gz(xx代表

ApacheWebServer版本)

[rooI@1oca1hostroot]#cdapache1.3.xx

[root@localhostapache_l.3.xx]U./congifure|

>—prefix=/usr/loca]/apache/|(IS定你所想要安装的目)

)一enable-module=all|

>-enable-ruJe=SHARE_CORE

[root@1oca1hostapache」.3.xx]#makeclean;make;make

belli

完成了以上步骤之彳爰,基本上你己^完成了ApacheWebServer的安装。

II.安装JDK

你可以由上述位置取得Sun最新版本的JDK(JavaDevelopmentKits)0言青你依

照下列步骤来完成JDK的完装:

[root@localhostroot]#tarzxvfjdkl_2_2rc2-linux-i386.tar.gz

[root@localhostroot]#mvJdkl.2.2/usr/]oca1/Jdk122

完成上述步骤彳麦,你逮需要迤行璟境言殳定:

[root@1ocaIhostroot]Uvi.bash_profi1e

•••

•・・

JAVAH0ME=/usr/local/Jdkl22

PATH=$PATH:$JAVA_HOME/bin

CLASSPATII=/usr/local/jdkl22/lib/tools,jar:,

exportJAVAH

温馨提示

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

评论

0/150

提交评论