jsp学习笔记(第三天)

2.2变量和方法的声明

将<%! %>之间声明的变量称为JSP页面的成员变量。这些变量的内存空间知道服务器关闭才被释放、

<% ! %>之间声明的变量在整个JSP页面内都有效,与标记符号<%! %>所在的位置无关,但习惯将标记符号<%! %>写在Java程序片的前面。

在<!% %> 之间声明方法,该方法在整个JSP页面有效,但在该方法内定义的变量只在该方法内有效。

2.3java程序片

1,<%  %>之间插入java程序片,一个JSP页面可以有多个Java程序片,这些程序片被JSP引擎按顺序执行。

2,在java程序片中声明的变量称为JSP页面的局部变量。

3,局部变量的作用范围与其声明的位置有关,java局部变量在JSP页面后继的所有Java程序片以及表达式中有效。

java程序片中操作的成员变量是各个线程共享的变量,任何一个线程对JSP页面成员变量操作的结果,都会影响到其他线程。

java程序片中可以出现方法调用语句,该方法必须是JSP页面的方法(<%!  %>)

运行在不同线程中的java程序片的局部变量互不干扰,即一个用户改变java程序片的局部变量不会影响到另一个用户使用java程序片的局部变量。

2.4表达式

可以在<% = %> 之间插入一个表达式。

特别注意:<%= %>  %和= 之间没有空格,表达式的值由服务器负责计算,并将计算结果以字符串形式发送到用户端显示。如果表达式无法求值,Tomcat引擎将给出编译错误。

2.5JSP中的注释 

1.HTML注释:<!-- -->之间插入注释;

2.JSP注释:<%-- --%>:之间插入注释内容;

2.6JSP指令标记

page指令:用来定义整个jsp页面的一些属性和这些属性的值。

page指令对整个页面有效,与其书写的位置无关,但习惯上把page指令写在jsp页面的最前面。

page指令的格式:<% @page 属性1=“属性1的值” 属性2=“属性2的值” ......%>

属性值需要用单引号或双引号括起来,如果为一个属性指定多个属性值,属性值之间用逗号分隔。

可以用page指定多个属性的值:<% @page 属性1=“属性1的值” 属性2=“属性2的值” ......%>

也可以用多个page指令指定多个属性值:<% @page 属性1=“属性1的值” %>

<% @page 属性2=“属性2的值” %>

在一个JSP页面中,可以使用多个page指令来指定属性及其值,可以使用多个page指令import属性几个值,但其他属性只能使用page指令指定一个值。

1,language属性:定义jsp页面使用的脚本语言,该属性的值目前只能取java 

2.import属性:为jsp页面引入java核心包中的类,jsp页面默认import属性有以下值:"java.lang.*","java.servlet.*","javax.servlet.jsp.*","javax.servlet.http.*"

3.contentTyep属性:确定JSP页面响应的MIME类和JSP页面字符编码。如:<% @page contentType="text/html" ;charset="GB2312"%>

JSP页面使用page指令只能为contentType指定一个值,不允许两次使用page指令给contentType属性指定不同的属性值。

如果用户浏览器不支持某种MIME类型,那么用户的浏览器就无法用相应的手段处理所接受到的信息。

4.session属性:是否需要设置内置的seccion对象。

session属性的属性值可以是true或false;

5.buffer属性:用来指定out设置的缓冲区的大小或不使用缓冲区。

<%@ buffer="24kb" %>

6.autoFlush属性:指定out的缓冲区被填满时,缓冲区是否自动刷新。autoFlush可以取值true或false.

7,isThreadSafe属性:

用来设置JSP页面是否可多线程访问。当值为true时,JSP页面能同时响应多个用户的请求;当值为false时,同一时刻只能响应一个用户的请求其他用户需要排队等待。

2.6.2include指令标记

如果需要在JSP页面的某处整体插入一个文件,就可以考虑使用这个指令标记。该指令标记语法:<%@ include file ="文件的URL"%>

作用:在JSP页面出现该指令的位置处,静态插入一个文件。被该指令插入的文件必须是可访问和可使用的,

2.7JSP动作标记

动作标记是一种特殊的标记,它影响JSP运行时的功能。

include动作标记语法格式为:

<jsp :include page="文件的URL"/>

或者<jsp :include page="文件的URL">

param子标记

</jsp :include>

注意:当include动作标记不需要param子标记时,必须使用上诉第一种形式。

书写include动作标记<jsp:include....../>注意jsp,:,include三者之间不要有空格。

2.7.2param动作标记

param标记以“名字——值”对的形式为其他标记提供附加信息,这个标记与jsp:include,jsp:forward,jsp:plugin标记一起使用。

param动作标记:<jsp:param name="属性的名字" vlaue="属性的值"/>

param标记不能独立使用,需要jsp:include,jsp:forward,jsp:plugin

当该标记与jsp:inclue标记一起使用时,可以使用param标记中的值传递到include指令要加载到文件中去。

也就是说,JSP页面在使用include动作标记加载文件是,可以动态地向所加载文件传递数据。

2.7.3 forward动作标记

forward动作标记的格式:

<jsp:forward page="要转向的页面"/>

或者<jsp:forward page="要转向的页面">

param子标记

<jsp : forward>

作用:从该指令处停止当前页面的继续执行,转向执行该指令中page属性指定的URL页面,但是在浏览器的地址栏中并不显示forward指令所转向的JSP页面的地址表示,浏览器的地址栏仍然显示forward转向前的JSP页面的URL表示。

不需要子标签时,使用上面的第一种格式表示。

forward动作标记指定的所转向的JSP文件可以使用Tomcat服务器提供的request内置对象获取param子标记中的name属性的值。

2.7.4plugin动作标记

在页面中使用普通的HTML标记<applet......></applet>可以让用户下载运行一个java applet小程序,但并不是所有用户的浏览器都支持java applet小程序。

如果java applet小程序使用了JDK1.2以后的类,那么有些浏览器不支持这个java小应用程序,而使用plugin动作标记可以保证用户能执行小应用程序。

2.7.5useBean动作标记

用HTML完成jsp页面的静态部分,用javaBeam完成动态部分


总结:

1.jsp页面的构成:html标记,jsp标记,变量,方法的声明,java程序片 和java表达式。

2.JSP引擎把jsp页面中的HTML标记给用户的浏览器执行,而jsp引擎负责处理jsp标记,变量和方法声明;

3.jsp引擎负责运行java程序片,计算java表达式,并将需要显示的结果发送给用户的浏览器。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,409评论 0 13
  • Jsp技术总结 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样...
    java日记阅读 1,641评论 0 18
  • 原文链接:blog.ouyangsihai.cn >> jsp看这篇文章就够了 一、JSP基础语法 1、JSP模板...
    程序员欧阳阅读 1,960评论 0 33
  • 1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...
    WendyVIV阅读 2,118评论 1 18
  • 一、jsp介绍 jsp作用jsp全称java server pages(java服务器页面),本质是一个servl...
    圣贤与无赖阅读 1,238评论 0 14