实验9Web组件ⅡJSP初步基础.docx
- 文档编号:11113801
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:16
- 大小:306.63KB
实验9Web组件ⅡJSP初步基础.docx
《实验9Web组件ⅡJSP初步基础.docx》由会员分享,可在线阅读,更多相关《实验9Web组件ⅡJSP初步基础.docx(16页珍藏版)》请在冰豆网上搜索。
实验9Web组件ⅡJSP初步基础
实验9Web组件-Ⅱ——JSP初步基础
9.1实验目的
1、熟悉JSP与Servlet的联系与区别;
2、掌握JSP的基本组成:
模板、page指令、声明、表达式、脚本、注释;
3、熟悉使用MyEclipse开发JSP的主要步骤;
4、能读懂JSP转换为Servlet程序的主要内容;
9.2相关知识点
9.2.1什么是JSP
1.JSP是JavaServerPages的缩写,是由Sun公司倡导的一种动态网页技术标准,利用它可以建立安
全、跨平台的动态网站;
2.JSP是一种服务器端技术,能够将Java代码片断嵌入到HTML页面,这些Java代码将生成动态
内容,并嵌入到HTML内容中;
3.在JSP中既可以使用标准标签来嵌入代码,也可以使用定制标签和JavaBean来生成动态内容;
4.JSP与Servlet密切相关,JSP文件在用户第一次请求时都要编译成Servlet,再由这个Servlet来处
理用户请求;
5.JSP文件的扩展名为.jsp;
6.使用JSP时,不需要单独配置每一个文件,JSP容器(也就是Servlet容器)能够自动识别。
9.2.2JSP的执行过程
1.在HTML中嵌入Java脚本代码;
2.由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码;
3.然后将生成的整个页面信息返回给客户端。
执行过程如图9-1所示。
图9-1JSP执行示意图
Web容器处理JSP文件请求需要经过3个阶段:
(1)翻译阶段
(2)编译阶段
(3)执行阶段
客户端的请求(request)通过Web服务器(WebServer)交给JSP引擎转换成Java的.class文件,即
Servlet,之后Servlet引擎将其载入内存运行。
运行结果(response)以HTML(或XML)形式通过Web服务器返回给客户端,具体过程如图9-2所示。
图9-2Web容器处理JSP文件请求的过程
如图9-3所示,在第一次请求后,对于第二次请求或者后续的请求,Web容器可以重用已经编译好
的字节码文件,以后对该文件的访问就不需要再次编译了,这样后续的访问速度会很快。
但是,如果JSP文件发生变化,访问时则会重新编译。
图9-3Web容器处理第二次JSP文件请求的过程
9.2.3JSP的构成元素
构成元素一般是用Java编写的代码,可以嵌入到JSP页面中。
下面介绍一下JSP的构成元素。
JSP
的组成元素有:
模板内容、指令、脚本元素、操作元素、EL和注释等。
1.模板内容
模板元素是指JSP页面中的静态HTML或XML内容,模板是一种JSP文件,它包含了参数化了的内
容,例如,template:
get,template:
put和template:
insert。
所有非JSP元素归为模板内容,包括所有静态内容。
所有的模板内容都是可选的,模板的内容可以很容易的在更多的网页中使用。
2.指令
在JSP翻译成Servlet期间提供整个JSP页面的相关信息,指令不会产生任何输出信息到当前输出流
中。
格式:
<%@指令属性名1=“…”属性名2=“…”%>
说明:
<与%、%与@、%与>之间不能出现空格
指令有三种:
page、include和taglib
例如:
<%@pageimport="java.util.*"contentType="text/html;charset=GB2312"%>
3.脚本元素
包括声明、表达式和scriptlet,这是用于将Java代码包含于JSP中。
声明:
格式1:
<%变量表;%>声明某一方法的局部变量
格式2:
<%!
变量表;%>声明类的实例变量或类变量(带Static时)
例如:
<%inta=10;%>声明局部变量
<%!
intb=20;%>声明类的实例变量
<%!
Staticintc=30;%>声明类变量
4.表达式
格式:
<%=表达式%>输出表达式的值
说明:
表达式末不能有分号(;),相当于<%out.println(表达式);%>
例如:
<%=10+20%>
5.scriptlet(脚本段)
格式:
<%Java语句;%>
例如:
<%for(inti=1;i<10;i++)
out.println(i+”
”);
%>
6.操作元素
为请求处理阶段提供信息(符合xml格式,即包含有开始标签、属性或可选内容、结束标签,也可以是空标签和属性)。
例如:
paramname=“名字”value=“值”/> 7.注释: 格式: <%--注释内容--%>JSP将忽略注释内容 8.EL 后续章节介绍。 9.2.4JSP的注释 JSP中的注释有多种形式,有JSP自带的注释规范,也有HTML/XML的注释规范,下面进行介绍。 1.HTML/XML注释 此类注释经过响应输出流后不会改变,被包含在生成的客户端HTML中,它们在游览窗口中是不可见的,但可通过选择“查看”-“原文件”命令来查看。 格式: —comment[<%=expression%>]--> 例如: —这是一个典型的JSP,它包含了JSP中常用的元素--> 在客户端的源代码中产生和上面一样的代码: —这是一个典型的JSP,它包含了JSP中常用的元素--> 这种注释和Html的注释很像,唯一不同之处就是可以在这种注释中使用表达式,例如: —当前时间为: <%=(newjava.util.Date()).toLocaleString()%>--> 在客户端的HTML源代码中显示如下。 —当前时间为: 2011-12-1111: 05: 06--> 2.隐藏注释 隐藏注释写在JSP文件中,但不发送到客户度那,所以在客户端是不可见的。 格式: <%--comment--%> 例如: <%--下面是使用表达式的例子--%> 用隐藏注释标记的字符在JSP编译时将被忽略,JSP编译器不会对<%--和--%>之间语句进行编译,也不会显示在客户端的浏览器中,也不会出现在客户端HTML源代码中。 3.Scriptlets中的注释 由于包含的是Java代码,所以Java中的注释则在Scriptlets中也适用,常用的Java注释适用“//”表示单行注释,使用“/**…*/”表示多行注释。 例如: //color表示颜色,通过它来 也可以写成: /** *color表示颜色,通过它来动态控制颜色 /* 9.2.5利用MyEclipse开发JSP 在MyEclipse中,开发JSP与开发Servlet类似,但更简单,主要步骤如下: (1)先创建web工程; (2)创建JSP文件(文件/新建/JSP…)如图9-4所示; (3)对JSP文件进行编码; (4)部署项目,web容器具有自动识别功能,不必对每一个JSP进行配置。 图9-4新建JSP文档 9.3实验内容及步骤 1、按要求编写JSP程序,并回答相关问题: 该程序的功能是: 显示局部变量、实例变量的不同,输出系统日期和九九表(下三角),如图9-5所示: 图9-5Jsp简单应用效果图 (1)新建web项目,项目中新建JSP页面,命名为myjsp.jsp; 源代码: <%@pagecontentType="text/html;charset=GB2312"%> <%@pageimport="java.util.*"%>
<%
intlocalvar=0;
%>
<%!
intcount=0;%>
<%
localvar++;
count++;
%>
局部变量localvar=<%=localvar%>
实例变量count=<%=count%>
<%
//获取系统当前日期和时间值
Calendarcalendar=newGregorianCalendar();
intyear=calendar.get(Calendar.YEAR);
intmonth=calendar.get(Calendar.MONTH)+1;
intday=calendar.get(Calendar.DAY_OF_MONTH);
intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
StringweekDay=null;
switch(dayOfWeek){
case1:
weekDay="星期日";
break;
case2:
weekDay="星期一";
break;
case3:
weekDay="星期二";
break;
case4:
weekDay="星期三";
break;
case5:
weekDay="星期四";
break;
case6:
weekDay="星期五";
break;
case7:
weekDay="星期六";
break;
}
%>
今天是:
<%=year%>年<%=month%>月<%=day%>日
<%=weekDay%>
打印九九表(下三角)
<%
for(inti=1;i<=9;i++){
for(intj=1;j<=i;j++){
%>
<%=i%>*<%=j%>=<%
if(i*j<=9)
%>
<%=i*j%>
<%
if(j==i){
%>
<%
}
}
}
%>
(2)查看web.xml的内容,部署项目,如图9-6所示;
图9-6部署Web项目
(3)启动weblogic服务器,打开浏览器,输入http:
//localhost:
7001/Test10/myjsp.jsp网址,观察浏览
器输出的结果;不断“刷新”页面,观察显示结果有什么不同?
(4)回答下列问题:
●JSP页面由哪些元素组成?
各种元素在使用时,需要注意什么?
●观察带JSP的Web项目的配置文件web.xml与带Servlet的Web项目配置文件有什么不同?
●直接修改weblogic中autodeploy下Web项目中的jsp内容(如将输出内容加粗..等),再次运行程序,看有什么变化?
2、编写JSP页面,要求计算出1到100的和,并且在页面中显示,效果如图9-6所示。
图9-6使用JSP实现1到100求和运算
源代码:
<%@pagecontentType="text/html;charset=GB2312"%>
这是一个简单的JSP页面
<%inti,sum=0;
for(i=1;i<=100;i++)
{sum=sum+i;
}
%>
1到100的连续和是:
<%=sum%>