JSP和Servlet之間跳轉總結

轉載於:http://blog.sina.com.cn/s/blog_6e4059a40100qzrh.html

JSP和Servlet之間跳轉總結:

Request.getContextPath() 即代表 /項目名。 如/news01

一、從JSP頁面跳到其他頁面或Servlet

從JSP頁面跳到其他頁面使用全路徑( /項目名/文件的路徑 )。如項目名爲news01,頁面目錄如下

1)比如從index.jsp頁面跳到main文件夾下的list.jsp頁面:

鏈接路徑爲:/news01/main/list.jsp

2) 比如從index.jsp頁面跳到自己頁面:

鏈接路徑爲: /news01/index.jsp

3) 比如從list.jsp頁面跳到index.jsp頁面:

鏈接路徑爲: /news01/index.jsp

4)比如從list.jsp頁面跳到insert.jsp頁面

鏈接路徑爲: /news/main/insert.jsp

5)Servlet的url路徑爲:/servlet/TestServlet.

從任何JSP頁面跳轉到該servlet的鏈接路徑爲:/news01/servlet/TestServlet

6) Servlet的url路徑爲:/TestServlet.

從任何JSP頁面跳轉到該servlet的鏈接路徑爲:/news01/TestServlet

7)Form表單的action路徑示例:

二、從Servlet跳轉到JSP頁面

(一)使用requestDispatcher方式:

1、單層:servlet的URL在根目錄下(不需要斜槓開頭)

(1) 從TestServlet(urlpattern:/TestServlet)轉到根目錄下的index.jsp

跳轉語句爲:

request.gerRequestDispatcher(“index.jsp”).forward(request,response);

(2) 從TestServlet(urlpattern: /TestServlet)轉到main目錄下的list.jsp

跳轉語句爲:

request.gerRequestDispatcher(“main/list.jsp”).forward(request,response);

2、雙層或多層:servlet的URL在根目錄下(需要斜槓開頭,這裏的斜槓代表當前應用—這個項目裏即代表 /news01/

(1)從TestServlet(urlpattern:/servlet/TestServlet)轉到根目錄下的index.jsp

跳轉語句爲:

方法一:相對路徑

request.gerRequestDispatcher(“../index.jsp”).forward(request,response);

方法二:斜槓開頭

request.gerRequestDispatcher(“/index.jsp”).forward(request,response);

(3) 從TestServlet(urlpattern:/servlet/TestServlet)轉到main目錄下的list.jsp

跳轉語句爲:

方法一:相對路徑

request.gerRequestDispatcher(“../main/list.jsp”).forward(request,response);

方法二:斜槓開頭

request.gerRequestDispatcher(“/main/list.jsp”).forward(request,response);

(2)使用response.sendRedirect()

不管servlet是單層還是雙層的都使用下面這種方式:

response.sendRedirect(“/news01/index.jsp”);

response.sendRedirect(“/news01/main/list.jsp”);

其中:request.getContextPath() 即代表 /項目名。 如/news01

response.sendRedirect(request.getContextPath()+”/main/list.jsp”);

response.sendRedirect(request.getContextPath()+”/index.jsp”);

發佈了20 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章