มีความแตกต่างที่สำคัญระหว่างการเปลี่ยนเส้นทางและการส่งต่อ: เมื่อใช้การส่งต่อ คอนเทนเนอร์ JSP จะใช้วิธีการภายในเพื่อเรียกเพจเป้าหมาย และเพจใหม่จะดำเนินการตามคำขอเดียวกันต่อไป และเบราว์เซอร์จะไม่ทราบเกี่ยวกับกระบวนการนี้ ในทางตรงกันข้าม วิธีการเปลี่ยนเส้นทางหมายความว่าหน้าแรกจะแจ้งให้เบราว์เซอร์ส่งคำขอหน้าใหม่ เนื่องจากเมื่อคุณใช้การเปลี่ยนเส้นทาง URL ที่แสดงในเบราว์เซอร์จะกลายเป็น URL ของเพจใหม่ และเมื่อคุณใช้การส่งต่อ URL จะไม่เปลี่ยนแปลง การเปลี่ยนเส้นทางช้ากว่าการส่งต่อเนื่องจากเบราว์เซอร์ต้องทำคำขอใหม่ ในเวลาเดียวกัน เนื่องจากวิธีการเปลี่ยนเส้นทางสร้างคำขอใหม่ ออบเจ็กต์ในคำขอจะไม่สามารถใช้ได้หลังจากการเปลี่ยนเส้นทาง
จะเลือกเปลี่ยนเส้นทางหรือส่งต่อได้อย่างไร? โดยปกติแล้วการส่งต่อจะเร็วกว่าและสามารถเก็บออบเจ็กต์ไว้ในคำขอได้ ดังนั้นจึงเป็นตัวเลือกแรก อย่างไรก็ตาม เนื่องจากหลังจากการส่งต่อ URL ในเบราว์เซอร์ยังคงชี้ไปที่หน้าเริ่มต้น หากมีการโหลดหน้าปัจจุบัน หน้าเริ่มต้นจะถูกเรียกอีกครั้ง หากคุณไม่ต้องการเห็นสิ่งนี้เกิดขึ้น ให้เลือกการส่งต่อ
ความแตกต่างระหว่างการส่งต่อและการเปลี่ยนเส้นทาง
อย่าใช้ขอบเขตเซสชันเพียงเพื่อส่งตัวแปรไปยังหน้าถัดไป ซึ่งจะเพิ่มขอบเขตของตัวแปรโดยไม่มีเหตุผลอาจช่วยคุณแก้ปัญหานี้ได้
เปลี่ยนเส้นทาง: ตัวแปรทั้งหมดที่จัดเก็บไว้ในคำขอก่อนหน้าไม่ถูกต้องและป้อนขอบเขตคำขอใหม่
การส่งต่อ: ตัวแปรที่เก็บไว้ในคำขอก่อนหน้าจะไม่ไม่ถูกต้อง เช่นเดียวกับการรวมสองหน้าเข้าด้วยกัน