title: One of the difference between JSP include directive and JSP include tag
body: <p>Accodign to the JSP specification:</p>
  
  <blockquote>
    <p>A JSP container can include a mechanism for being notified if an
    included file changes, so the container can recompile the JSP page.
    However, the JSP 1.2 specification does not have a way of directing
    the JSP container that included files have changed.</p>
  </blockquote>
  
  <p>And I found this in an on-line tutorial:</p>
  
  <blockquote>
    <p>If the included file is changed but not the JSP which is including it
    then the changes will reflect only when we use include action tag. The
    changes will not reflect if you are using include directive as the JSP
    is not changed so it will not be translated (during this phase only
    the  file gets included when using directive) for request processing
    and hence the changes will not reflect.</p>
  </blockquote>
  
  <p>then, I write an example to try it : A.jsp, B.jsp, and C.jsp, </p>
  
  <p>A.jsp includes C.jsp using JSP include directive：</p>
  
  <pre><code>&lt;%@ include file="/jsp/C.jsp" %&gt; 
  </code></pre>
  
  <p>B.jsp includes C.jsp using JSP include tag:</p>
  
  <pre><code>&lt;jsp:include page="/jsp/C.jsp" /&gt;
  </code></pre>
  
  <p>and when I access A.jsp and B.jsp in the borwser, thay both display normally, 
  then I changed C.jsp, and I refeshed A.jsp and B.jsp, both of them can display the change of C.jsp. but if the JSP spec is true, the A.jsp shouldn't display the change of C.jsp.
  is there anything wrong?</p>