教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> JSP动态网页制作技术

JSP动态网页制作技术

上传者:网友
|
翻新时间:2023-08-07

JSP动态网页制作技术

JSP动态网页制作技术 JSP动态网页制作技术 信息技术论文 更新:2006-4-8 阅读: JSP动态网页制作技术

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

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

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

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

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

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

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

在安装好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>First Page</title>

</head>

<body>

<H3>Today is:

<%= new java.util.Date() %>

</H3>

</body>

</html>.

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

现在你已经下载,安装,并且架构好环境,你已经准备好要了解JSP语法与建立你自己的JSP为主的解决之道.

二、JSP语法的基本原理

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

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

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

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

预定义 <%! 预定义 %>

运算式 <%= 运算式 %>

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

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

2、编译器指引

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

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

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

<%@ include file="filename.jsp" %>。

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

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

<%= i %>

<%= "Hello" %> 。

<% for (int i=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:useBean id="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:getProperty id="localName" property="name" />.

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

<jsp:setProperty id="localName" property="*" />;

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

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

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

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

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

四、JSP的内部物件

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

有关内部物件说明:

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

response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的通话期

application servlet正在执行的内容

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

config servlet的架构物件

page JSP网页本身

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

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

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

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

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

以下面的指令将JAR档案复制到jrelibext目录:

五、 建立一JSP网站

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

quote.jsp

errorPage.jsp

接著,将下列的JSP原始码储存到网页目录下的文件errorPage.jsp.这是一个错误网页的暗示是在第一行,此行将网页编译器指引isErrorPage属性设为真。虽然前一页说明了错误网页在哪里,这页是说它是一个错误网页。JSP文件里其他特定的JSP代码是对内部例外物件的存取。此页只是显示它的值而已:

<%@ page isErrorPage="true" %>

<html>

<head>

<title>Error Page</title>

</head>

<body>

<h1>Our Error Page&

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

老虎变成大熊猫的故事
我给老师敬了两个礼
哈蜜瓜
我的妈妈
小企鹅回家了
老鼠120
快乐的一天
如果
雪地里的战争
老鹰捉小鸡
西瓜
团结就是力量
三只狗
希望
区国税局督办检查工作制度
文化局党组议事规则
总公司文明单位创建与管理办法
党委议事规则
档案利用制度
开展党员先进性教育,推行公务接待制度改革
委组织部促进民营经济发展服务承诺制度
保密制度
总公司档案管理办法
区政府工作规则
员工担保制度
关于市政协委员的管理办法
通讯信息工作管理办法
工资管理制度
档案管理制度
如何上好数学课
EM菌调制秸秆饲料技术
论 惯 性
EM原液在水产养殖中的应用试验
生态问题的信息哲学基础
浅谈利用脑神经兴奋规律提高物理课堂教学效果
浅议如何选择合适的审计统计抽样方法
小学数学活动课的开设原则与形式
试论高等教育行政纠纷解决机制探究
OECD主要国家软件业发展概况 
生物信息学新进展
探讨物理教学应注重审美观念的培养
惯性大小的另一种理解
浅论统计学中的统计思想
建构理论统计课堂教学方法初探
《乌鸦喝水》第二课时
《要下雨了》教学设计之七
《小壁虎借尾巴》教学设计之二
《乌鸦喝水》教学设计之七
《小壁虎借尾巴》教学设计之十
《乌鸦喝水》
《乌鸦喝水》教学设计之九
《小壁虎借尾巴》教学设计之九
《小壁虎借尾巴》片断赏析
《乌鸦喝水》教学设计之二
《小壁虎借尾巴》教学设计之五
《小壁虎借尾巴》教学设计之八
《四个太阳》教学设计之三
《小壁虎借尾巴》第二课时
《四个太阳》第一课时