<@include>和<jsp:Include>的区别
<@include>是将要包含文件的源码(java代码)加进来,然后一起进行编译,因此为编译包含。
<jsp:Include>把将文件两个文件各自运行,运行完毕后,把要包含页面的运行结果HTML页面加入到自身的运行结果HTML页面,所以是运行时包含。
属性 | include指令 | include动作 |
---|
包含方式 | 编译包含 | 运行包含 |
对象 | 静态 | 动态 |
描述 | include指令将对所包含的文件进行语法分析 | include动作不会对包含的文件进行语法分析 |
Column 1 | Column 2 |
---|
centered 文本居中 | right-aligned 文本居右 |
<jsp:forward>和response.sendRedirect()的区别
- <jsp:forward>不会执行下面的语句,reponse.sendRedirect()会执行程序下面的语句,除非有return
- <jsp:forward>可以用<jsp:param/>来传递参数,response.sendRedirect如需要传递参数,则可以在url地址的后面加上?name1(要传递的参数1)=xxx&name2(要传递的参数2)=xxxx…
- <jsp:forward>是服务器端跳转,在进行页面跳转的时候,不会呈现跳转后的URL地址,不会产生新的request和response;response.sendRedirect()为客户端跳转,呈现的跳转后的URL地址,它会将URL地址发送至客户端,再由客户端发送新的request请求到服务器端,在跳转的过程中,会产生新的request和response。
- <jsp:forward>在服务器端直接完成转换,直接发送给客户端最终要到达的页面,因此速度较快;response.sendRedirect涉及服务器端和客户端的往返,因此在执行期间会耗费较长的时间