欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
請求轉送(Request Dispatching)(1)



實(shí)例演練2-3:使用forward()方法轉送HTTP請求

在實(shí)例演練2-3中,您將學(xué)習如何使用forward()方法,實(shí)現步驟如下:

(1)         建立兩個(gè)ServletServletAServletB

(2)         ServletAdoGet()方法內調用forward()方法,將HTTP請求轉送給ServletB

n         Step 1:撰寫(xiě)ServletA.java

首先,請利用文字編輯器撰寫(xiě)一個(gè)ServletA.java,其完整程序代碼如下:

1.  package scwcd.lab02;

2.  

3.  import java.io.*;

4.  import javax.servlet.*;

5.  import javax.servlet.http.*;

6.  

7.  public class ServletA extends HttpServlet {

8.    public void doGet(HttpServletRequest request,

9.                          HttpServletResponse response)

10.                throws IOException, ServletException {

11.      response.setContentType("text/html");

12.     PrintWriter out = response.getWriter();

13.     out.println("<html><body>");

14.     out.println("This is generated by ServletA!");

15.     out.println("</body></html>");

16.    

17.     String path = "/servlet/scwcd.lab02.ServletB";

18.     RequestDispatcher rd = request.getRequestDispatcher(path);

19.     rd.forward(request, response);

20.   }

21. } 

ServletA.java范例程序中,下列兩點(diǎn)應值得注意:

1. package scwcd.lab02;

為了方便管理,筆者將ServletA.java包含在scwcd.lab02組件包內。這意味著(zhù)您必須先在<Tomcat安裝路徑>\webapps\ROOT\WEB-INF\classes目錄內建立一個(gè)scwcd目錄,再建立一個(gè)lab02子目錄,然后將ServletA.java存放在lab02目錄下(您也可以將ServletA.java存放在其他目錄,只將編譯后的ServletA.class存放在lab02目錄下)。這樣做的好處是有利于各種Servlet類(lèi)文件的管理。

17.    String path = "/servlet/scwcd.lab02.ServletB";

18.    RequestDispatcher rd = request.getRequestDispatcher(path);

19.    rd.forward(request, response);

1718行是利用ServletRequest接口的getRequestDispatcher()方法來(lái)取得RequestDispatcher對象的。注意,path變量設定為"/servlet/scwcd.lab02.ServletB"(假設ServletB也位于scwcd/lab02目錄下)。第19行則是利用forward()方法執行“請求轉送”動(dòng)作。

n         Step 2:撰寫(xiě)ServletB.java

以下是ServletB的完整程序代碼。這個(gè)Servlet被調用時(shí)將傳回“ This is generated by ServletB!”信息。注意,ServletB也隸屬于scwcd.lab02組件包。

1.      package scwcd.lab02;

2.      

3.      import java.io.*;

4.      import javax.servlet.*;

5.      import javax.servlet.http.*;

6.      

7.      public class ServletB extends HttpServlet {

8.        public void doGet(HttpServletRequest request,

9.                                HttpServletResponse response)

10.                 throws IOException, ServletException {

11.       response.setContentType("text/html");

12.       PrintWriter out = response.getWriter();

13.       out.println("<html><body>");

14.       out.println("This is generated by ServletB!");

15.       out.println("</body></html>");

16.    } 

17.  }

n         Step 3:編譯ServletAServletB

參考下列方式編譯ServletAServletB

n           如果您是將ServletA.javaServletB.java存放在C:\Tomcat\webapps\ROOT\WEB-INF\ classes\scwcd\lab02,請在命令提示符下切換到該目錄,然后執行javac編譯這兩個(gè)Servlet。

n           如果ServletA.javaServletB.java存放在其他目錄下,可先行編譯這兩個(gè)Servlet,然后將ServletA.classServletB.class復制到C:\Tomcat\webapps\ROOT\WEB-INF\classes\scwcd\ lab02目錄下。

n         Step 4:在瀏覽器內執行ServletA

完成Servlet的編譯后,重新啟動(dòng)Tomcat服務(wù)器,然后在瀏覽器內輸入下列網(wǎng)址:

http://localhost:8080/servlet/scwcd.lab02.ServletA

執行結果如圖2-14所示。

screen.width-333)this.width=screen.width-333">

2-14  ServletA的執行結果(由ServletB予以回應)

依照ServletA.java的程序代碼(第1215行),應該會(huì )由PrintWriter對象(out)打印出“This is generated by ServletA!”信息,但是執行結果卻只有ServletB的回應信息,這是因為調用forward()方法前,原先存放在HttpResponse對象的內容已經(jīng)被清除,所以瀏覽器內只會(huì )顯示ServletB的回應結果。這一點(diǎn)是在調用forward()方法時(shí)必須特別小心的。



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java web中servlet、jsp、html 互相訪(fǎng)問(wèn)的路徑問(wèn)題。
Servlet,Filter的url-pattern詳解
ajax 跨域訪(fǎng)問(wèn)
java web 文件上傳與下載
韓順平2011細說(shuō)Servlet筆記2
jasperreports表報
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久