第三章作业
1、 JSP页面使用page指令可以为属性contentType指定几个值?
*JSP页面使用page指令只能为contentType指定一个值,以此
确定响应的MIME类型。
2、 JSP页面使用page指令可以为import属性指定多个值吗?
*
可以指定多个值,例
如”java.lang.*”,”javax.servlet.*”,”javax.servlet.jsp.*”,”javax.servlet.htttp”
3、 include指令标记和Include动作标记有何不同?
*在处理方式和处理时间上是不同的。Include指令标记用嵌入
方式处理文件,在编译阶段就处理所需文件,优点是页面的执行速度快;而include动作标记不使用嵌入方式来处理所需文件,在JSP页面运行时才处理文件,也就是说,当Tomcat服务器把JSP页面转译成Java文件时,不把JSP页面中include动作标记所包含的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理,其优点是能更灵活地处理所需文件(见后面的param标记),缺点是执行速度要慢一些。
4、param动作标记经常作为哪些标记的子标记,有何不同?
*param动作标记可以作为include、forward动作标记的子标记来
使用,该标记以“名字-值”对的形式为这些动作标记提供附加信息。
5、Tag文件应当存放在怎样的目录中?
*存放到“Web服务目录\\WEB-INF\\tags”中
6、用户可以使用浏览器直接访问一个Tag文件吗?
*用户不能通过浏览器直接请求一个Tag文件
7、JSP 页面怎样调用一个Tag文件?
*JSP页面可以使用带前缀的Tag标记调用相应的Tag文件
8、编写两个Tag文件Rect.tag和Circle.tag。Rect.tag负责计算矩形的面积,Circle.tag负责计算圆的面积。编写一个JSP页面,该JSP页面使用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度,调用Circle.tag时,向其传递圆的半径。
*JSP:
<%@
page
language=\
contentType=\
charset=UTF-8\
pageEncoding=\
<%@ taglib tagdir=\ prefix=\<%@ taglib tagdir=\ prefix=\
以下是矩形的面积:
*Rect.tag
<%@ tag language=\<%@ attribute name=\<%@ attribute name=\ required=\<%! public String getArea(double a,double b){ double area=a*b;
return \矩形的面积为:\} %>
<% out.println(\页面传递过来的两条边:\
double a=Double.parseDouble(length); double b=Double.parseDouble(width); out.println(getArea(a,b)); %>
*Circle.tag
<%@ tag language=\<%@ attribute name=\ required=\<%! public String getArea(double a){ double area=3.1415926*a*a; return \圆的面积为:\
} %>
<% out.println(\页面传递过来的半径:\ double a=Double.parseDouble(radius); out.println(getArea(a)); %> 运行结果: