国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

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

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
請(qǐng)求轉(zhuǎn)送(Request Dispatching)(1)



實(shí)例演練2-3:使用forward()方法轉(zhuǎn)送HTTP請(qǐng)求

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

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

(2)         ServletAdoGet()方法內(nèi)調(diào)用forward()方法,將HTTP請(qǐng)求轉(zhuǎn)送給ServletB

n         Step 1:撰寫ServletA.java

首先,請(qǐng)利用文字編輯器撰寫一個(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)應(yīng)值得注意:

1. package scwcd.lab02;

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

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

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

19.    rd.forward(request, response);

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

n         Step 2:撰寫ServletB.java

以下是ServletB的完整程序代碼。這個(gè)Servlet被調(diào)用時(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,請(qǐng)?jiān)诿钐崾痉虑袚Q到該目錄,然后執(zhí)行javac編譯這兩個(gè)Servlet。

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

n         Step 4:在瀏覽器內(nèi)執(zhí)行ServletA

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

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

執(zhí)行結(jié)果如圖2-14所示。

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

2-14  ServletA的執(zhí)行結(jié)果(由ServletB予以回應(yīng))

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



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

聯(lián)系客服