1
<%@ include file=".."/> //什么是编译时包含
<jsp:include page="..."/> //什么是运行时包含
应该在什么情况下分别应用它们2
<%!...%> //声明的的语句在编译为servelet的时候将作为类的属性存在,什么叫做类的属性
<%...%> //将在编译后在类的方法内部出现,什么叫做类的方法内部
同上,应该什么区分在什么情况下应用它们呢3
<jsp:forward>动作发生的时候,如果已经有文本被写入输出流而且页面没有设置缓冲,那么将抛出一个IllegalStateException异常
1) 什么叫"文本被写入输出流"
2) 什么叫"页面没有设置缓冲"
<%@ include file=".."/> //什么是编译时包含
<jsp:include page="..."/> //什么是运行时包含
应该在什么情况下分别应用它们2
<%!...%> //声明的的语句在编译为servelet的时候将作为类的属性存在,什么叫做类的属性
<%...%> //将在编译后在类的方法内部出现,什么叫做类的方法内部
同上,应该什么区分在什么情况下应用它们呢3
<jsp:forward>动作发生的时候,如果已经有文本被写入输出流而且页面没有设置缓冲,那么将抛出一个IllegalStateException异常
1) 什么叫"文本被写入输出流"
2) 什么叫"页面没有设置缓冲"
<%@ include file=".."/> 是先包含再编译
<jsp:include page="..."/> 是先(分别)编译,再包含。2、
属性的说法不准确,应该叫成员。
所有 <%...%> 的代码实际上是放在一个方法里面,比如 _jspService()。建议楼主看看
%TOMCAT_HOME%\work\Catalina\localhost 中生成的 java 文件。3、
这句话的意思换句话说就是:
如果浏览器的请求已经回应过了,则处理 <jsp:forward> 将会抛出异常。
例如:
<%
response.sendRedirect("go.html");
// 已经回应了请求
%>
<jsp:forward page="go1.html"/>