Jsp中include与forward的区别

Jsp:

<jsp:forward>:用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)。依然是一次请求,请求参数和属性不会丢失。可以加额外参数(<jsp:param  name=" " value=" ”/>)目标页面代替原有页面,URL不变

浏览器---->A.jsp--->B.jsp


<jsp:include page="{relativeURL|<%=expression%>}" flush="true">:动态导入,不会导入被导页面的编译指令,仅body页面插入.flush:true 输出缓存包含在导入文件中。可以加额外参数(<jsp:param  name=" " value=" ”/>)目标页面插入原有页面,URL不变


<%@include%  file=xxx.jsp>:静态导入,将外部文件嵌到当前文件中,融合成一个页面,被导页面的编译指令起作用
 
 
request:
request.getRequestDispatcher(“/a.jsp”).forward(request,response):优点:不用固定文件名。可以传递request参数,response的传不了,forward下面的不执行
request.getRequestDispatcher(“/a.jsp”).include(request.response):include以下的代码会因为include先调用而无法在页面显示出来。
response:
response.sendRedirect(" "):重定向发送二次请求,第一次request参数,request范围内的属性丢失,新URL
浏览器--->A.jsp---->浏览器----B.jsp

猜你喜欢

转载自blog.csdn.net/qq_38230811/article/details/80822513