实验1-JSP指令与动作
- 格式:pdf
- 大小:453.94 KB
- 文档页数:6
JSP动作指令(6个常用的动作指令)一、Include指令<jsp:include>标签表示包含一个静态的或者动态的文件。
语法:<jsp:include page="path" flush="true" />or<jsp:include page="path" flush="true"><jsp:param name="paramName" value="paramValue" /></jsp:include>注:1、page="path" 为相对路径,或者代表相对路径的表达式。
2、flush="true" 必须使用flush为true,它默认值是false。
3、<jsp:param>子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个<jsp:param>来传递多个参数给动态文件。
二、Forward指令<jsp:forward>标签表示重定向一个静态html/jsp的文件,或者是一个程序段。
语法:<jsp:forward page="path"} />or<jsp:forward page="path"} ><jsp:param name="paramName" value="paramValue" />……</jsp:forward>注:1、page="path" 为一个表达式,或者一个字符串。
2、<jsp:param> name 指定参数名,value指定参数值。
参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。
成绩:实验报告课程名称:Java Web开发技术教程实验项目:JSP脚本、指令和动作姓名:专业:计算机科学与技术班级:学号:计算机科学与技术学院年月日实验项目名称: JSP脚本、指令和动作一、实验目的学习在jsp中使用脚本、指令和动作。
重点是page指令、include指令的运用。
二、实验内容1、用include动作在jsp页面中包含hello1.txt,用include指令包含hello2.txt。
hello1.txt内容为:你好老师;hello2.txt内容为:你好同学。
2、编写jsp页面分别显示1-10之间数字的阶乘。
3、编写一个页面,判断字符串hello2.jsp:三、实验原理page指令用来定义和操作许多重要的依赖于页面的属性,这些属性影响整个JSP文件。
page指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。
为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。
page指令的语法为:<%@ page attribute1 = "value1" attribute2 = "value2" attribute3 =… %>include指令如果需要在一个JSP页面中包括另一个文件,可以使用include指令。
指令的语法形式为:<%@ include file="relativeURL" %>该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。
include 指令能让页面内容分成几个组成部分分别管理。
四、实验步骤及截图1、用include动作在jsp页面中包含hello1.txt,用include指令包含hello2.txt。
hello1.txt内容为:你好老师;hello2.txt内容为:你好同学。
hello1.jsp:<%@page contentType="text/html;charset=GB2312"%><HTML><BODY><H3><jsp:include page="hello1.txt" /></H3></BODY></HTML>输出结果如图1—1图1—1<%@page contentType="text/html;charset=GB2312"%> <HTML><BODY><H3><%@include file="hello2.txt" %></H3></BODY></HTML>输出结果如图1-2图1-22、编写jsp页面分别显示1-10之间数字的阶乘。
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。
JSP动作Jsp:include<%@include>案例:a页面包含b页面a.jsp<body>this is a .jsp!!!<br><h1><jsp:include page="b.jsp"></jsp:include></h1></body>Jsp动作和jsp指令:1、前者运行的时候调用被包含者,后者编译的时候就将被包含页面导入进来2、前者执行速度不如后者Jsp:forward向前链接。
案例:模拟登录以后跳转到一个主页面Login.jsp:<body><jsp:forward page="index.jsp"><jsp:param value="xiaoming"name="username"/><jsp:param value="22"name="age"/></jsp:forward></body>跳转叫做请求跳转,login.jsp和inxde.jsp再一个请求中。
地址栏上面的网址不变Index.jsp接受参数:<body>login success!!!欢迎<%String name=request.getParameter("username");out.print(name);%></body></html>Jsp:useBeanBean:Java类对javabean规范:1、属性必须定义为私有,,然后定义其getter、setter方法2、必须有空参数的构造方法语法:<jsp:useBean id=”” scope=”” class=””/>Id表示javabean对应的变量名称Scope表示变量存活的范围Class表示这个类的全名案例1:使用bean的jsp:<body><jsp:useBean id="bean"scope="page"class="org.wsfy.MyBean"/> <%int c= bean.add(2,1);out.print( c);%></body></html>定义的MyBean:public class MyBean {public int add(int a,int b){return a+b;}}。
实验七jsp指令与动作练习一、实验目的及任务通过该实验,使学生熟悉jsp的include指令、include动作、forward动作。
二、实验环境及条件主机操作系统为Windows2000或Windows XP,Tomcat5.5,j2sdk150或以上版本。
三、实验实施步骤1.用记事本或写字板编写zhiling.jsp,并保存在tomcat安装目录的webapps\ROOT 目录下,内容如下:<%@ page contentType="text/html; charset=gb2312"%><html><head><title>include指令应用</title></head><body><font size=5 face="隶书" color=blue>include指令应用</font><br><hr><font size="4" color=red><b>现在的日期和时间是:<br><%@ include file="time.jsp"%></font></body></html>2.用记事本或写字板编写time.jsp,并保存在tomcat安装目录的webapps\ROOT 目录下,内容如下:<%@ page language="java" import="java.util.*" %><%=(new Date()).toLocaleString()%>3.在浏览器中运行http://localhost:8080/ zhiling.jsp4.用记事本或写字板编写dongzuo.jsp文件,并保存在tomcat安装目录的webapps\ROOT目录下,内容如下:<%@ page contentType="text/html;charset=GB2312"%><html><head><title>jsp:include动作</title></head><body><div align="center"><font size="5" face="隶书" color=blue><b>求一个数的阶乘<br></font><jsp:include page="jiecheng.jsp"><jsp:param name="num" value="8"/></jsp:include></div></body></html>5.用记事本或写字板编写jiecheng.jsp文件,并保存在tomcat安装目录的webapps\ROOT目录下,内容如下:<%@ page contentType="text/html;charset=GB2312"%><html><head><title>jsp:include动作</title></head><body><% String str=request.getParameter("num");if(str==null){str="1";}int n=Integer.parseInt(str);double s=1;for(int i=1;i<=n;i++)s*=i;%><div align="center"><font size="5" face="隶书" color=green><b><%=n%>!=<%=s%></font></div></body></html>6.在浏览器中运行http://localhost:8080/dongzuo.jsp7.用记事本或写字板编写forward.jsp文件,内容如下:<%@ page contentType="text/html; charset=gb2312"%><html><head><title>jsp:forward动作</title></head><body><% double i=Math.random();if(i>0.5){%><jsp:forward page="ex1.jsp"><jsp:param name="num" value="<%=i%>"/> </jsp:forward><% }else{%><jsp:forward page="ex2.jsp"><jsp:param name="num" value="<%=i%>"/></jsp:forward><% }%><p>请注意这句话和下面的内容能输出吗?<%=i%></body></html>8.用记事本或写字板编写ex1.jsp文件,内容如下:<%@ page contentType="text/html; charset=gb2312"%><html><head><title>forward动作应用</title></head><body bgcolor="#FFCCFF"><font size="6" face="新宋体"><% String str=request.getParameter("num");double n=Double.parseDouble(str);%><p>你传过来的数值是:<%=n%><p><%=n%>的平方是:<%=Math.pow(n,2)%><p><%=n%>的平方根是:<%=Math.sqrt(n)%></body></html>9.用记事本或写字板编写ex2.jsp文件,内容如下:<%@ page contentType="text/html; charset=gb2312"%> <html><head><title>forward动作应用</title></head><body bgcolor="#FFFF00"><font size="5"><% String str=request.getParameter("num");double n=Double.parseDouble(str);%><p>你传过来的数值是:<%=n%></body></html>10.在浏览器中运行http://localhost:8080/forward.jsp四、实验报告内容1.总结include指令的作用。