1
<%@ include file=".."/>   //什么是编译时包含
<jsp:include page="..."/>   //什么是运行时包含
应该在什么情况下分别应用它们2 
<%!...%>  //声明的的语句在编译为servelet的时候将作为类的属性存在,什么叫做类的属性
<%...%>  //将在编译后在类的方法内部出现,什么叫做类的方法内部
同上,应该什么区分在什么情况下应用它们呢3
<jsp:forward>动作发生的时候,如果已经有文本被写入输出流而且页面没有设置缓冲,那么将抛出一个IllegalStateException异常    
1)  什么叫"文本被写入输出流"
2)  什么叫"页面没有设置缓冲"

解决方案 »

  1.   

    1、
    <%@ 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"/>
      

  2.   

    3、这个意思就是说,在调用这个forward动作之前,在Response中不应该写出任何东西。