1. 程式人生 > >JSP與Servlet相互跳轉小結

JSP與Servlet相互跳轉小結

JSP跳轉到Servlet:

1.<jsp:forward page="url"></jsp:forward>注意,這裡的url不能直接寫你的servlet名稱,而要填寫web.xml裡該servlet的url-pattern,即“/xxxServlet"形式。有斜槓,斜槓,槓。另外,這種方式直接跳走了,在servlet裡寫上跳轉回原頁面的語句,就會報錯java.io.IOException: Stream closed。

2.<jsp:include page="url"><jsp:param name="xx" value="xx"/></jsp:include>同上,url有斜槓。這種方式的好處是servlet裡不用寫跳轉語句,會自動回到原來頁面,因為這是一個動態包含檔案命令。另外,該方式還能傳遞多個引數,你懂的。

3.藉助javascript.如<script type="text/javascript">window.location="xxxServlet"</script>

Servlet跳轉到JSP

1.response.sendRedirect("URL")跳轉後瀏覽器位址列變化。可以將頁面跳轉到任何頁面,不一定侷限於本web應用中。
這種方式要傳值出去的話,只能在url中帶parameter或者放在session中,無法使用request.setAttribute來傳遞。

2.request.getRequestDispatcher("/a.jsp")。dispatcher .forward(request, response);
Servlet頁面跳轉的路徑是相對路徑。forward方式只能跳轉到本web應用中的頁面上。跳轉後瀏覽器位址列不會變化。
使用這種方式跳轉,傳值可以使用三種方法:url中帶parameter,session,request.setAttribute