总结一下servlet和jsp中:包含,重定向,转发的方式:
总结一下servlet和jsp包含,重定向,转发的方式:
forward:是指转发,将当前request和response对象保存,交给指定的url处理。地址栏的地址不会发生改变。 redirect:是指重定向,包含两次浏览器请求,浏览器根据url请求一个新的页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变。 include:意为包含,即包含url中的内容:1.静态包含:将多个页面编译成一个servlet;2.动态包含:每个页面编译成一个servlet,运行时将所有servlet的内容组合到一起。
转发:
servlet中:
request.getRequestDispatcher("/success.html").forward(request, response); getServletContext().getRequestDispatcher("").forward(request, response); getServletContext().getNamedDispatcher("").forward(request, response);
jsp标签:
<jsp:forward page="url">
jsp隐式对象:
pageContext.forward("");
重定向:
下面内容的补充:(jsp(8)[3;5])jsp(5)(一)[4.1;4.8]
servlet中:
response.sendRedirect(request.getContextPath()+"/fail.html");
html(content单位秒):
<meta http-equiv="refresh" content="300; url=target.jsp">//将给内容以内容形式发送给浏览器解析
http属性refresh:
response.setHeader("refresh","300; url=target.jsp"); //300是延迟时间
http状态码:
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); //302状态码 response.setHeader("Location","/newpath/jsa.jsp");
包含:
(对静态标签详解:jsp(13)[3.6.2])
静态包含:
jsp指令:include指令
<%@ include file="Header.jsp"%>
动态包含:
(对隐式对象的详解jsp(14))
可以看到ServletRequest接口和ServletContext接口各自提供了一个同名的方法getRequestDispatcher(),那么这两个方法有什么区别呢? 两个getRequestDispatcher()方法的参数都是资源的路径名,不过ServletContext接口中的getRequestDispatcher()方法的参数必须以斜杠(/)开始,被解释为相对于当前上下文根(context root)的路径。 例如:/myservlet是合法的路径,而../myservlet是不合法的路径。 而ServletRequest接口中的getRequestDispatcher()方法的参数不但可以是相对于上下文根的路径,而且可以是相对于当前Servlet的路径。 例如:/myservlet和myservlet都是合法的路径,如果路径以斜杠(/)开始,则被解释为相对于当前上下文根的路径;如果路径没有以斜杠(/)开始,则被解释为相对于当前Servlet的路径。 ServletContext接口中的getNamedDispatcher()方法则是以在部署描述符中给出的Servlet(或JSP页面)的名字作为参数。 调用ServletContext对象的getContext()方法可以获取另一个Web应用程序的上下文对象,利用该上下文对象调用 getRequestDispatcher()方法得到的 RequestDispatcher 对象,可以将请求转发到另一个Web应用程序中的资源。 但要注意的是,要跨Web应用程序访问资源,需要在当前Web应用程序的<context>元素的设置中,指定crossContext属性的值为true
request和context:
request.getRequestDispatcher("/success.html").include(request, response); getServletContext().getRequestDispatcher("").include(request, response); getServletContext().getNamedDispatcher("").include(request, response);
jsp隐式对象:
pageContext.include("");
jsp标签:include标准动作
<jsp:include page=“Header.jsp”/>
采用JSTL
<c:import url="http://www.sina.com/index.html">

浙公网安备 33010602011771号