เปลี่ยนเส้นทางหน้า Servlet
เมื่อเอกสารถูกย้ายไปยังตำแหน่งใหม่ที่เราต้องส่งให้กับลูกค้าในตำแหน่งใหม่นี้เราจำเป็นต้องใช้การเปลี่ยนเส้นทางหน้า แน่นอนมันอาจจะ Load Balancing หรือเพียงแค่การสุ่มอย่างง่ายกรณีเหล่านี้มีแนวโน้มที่จะใช้ในการเปลี่ยนเส้นทางหน้าเว็บ
เปลี่ยนเส้นทางการร้องขอไปยังหน้าอีกวิธีที่ง่ายที่สุดคือการใช้การตอบสนองวัตถุsendRedirect () วิธีการนี่คือความหมายของวิธีการนี้: การร้องขอถูกเปลี่ยนเส้นทางไปยังหน้าอื่นวิธีที่ง่ายที่สุดคือการใช้วิธี sendRedirect () ที่ตอบสนองวัตถุ ต่อไปนี้คือคำนิยามของวิธีการนี้:
โมฆะสาธารณะ HttpServletResponse.sendRedirect (ที่ตั้งของ String) พ่น IOException
วิธีนี้ร่วมกับรหัสสถานะการตอบสนองและทำเลหน้าใหม่จะถูกส่งกลับไปยังเบราว์เซอร์ นอกจากนี้คุณยังสามารถใส่ร่วมกันโดยใช้ SetStatus () และ setHeader () วิธีการเพื่อให้บรรลุผลเช่นเดียวกัน:
.... String site = "http://www.w3big.com" ; response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); ....
ตัวอย่าง
ตัวอย่างนี้แสดงให้เห็นว่า Servlet สถานที่อื่นถูกเปลี่ยนเส้นทางไปยังหน้า:
package com.w3big.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class PageRedirect */ @WebServlet("/PageRedirect") public class PageRedirect extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型 response.setContentType("text/html;charset=UTF-8"); // 要重定向的新位置 String site = new String("http://www.w3big.com"); response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); } }
ตอนนี้ขอรวบรวม Servlet ข้างต้นและสร้างรายการต่อไปนี้ในไฟล์ web.xml ไปนี้:
.... <servlet> <servlet-name>PageRedirect</servlet-name> <servlet-class>PageRedirect</servlet-class> </servlet> <servlet-mapping> <servlet-name>PageRedirect</servlet-name> <url-pattern>/TomcatTest/PageRedirect</url-pattern> </servlet-mapping> ....
ตอนนี้โดยไปที่ URL http: // localhost: 8080 / PageRedirect จะเรียก Servlet นี้ ซึ่งจะนำคุณไปยัง URL ที่กำหนด http://www.w3cschool.cc