- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 动态网页设计技术
2 动态网页设计技术
2.1 Web网站访问机理
JSP又称JavaServer Pages,是java平台下用于构建包含动态网内容(比如HTML、DHTML、XHTML和XML)的技术。
一个JSP页面是一个基于文本的文档,它可以用来描述如何处理客户端的请求,如何为客户端创建一个响应。在JSP页面中除了可以包含文本、HTML标记等外,还可以包含JSP的自身的几种元素:指令、脚本元素和动
静态页面文件的访问机理图:
动态页面文件的访问机理图:
2.2 JSP基本语法
2.2.1 JSP的表达式
JSP表达式用来把Java数据直接输出页面。其语法如下:
%= Java表达式 %
计算Java表达式得到的结果,并将其转换成字符串,然后输出到页面。计算在运行时进行(页面被请求时),因此可以访问和请求有关的全部信息。例如,下面的代码显示页面被请求的日期/时间:
当前时间: %= new java.util.Date() %
或 %= (new java.util.Date()).toLocaleString() %
输出远程主机例子:
Your hostname: %= request.getRemoteHost() %
2.2.2 JSP的脚本
如果你要完成的任务比插入简单的表达式更加复杂,可以使用JSP脚本。JSP脚本允许你把任意的Java代码插入JSP页面中。JSP脚本语法如下:
% Java代码%
和JSP表达式一样,脚本也可以访问所有预定义的变量。例如,如果你要向结果页面输出内容,可以使用out变量:
%
String queryData = request.getQueryString();
out.println(Attached GET data: + queryData);
%
JSP脚本和HTML标记混合使用的例子:
% if (Math.random() 0.5) { %
Have a Bnice/B day!
% } else { %
Have a Blousy/B day!
% = %
2.2.3 JSP的声明
JSP声明用来定义JSP页面的脚本命令使用到的变量和方法,其语法如下:
%! Java代码 %
由于声明不会有任何输出,因此它们往往和JSP表达式或脚本命令结合在一起使用。例如,下面的JSP代码片断输出自从服务器启动(或Servlet类被改动并重新装载以来)当前页面被请求的次数:
%! private int accessCount = 0; %
自从服务器启动以来页面访问次数为:
%= ++accessCount %
2.2.4 page指令
page指令定义了一系列页面依赖属性,并能将这些属性传递给JSP容器。
page指令的形式为:
%@ page
[language=java]
[extends=package .class]
[import={package .class | .*}, ...]
[session=true|false]
[buffer=none|8kb|sizekb]
[autoFlush=true|false]
[isThreadSafe=true|false]
[info=text]
[errorPage=relativeURL]
[contentType=mimeType [;charset=characterSet ] | text/html ; charset=ISO-8859-1]
[isErrorPage=true|false]
%
page指令的属性解释如下:
(1)language
定义了在jsp使用的脚本语言,目前java是缺省又是唯一合法的选择。
language=”java”
(2)extends
extends=”package.class”。这将为servlet产生一个超类。请特别谨慎的使用这一功能,因为,服务器也许已经定义了一个。
(3)import
import=”package.class”或import=”package.class1,..,package.classN”。通过该属性你可以导出在jsp文件中要使用到的类(在java中完成某种功能的类文件)。
举例:%@ page import=java.util.* %
import属性是这几个属性中唯一一个可以在一个JSP中出现多次的。
(4)session
session=”true | false”。 如果值为“true”(缺省)表示:预定义变量session(继承HttpSession)应该绑定到一个已存在的session,否则就应该创建一个并将之绑定。值为“false”时表示:将不使用session变量,如果试图使用,将在JSP向servlet转化时出现错误
文档评论(0)