请同学们先浏览PPT,这是一个任务点哈!完成后有惊喜哟!

1.脚本段
脚本段以“<%”开始,以“%>”结束,中间包括一段合法的java代码。格式: <% 合法的java代码; %>
在脚本段里可以声明变量、调用方法和进行表达式运算,并每行语句后面要加入分号。在脚本程序中定义的变量在当前的整个页面内都有效,但不会被其他的线程共享,当前用户对变量的操作不会影响到其他的用户。当变量所在的页面关闭后被定义的变量就会被注销。
【案例2-1】计算1+2+……+100的值
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title>1+2+……+100</title>
</head>
<body>
<%
int sum=0;
for(int i=1;i<=100;i++){
sum+=i;
}
%>
<%
out.println("sum="+sum);
%>
</body>
</html>

2.表达式
表达式:以“<%=”开始,以“%>”结束,中间为一个合法的Java表达式,用来将中间表达式的内容输出到页面。 特别要注意,“<%”与“=”之间不能有空格。语法:<%=expression%>
表达式的执行结果会被自动转换为字符串,显示在JSP页面中。由于表达是不是完整的java语句,所以在表达式的后面不能放置“;”。
例如:<%=1+2+3%>
3.声明
声明,用来定义程序中使用的实体,可以声明变量、方法和类,以“<%!”开始,以“%>”结束。 语法:<%! 声明变量或方法的代码 %>
在页面中声明的变量和方法,在整个页面内都有效,并且它们会被多个线程即多个用户共享。任何一个线程(用户)对声明的变量或方法的修改都会改变它们原来的状态。它们的生命周期从创建到服务器关闭后结束。
【案例2-3】统计网页访问量
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%!
int num=0; //声明一个计数变量
synchronized void add(){ //该方法实现访问次数的累加操作
num++;
}
%>
<% add(); %> <%-- 该脚本程序调用实现访问次数累加的方法 --%>
<html>
<body><center>您是第<%=num%>位访问该页的游客!</center></body>
</html>

4.注释
注释可以提高程序的可阅读性,它分为HTML注释、Java注释、JSP隐藏注释三种。HTML属于显示注释,会输出到客户端浏览器,但不进行显示;其余两种是隐式注释,不会输出到客户端浏览器。
HTML注释语法:<!—这是HTML注释-->
Java注释语法:
单行注释://Java提供的单行注释,客户端无法查看
多行注释:/* Java提供的多行注释,客户端无法查看,可以在JSP原始文件以及JSP翻译成的Servlet中看到 */
JSP隐藏注释语法:<%-- 这是隐藏的注释 --%>
【案例2-4】JSP中的多种注释
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>注释的使用</title></head>
<body>
<h2>
<ol>
<li>HTML注释</li>
<!--这里是HTML格式的注释,表达式的值是<%=1+2+3 %> -->
<li>Java注释</li>
<%
//这里是Java语言的单行注释,下面是多行注释
/*
String a="asb";
String b="dfb";
*/
String s1="此信息不会输出到客户端";
%>
<li>JSP注释</li>
<%--这里是开发人员专用的JSP注释--%>
<%--
String s2="此信息不会显示在Servlet中";
--%>
</ol>
</h2>
</body>
</html>
同学们,显示效果如何?快去动动手吧!
【拓展】JSP生命周期
JSP生命周期就是JSP页面从创建到销毁的整个过程。客户端浏览器访问的JSP页面主要经过编译阶段、初始化阶段、执行阶段、销毁阶段等四个重要阶段。

查看tomcat的work目录:
1) 没有访问时目录里的工程目录是空的
2) 用浏览器访问一次后,生成.class和.java文件
3) 里面有jspInit,jspService,jspDestroy等方法
4) Jsp如果有修改,jsp引擎将重新编译

