实验3:JSP语法、指令和标签

合集下载

第2章 JSP语法

第2章 JSP语法

五、Java控制结构
• 顺序结构 • 选择结构 • 循环结构
顺序结构
• 按设计时所确定的次序,一个一个语句的顺序执行 • 一般程序主体采用顺序结构,其中嵌套选择和循环结构。
选择结构控制
单选if、 双选if„else、 多选switch
if语句
if (条件表达式) 语句
条件?
True
例:
String x="男",s=""; if(x=="男") s="不能进入";
实践环节: 上机实战,验证结果
• 例3:利用Switch语句编程实现分数和等级的对应 • 0~59:E 60~70:D 70~80:C • 80~90:B 90~100:A
实践环节: 编写网页 exa2_14.jsp:表单页面,输入学生的成绩 exa2_15.jsp:根据成绩值显示成绩的等级
二、循环结构控制
知识点介绍
• 乱码问题: • ex9.jsp页面获取的信息可能是乱码(由很多?组 成),此时必须对含有汉子的字符进行特殊的处 理。
• 解决方案:在获取表单信息之前设置统一编码 • request.setCharacterEncoding("GBK");
• 例1写出程序 • • y= •
-1 0 1
案例
例1: int x=6, y=10, k=5; switch( x%y ) { case 0: k=x*y; break; case 6: k=x/y; break; case 12: k=x-y; break; default: k=x*y-x; break; } 例2: char ch='A'; int r=6; switch( ch+5 ) { case 'A': r=r+3; break; case 'B': r=r+5; break; case 'C': r-=6; break; default : } r/=2;

第2章 JSP语法

第2章 JSP语法

7.JSP 动作标记
• include 动作标记 <jsp:include page= "文件的URL"/> 或 <jsp:include page= "文件的URL"> param子标记 </jsp:include>
include 动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑 和语法上独立于当前JSP页面.
• param动作标记
param标记以“名字—值”对的形式为其它标记提供附 加信息. param 标 记 不 能 独 立 使 用 , 需 作 为 jsp:include 、 jsp:forward、jsp:plugin标记的子标记来使用。 param动作标记语法格式:
<jsp:param name= “名字” value= “指定给param的值”> 当该标记与jsp:include动作标记一起使用时,可以将param标记中 的值传递到include动作标记要加载的文件中去,被加载的JSP 文 件 可 以 使 用 Tomcat 服 务 器 提 供 的 request 内 置 对 象 获 取 include动作标记的param子标记中name属性所提供的值
• contentType属性
contentType 属性值确定JSP页面响应的MIME (Multipurpose Internet Mail Extention)类型和JSP页 面字符的编码。 例如:
<%@ page contentType2" %>
不允许两次使用page 指令给contentType属性指 定不同的属性值 .
l language属性 定义JSP页面使用的脚本语言,该属性的值目前只能取"java"。 为language属性指定值的格式: <%@ page language="java" %> l import 属性 该属性的作用是为JSP页面引入Java运行环境提供的包中的类, 这样就可以在JSP页面的程序片部分、变量及函数声明部分、 表达式部分使用包中的类。 例如: <%@ page

第3讲 JSP语法基础(一)PPT课件

第3讲  JSP语法基础(一)PPT课件

Javascript是NetScape公司的产品,比JSP 简单很多,主要用于客户端,实现基于浏 览器上的一些动态功能,能够在客户端动 态生成HTML。
3.1.2 JSP中的脚本元素
从前面学习中知道,在普通的HTML 网页中使用专用的标记加入JSP的动态部 分,就构成了JPS动态网页。基本上所有 的JSP动态部分都是以“<%”开始,到 “%>”结束,两者之间的就是JSP动态内 容,总称为JSP元素。
(1)整型
JSP中的整型数据用于表示整数,根 据其数据所占内存的大小,又可分为四种, 如表3-1所示。
表3-1
JSP整型数据类型
数据类型 关键字 字长(位)
表数范围
缺省
字节型
byte
−128~127 8
短整型 short
−32768~32767 16
整型
int
−2147483648~2147483647 32
其中,expression部分是表达式的内容, 它是一个有计算结果的JSP表达式(注意, 表达式一定要有一个可以输出的值),如 数学计算式子、有返回值的函数、变量等。
<%=n%> <b><%=new Date()%><b> <%=n+m%>
3.脚本片段
脚本片段(Scriptlets)也称为代码片 段,它是一个有效的Java程序段,是JSP 中的代码部分。在这个部分中可以使用几 乎任何Java的语法来编制程序,它是嵌放 在<%和%>标记中的,语法格式如下: <% scriptlet %> 例:time1.jsp
JSP中的注释可以分为两类:一类是输出到 客户端,用户在查看源文件时可以看见;另一类 是仅在服务器端,供开发者使用的,这种注释仅 服务器端可见,不会发送到客户端。

JSP的3个编译指令、7个动作指令

JSP的3个编译指令、7个动作指令

JSP的3个编译指令、7个动作指令3个编译指令:page、include、taglibJSP的编译指令是通知JSP引擎(Tomcat、WebLogic)的消息,它不直接生成输出。

JSP引擎的工作原理:当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:(1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序(2)JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class(3)JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。

当JSP引擎街道一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。

编译指令都有其默认值,因此无须为每个指令设置其值。

常见的编译指令有3个:(1)、page:是针对当前页面的指令;(2)、include:用于指定包含另一个页面;(3)、taglib:用于定义和访问自定义标签。

使用编译指定的语法格式如下:<%@ 编译指令名属性1="属性值" 属性2="属性值" ...%>1、page指令:是针对当前页面的指令,通常位于JSP页面的顶端,一个JSP页面可以使用多page指令。

常用的page指令如下的格式:<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %> <%@ page import="java.sql.*" %>常用的page的属性如下:(1)、contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认MIME类型是text/html,默认的字符集类型为:ISO-8859-1;(2)、language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,所以该属性的值通常都是java。

5.JSP基本语法

5.JSP基本语法
2 JSP基本语法
• • • • • 2.1 注释 2.2 HTML元素 2.3 脚本元素 2.4 指令元素 2.5 动作元素
2.1 注释
• HTML 注释
被发送到客户端,不直接显示,在源代码中可以查看到。 <!-- 注释 --> 唯一不同之处是可在其中使用表达式,从而包括动态内容
• JSP注释(隐藏注释)
TYPE=text/html; CHARSET=iso-8859-1
2.4.1 page指令
• <%@ page %>指令作用于整个JSP页面,包括静态的包含 文件。但是<% @ page %>指令不能作用于动态的包含文件, 比如 <jsp:include> 。 • 可以在一个页面中用上多个<% @ page %>指令,但是其中 的属性只能用一次,不过也有个例外,那就是import属性, 可以多次使用。 • 无论<% @ page %>指令放在JSP的文件的哪个地方,它的 作用范围都是整个JSP页面。不过,为了JSP程序的可读性, 以及好的编程习惯,最好还是放在JSP文件的顶部。 • 属性区分大小写 。
copyright.html: <p>&copy; 2002 Microsoft Corp.</p>
2.4.2 include指令
使用include指令可以把一个复杂的JSP页面分成若干简单的部 分,当要对页面更改时,只需更改对应的部分就行了。 通常情况下把页面分成多个区,典型的分区方法如下 头部:head.jsp,LOGO 页面主体: body.jsp, 功能区 尾部:footer.jsp,版权声明等
2.3.5 脚本元素举例
• • • • • • • • • • • • • • • • • <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <html> <body> <%! public class Circle {double r; Circle(double r) { this.r=r; } double area() { return 3.14*r*r; } double length() { return 3.14*r*2; } } %>

第2章 JSP语法

第2章 JSP语法


<jsp :param name= »param2 »value= »value2 »/> </jsp:forward>
<jsp :param name= »param1 »value= »value1 »/>
小结


本章主要介绍了JSP页面的组成、指令、动作等技术,重点介绍 了JSP的page指令、include指令的使用,<jsp:include>、 <jsp:forward>等动作指令的使用。 通过本章的学习,读者可以建立一个简单功能的JSP网站。

1.page指令 page指令就是通过设置内部的多个属性来定义JSP文件中的全局 特性。需要注意的是,page指令只能对当前自身页面进行设置, 即每个页面都有自身的page指令。如果没有对属性进行设置, JSP将使用默认指令属性值。


2.include指令 在JSP开发中,可以将一些重用的代码写入一个单独的文件中, 然后通过include指令引用该文件,从而缓解代码的冗余问题, 修改也比较方便。Include指令语法格式为: <%@ include file=”被包含的文件路径”%>
扩展——代码编写规范


1.JSP文件命名 JSP文件名称要以小写字母命名,名称要体现出该页面的意义, 最好能够与模块名称联系在一起。 例如: login.jsp --登录页面 register.jsp --注册页面 message.jsp --消息页面



新知识点——JSP页面组成、声明、代码段、表达式、注释 JSP页面由两部分组成,一部分为静态部分,即HTML标记,用 来完成数据页面显示;另一部分为动态部分,用来完成数据处理, 包括脚本元素、指令元素和动作元素。 脚本元素用来嵌入Java代码,这些Java代码将成为转换得到的 Servlet的一部分;JSP指令元素用来从整体上控制Servlet的结 构;动作元素用来引入现有的组件或者控制JSP引擎的行为。

第3章:JSP基础语法

第3章:JSP基础语法
JSP基础语法
<1>、掌握JSP中注释语句的使用; <2>、掌握JSP中Script的使用及使用的区别; <3>、掌握page指令的作用; <4>、掌握两种包含语句及两种包含语句的 区别; <5>、掌握跳转指令的操作; <6>、可以使用JSP基础语法结合JDBC完成登 录程序的开发;
JSP注释分两种,一种是显示注释,这 种注释客户端是允许看见的;另一种是隐 式注释,这种注释客户端是无法看见的; 在JSP中最重要的就是Scriptlet脚本小 程序,所有嵌入在HTML代码中的java程序 都必须使用Scriptlet标记出来;在JSP中一 共提供了3中Scriptlet代码; 第一种:<%!%> 第二种:<%%> 第三种:<%=%>一定要明确记住字符 串的内容不可改变这一重要特征,一个 String对象内容的改变,实际上是通过内存 地址的“断开-连接”变化完成的,而本身 字符串的内容没有发生任何变化; 可以直接使用String类中的charAt方法 取出字符串指定位置的字符; 在String中使用indexOf方法可以返回 指定字符串的位置; 在
由于那种嵌入scriptlet的代码看起来很 乱,而且不易管理;所以我们应该使用 scriptlet标签指令 <jsp:scriptlet>这里可以定义一些变 量</jsp:scriptlet>; 在使用标签指令时一定要完结; 在JSP中,pageEncoding指的是jsp页 面本身的编码,而contentType中的charset 是服务器发给客户端的内容编码。

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
JSP开发案例教程
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3:JSP语法、指令和标签
一、目的与要求:
1. 熟练掌握JSP的声明、表达式、小脚本和注释的使用;
2. 理解JSP页面指令和动作的语法格式;
3. 理解JSP页面的生命周期。

二、实验环境:
使用Eclipse工具新建一个动态Web项目,然后添加JSP页面。

三、实验内容与步骤:
1、JSP语法元素
输入并执行下面JSP页面,文件名为counter.jsp。

把文件放入【Tomcat 安装目录】\webapps\ROOT目录里面,用IE浏览器访问该页面。

<html>
<body>
<%@ page language="java" %>
<%! int count = 0; %>
<% count++; %>
Welcome! You are visitor number
<%= count %>
</body>
</html>
【步骤1】该JSP页面包含哪些JSP语法元素。

在浏览器中访问该页面,输出结果如何?多次刷新页面,结果如何?关闭浏览器后,再访问结果如何?重启Tomcat后,访问结果如何?
【步骤2】打开counter.jsp转换后的源文件counter_jsp.java,对应的类文件在哪里?文件名是什么?
【步骤3】查看count变量是在哪里声明的?
【步骤4】将上面JSP页面中的<%! int count = 0; %>一行改为<% int count = 0; %>,页面能否正常执行,它与上面页面有什么区别?重复步骤2~3,查看count变量声明在哪里?
2、JSP指令元素
page 指令:<%@ page 属性1="属性1的值" 属性2= "属性2的值" …%>用来定义整个JSP页面的一些属性和这些属性的值。

比较常用的两个属性是contentType和import。

page指令只能为contentType指定一个值,但可以为import属性指定多个值。

include指令标记:<%@ include file= "文件的URL " %>的作用是在JSP 页面出现该指令的位置处,静态插入一个文件。

被插入的文件必须是可访问和可使用的,如果该文件和当前JSP页面在同一Web服务目录中,那么"文件的URL"就是文件的名字;如果该文件在JSP页面所在的Web服务目录的一个子目录中,比如fileDir子目录中,那么"文件的URL"就是"fileDir/文件的名字"。

include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖于当前JSP页面,其优点是页面的执行速度快。

【步骤1】要求用“记事本”编写一个txt文件english.txt。

english.txt 的每行有若干个英文单词,单词之间用空格分隔,每行之间用“<BR>”分隔,如下所示:
english.txt文件内容:
package apple void back public
<BR>
private throw class hello welcome
【步骤2】编写三个JSP 页面:first.jsp 、second.jsp和third.jsp。

具体要求:
1. first.jsp的具体要求
first.jsp使用page指令设置contentType属性的值是"text/html",使用include指令静态插入english.txt文件。

2. second.jsp的具体要求
second.sp使用page指令设置contentType属性的值是"application/vnd.ms-powerpoint",
使用include指令静态插入english.txt文件。

3. third.jsp的具体要求
third.jsp使用page指令设置contentType属性的值是"application/msword",
使用include指令静态插入english.txt文件。

【步骤3】将三个JSP和english.txt文件放入【Tomcat安装目录】
\webapps\ROOT目录里面,用IE浏览器分别访问该页面。

截取界面图片粘贴到下面:
3、JSP动作元素
实验要求:
编写3个JSP 页面:one.jsp 、two.jsp和error.jsp。

one.jsp 、two.jsp页面都含有一个导航条,以便让用户方便地单击超链接访问这两个页面,要求这两个页面通过使用include动作标记动态加载导航条文件head.txt。

导航条文件head.txt的内容如下所示:
head.txt
<%@ page contentType="text/html;charset=GB2312" %>
<table cellSpacing="1" cellPadding="1" width="60%" align="center"
border="0" >
<tr valign="bottom">
<td><A href="one.jsp"><font size=3>one.jsp页面</font></A></td>
<td><A href="two.jsp"><font size=3>two.jsp页面</font></A></td>
</tr>
</Font>
</table>
(1)one.jsp的具体要求
要求one.jsp页面有一个表单,用户使用该表单可以输入一个1~100之间的整数,并提交给该页面;如果输入的整数在符合要求在1~100之间就转向two.jsp;如果输入不符合要求就转向error.jsp。

要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp,将有关输入错误传递到转向的error.jsp页面。

(2)two.jsp和error.jsp的具体要求
要求two.jsp能输出one.jsp传递过来的值,error.jsp页面能显示有关的错误信息。

代码仅供参考,学生可按照实验要求,参考本代码编写代码。

JSP页面部分参考代码
one.jsp
<%
String num=request.getParameter("number");
if(num==null)
{ num="0";
}
try
{
int n=Integer.parseInt(num);
if(n>=1&&n<=100)
{
%> <jsp:forward page="two.jsp" >
<jsp:param name="number" value="<%=n%>" />
</jsp:forward>
<% }
}
catch(Exception e)
{
%> <jsp:forward page="error.jsp" >
<jsp:param name="mess" value="<%=e.toString()%>" />
</jsp:forward>
<% }
%>
two.jsp
<%
String s=request.getParameter("number");
out.println("<BR>传递过来的值是"+s);
%>
error.jsp
<%
String s=request.getParameter("mess");
out.println("<BR>传递过来的错误信息"+s);
%>
将三个页面运行截取界面图片粘贴到下面:。

相关文档
最新文档