.RequestDispatcher.forward()</P>
มันทำงานบนฝั่งเซิร์ฟเวอร์ เมื่อใช้การส่งต่อ () เอ็นจิ้น Servlet จะส่งคำขอ HTTP จาก Servlet หรือ JSP ปัจจุบันไปยัง Servlet, JSP หรือไฟล์ HTML ธรรมดานั่นคือแบบฟอร์มของคุณถูกส่งไปยัง a.jsp ใน . jsp ใช้การส่งต่อ () เพื่อเปลี่ยนเส้นทางไปยัง b.jsp ในขณะนี้ ข้อมูลทั้งหมดที่ส่งโดยแบบฟอร์มสามารถรับได้ใน b.jsp และพารามิเตอร์จะถูกส่งผ่านโดยอัตโนมัติ</P>
อย่างไรก็ตาม การส่งต่อ () ไม่สามารถเปลี่ยนเส้นทางไปยังไฟล์ jsp ด้วยเฟรมได้ โดยสามารถเปลี่ยนเส้นทางไปยังไฟล์ html ด้วยเฟรมได้ ในเวลาเดียวกัน ไม่สามารถส่งผ่านด้วยพารามิเตอร์ที่ส่วนท้ายได้ เช่น servlet?name=frank หากไม่ได้ผล คุณสามารถส่งผ่านการตอบสนองในโปรแกรม .setAttribute("name",name) เพื่อส่งผ่านไปยังหน้าถัดไปได้</P>
URL ในแถบที่อยู่ของเบราว์เซอร์ยังคงไม่เปลี่ยนแปลงหลังจากการเปลี่ยนเส้นทาง</P>
ตัวอย่าง: การเปลี่ยนเส้นทางในไฟล์เซิร์ฟเล็ต
รหัส</P>
โมฆะสาธารณะ doPost (คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse) </ P>
พ่น ServletException, IOException</P>
{</P>
response.setContentType("text/html; charset=gb2312");</P>
ServletContext sc = getServletContext();</P>
RequestDispatcher rd = null;</P>
rd = sc.getRequestDispatcher("/index.jsp");</P>
rd.forward (คำขอ, การตอบสนอง);
</P>
2.response.sendRedirect()</P>
ใช้งานได้บนเบราว์เซอร์ของผู้ใช้ sendRedirect() สามารถส่งพารามิเตอร์ เช่น servlet?name=frank ไปยังหน้าถัดไปได้ ในเวลาเดียวกัน ก็สามารถเปลี่ยนเส้นทางไปยังโฮสต์อื่นได้ และรายการที่ซ้ำกันจะปรากฏบนแถบที่อยู่ของเบราว์เซอร์ URL ของหน้าที่กำกับ</P>
sendRedirect() สามารถเปลี่ยนเส้นทางไฟล์ jsp ด้วยเฟรมได้</P>
ตัวอย่าง: การเปลี่ยนเส้นทางในไฟล์เซิร์ฟเล็ต
รหัส</P>
โมฆะสาธารณะ doPost (คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse) </ P>
พ่น ServletException, IOException</P>
{</P>
response.setContentType("text/html; charset=gb2312");</P>
response.sendRedirect("/index.jsp");</P>
-
</ป>