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;
chap2_JSP语法

example2_2.jsp:
5
2. JSP页面的成员变量和方法
JSP页面在“<%!”和“%>”之间声明 定义的方法 ,在该JSP页面有效,该方法 内的变量只在该方法内有效
对于在“<%!”和“%>”标记符号之间 定义类,可以在Java程序片中使用该类 创建对象。
18
不允许两次使用page 指令给contentType 属性指定不同的属性值 .
常用类型值有: text/html、text/plain、 image/gif、 image/jpeg、 application/x-shockwave-flash、 application/msword等
实例:example2_8.jsp
16
contentType属性
contentType 属 性 值 确 定 JSP 页 面 响 应 的 MIME (Multipurpose Internet Mail Extention)类型。
例如:
<%@ page contentType="text/html " %> <%@ page contentType="application/msword" %>
如果需要在JSP页面内某处整体嵌入一个文件,就 可以考虑使用include指令标记,其语法格式如下: <%@ include file= "文件的URL " %>
如果该文件和当前JSP页面在同一Web服务目录中, 那么“文件的URL”就是文件的名字;
如果该文件在JSP页面所在目录的子目录中,比如 fileDir子目录中,那么“文件的URL”就是 “fileDir/文件的名字”。
JSP基本语法

JSP脚本JSP通用语法规则JSP通用语法规则包括:JSP的标记规则、JSP元素中的相对路径规则、JSP元素中的转义规则。
JSP的标记规则每一个JSP元素都有一个起始标记和一个结束标记。
起始标记为“<%”或“<jsp:”,结束标记为“%>”或“/>”。
比如:<jsp:include page=”/index.jsp”/><%if(sum>0) sum=sum+42;%>注起始标记和结束标记一定要在同一个JSP页面中,且成对出现JSP元素中的相对路径规则在JSP中可以使用相对路径,相对路径是以字符“/“开头的。
比如:/test/testChinese.jsp——说的实际路径是“C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\test\testChinese.jsp “JSP元素中的转义规则我们已经知道,“<%”和“%>”是JSP中的标记字符,那么如果我们想在程序中用到这两个字符,该怎么区分呢?这就要用到转移规则了。
这里的转义规则包括:“’”被转义为“\’”“””被转义为“\””“\”被转义为“\\”“<%”被转义为“<\%”“%>”被转义为“%\>”下面我们通过一个小例子来看看。
其显示结果如图2-2所示。
图2-2 JSP转义规则示例上面显示结果,可以看到,本来是JSP标记语言的字符,也都显示出来了,实现这样功能的程序代码是怎么样的呢?02-02.jsp文件源代码:<html><head><title>JSP转义规则的例子</title></head><%@page contentType="text/html;charset=gb2312" %><body><p><%out.print("测试要避免冲突的字符串1:\'");%><p><%out.print("测试要避免冲突的字符串2:\"");%><p><%out.print("测试要避免冲突的字符串3:\\");%><p><%out.print("测试要避免冲突的字符串4:%\>");%></p></body></html>JSP脚本元素语法讲了语法规则以后,我们来看看脚本元素,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引擎的行为。
JSP中的三种注释

JSP中的三种注释
1、JSP单行注释:
JSP单行注释是在匹配标记“<%--”后面添加注释文字,直至行末为止,使用这种注释方法,注释时不需要使用结束字符。
JSP多行注释是用两个标记"<%--"起始多行注释,"--%>"结束多行注释,它的行内的任何字符都会被忽略而不会出现在输出结果中。
JSP HTML注释是使用HTML注释“<!-- ”起始,“--> ”结束,它的行内的任何字符都会被忽略而不会出现在输出结果中。
不同于JSP单行注释和多行注释,JSP HTML 注释是通过 HTML注释可以跨行,除了在JSP脚本内部使用之外,HTML注释还可以在HTML 标签之间使用。
第3章: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 是服务器发给客户端的内容编码。
JSP JSP中的声明

JSP JSP中的声明在程序开发过程中,时时刻刻都需要使用一些变量,用于存储一些数据信息。
而变量与存储的这些数据信息不是等同的概念,变量是内存中的一块存储空间,这个空间中存放的数据就是变量的值。
在存储数据的存储空间(变量)中,都一个标识符。
程序能够根据标识符索引找到变量所在的位置,然后再将数据信息存储到该空间内。
例如,变量就相当于一个空箱子,而数据信息就相当于箱子内所存放的物品。
而这个空箱子在计算机中,都有一个地址,所以程序会根据地址查找空箱子,并存取空箱子的物品(数据)。
下面可以非常轻松的理解声明的含义,声明就是定义变量,在计算机中定义一个空箱子,并为空箱子赋一个地址(即标识符)。
JSP声明用来让定义页面级(该变量的作用域为该页面)变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。
如果发现代码太多,通常最好把它们写成一个独立的Java类。
在JSP中用两种声明变量的方法,一种是在<%! %>内,一种是在代码片段“<% %>”内。
例如,下面创建一个Counter.jsp文件,用来记录页面访问量,以及变量本机的IP地址。
文件名:Counter.jsp首先,在<%! %>中定义了一个counter 整型变量,并赋值为0。
再定义一个IPAddress 字符号变量。
然后,在<% %>代码片段中的通过counterFunction( )方法,调用synchronized 定义多线程方法,并使用counter 变量值加1。
其次,在“IPAddress = request.getRemoteAddr( );”语句中,通过request.getRemoteAddr( )获取本机的地址,赋与IPAddress 变量。
最后,分别通过<%=counter%>和<%=IPAddress%>表达式,来显示变量值。
JSP 声明将会转换成Servlet 的成员变量或成员方法,所以JSP 声明部分定义的变量和方法可以使用private 和public 等访问修饰符,也可以使用static 将其变为类成员变量,但不能使用abstract 修饰声明部分的方法,因为抽象方法将导致JSP 对应的Servlet 变成抽象类,从而导致无法实例化。
第2章 JSP语法基础 2.3 JSP指令元素、2.4 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01 常用注释的种类及区别
常用注释的种类及区别
HTML的注释
格式:<!-- HTML注释--> 特点:属于显示注释,会被发送到客户端,客户可以通过查看页面的源代
码发现这些注释
JSP注释
格式:<%-- JSP注释--%> 特点:属于隐式注释,不会被发送到客户端,即不被服务器执行
所以在 HTML 中的注释同样可以在 JSP 文件中使用。
注释格式
特点:
<!-- HTML注释-->
使用该方法注释的内容在客户端浏览器中是看不到的
可以通过查看 HTML 源代码看到这些注释内容
HTML的注释实例
【例】练习HTML注释 JSP页面代码:
<!--欢迎提示信息!--> <table> <tr> <td>欢迎访问! </td> </tr> </table>
<!--当前用户:小明 --> <table> <tr> <td>欢迎登录:小明</td> </tr> </table>
03
JSP注释
JSP注释
注释属于隐式注释,使用JSP注释的内容,不仅在客户端浏 览时看不到,而且即使在客户端查看 HTML 源代码,也不会 看到,所以安全性较高,语法格式如下:
<%--注释内容--%>
JSP注释实例
【例】 练习使用带有 JSP 表达式的注释。 Jsp页面代码:
<%--获取当前时间--%> <table>
<tr><td>当前时间为:<% =(new java.util.Date()).toLocaleString() %></td></tr> </table>
特点: 包含该注释语句的 JSP 页面被请求后,服务器能够识别注释中的 JSP 表达式,从而来执行该表达式,而对注释中的其他内容不做任何操作。 当服务器将执行结果返回给客户端后,客户端浏览器会识别该注释语 句,所以被注释的内容不会显示在浏览器中可以通过查看 HTML 源 代码看到这些注释内容
HTML中带有JSP表达式的注释
浏览器对应效果:
当前时间为:2020-2-25 14:08:35
浏览器查看 HTML 源代码:
<table> <tr><td>当前时间为: 2020-2-25 14:08:35 </td></tr>
</table>
04
Java注释
Java 注释
分类: //单行注释 /*多行注释 */ /**文档注释 */
并且多行注释的开始标记和结束标记可以不在同一个脚本程序中同时出现。
JSP脚本(Java)中多行注释实例
【例】 练习多行代码注释,源代码:
<%@ page contentType="text/html;charset=UTF-8"%> <%
String state="0"; /* if(state.equals("0"))
Java注释
格式: //单行注释 格式: /*多行注释 */ 格式: /**文档注释 */ 特点:只能在【JSP的脚本】或者【声明】中使用,属于隐式注释,不被服务器执行
02
HTML 的注释
HTML的注释
HTML的注释概述
JSP 文件是由 HTML 标记和嵌入的 Java 程序段组成的,
特点: 只能在【JSP的脚本】或者【声明】中使ቤተ መጻሕፍቲ ባይዱ 属于隐式注释 不被服务器执行 客户端通过查看源代码是不可见的
Java 注释
1. 单行注释 单行注释的格式如下:
//注释内容
例如:给第二行代码进行说明注释 1.<% 2. int count=6; //定义一个计数变量 3.%>
JSP脚本(Java)中注释
{ //equals()方法用来判断两个对象是否相等 state="主版"; %> 将变量state赋值为“主版”。<br> <% } */ %> 变量state的值为:<%=state%>
JSP脚本(Java)中多行注释实例
【例】 练习多行代码注释。 运行结果:
05
总结
总结
注释简介以及区别 HTML的注释
【例】 练习使用带有 JSP 表达式的注释。 Jsp页面代码:
<%String name=“小明";%> <!--当前用户:<%=name%>- -> <table> <tr> <td>欢迎登录:<%=name%></td></tr></table>
浏览器对应效果:
欢迎登录:小明
浏览器查看 HTML 源代码:
浏览器对应效果:
浏览器查看 HTML 源代码:
<!--欢迎提示信息!--> <table> <tr> <td>欢迎访问! </td> </tr> </table>
HTML中带有JSP表达式的注释
HTML 注释中可以嵌入 JSP 表达式,注释格式如下: <!--comment<%=expression %>-->
2. 多行注释, 注释格式如下: /* 注释内容1 注释内容2 */
说明: 多行注释是通过“/*”与“*/”符号进行标记的,它们必须成对出现,在 它们之间输入的注释内容可以换行。
与单行注释一样,在“/*”与“*/”之间注释的所有内容,即使是 JSP 表 达式或其他脚本程序,服务器都不会做任何处理。
JSP注释(隐式注释) JAVA注释(隐式注释)
感谢聆听
THANKS
石家庄科技工程职业学院软件技术专业群教学资源库