วันจันทร์ที่ 25 มีนาคม พ.ศ. 2556

JAVAEE : Servlet Part 4 Request Life Cycle

วันนี้มาเรียนรู้ Request Life Cycle หรือวิถีชีวิตของ Request นั่นเอง

Request ของ Servlet มีชีวิตและตายได้นะครับ ซึ่งนั้นก็คือ Request Scope ที่จะได้เรียนถัดไปนั่นเอง

เมื่อมีการเรียกเข้ามา 1 ครั้ง ก็จะเกิดการสร้าง thread เพื่อมารับ request และประมวลผลและส่งกลับ นั้นคือ 1 request ซึ่งจริงๆ ดูง่ายๆ ครับ หาก url ยังไม่เปลี่ยนไปนั่นแสดงว่า request เดิมครับ

มี 2 เมธอดมาแนะนำ

// MyServlet

RequestDispatcher rd = request.getRequestDispatcher("page2.jsp");
rd.forward(request,response);


กับ
response.sendRedirect("page2.jsp");

หาก เรียกมาที่ MyServlet?param1=test


  แบบ 1  url ที่จะได้จะเป็น MyServlet?param1=test  อยู่ ที่หน้า page2.jsp หากแสดงค่า request.getParameter("param1"); ก็จะได้ค่า test ที่เราส่งให้ไปครับ สังเกตว่าแม้อยู่ในหน้า page2.jsp ก็สามารถรับค่า parameter ที่ส่งมาจาก MyServlet ได้อยู่แสดงว่าเป็น Request เดียวกันอยู่ครับ


แบบ 2 url ที่จะได้จะเป็น page2.jsp ซึ่งเมื่อทำแบบเดียวค่า request.getParameter("param1"); ก็จะได้ค่าเป็น null ซึ่งเป็นค่าว่างเปล่าของ String ใน java นั่นเอง


สำหรับ jsp  ก็คือจะมี jsp:forward ใช้สำหรับเพื่อให้เป็น request เดียวกันครับ และ jsp:forward ได้ครับ ซึ่งจะเป็นการเปลี่ยนไปหน้าถัดไปโดยไม่สนใจค่าในหน้าเดิมเลยครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น