เราสามารถเขียนตัวสร้างพารามิเตอร์ในเซิร์ฟเล็ตได้หรือไม่?
เราสามารถเขียนตัวสร้างพารามิเตอร์ในเซิร์ฟเล็ตได้หรือไม่?

วีดีโอ: เราสามารถเขียนตัวสร้างพารามิเตอร์ในเซิร์ฟเล็ตได้หรือไม่?

วีดีโอ: เราสามารถเขียนตัวสร้างพารามิเตอร์ในเซิร์ฟเล็ตได้หรือไม่?
วีดีโอ: ServletConfig and ServletContext 2024, พฤศจิกายน
Anonim

คุณไม่สามารถมี ตัวสร้างพารามิเตอร์ ในวัตถุที่สร้างขึ้นแบบไดนามิกโดยซอฟต์แวร์บางตัวเช่นใน เซิร์ฟเล็ต . หากคุณดำเนินการ เซิร์ฟเล็ต อินเทอร์เฟซ เขียน NS เซิร์ฟเล็ต (แทนที่จะขยาย HttpServlet) คุณไม่สามารถมี ตัวสร้าง (ในอินเทอร์เฟซ)

รู้ยัง เราสามารถเขียนคอนสตรัคเตอร์ในเซิร์ฟเล็ต?

ใช่, Servlet สามารถ มี ตัวสร้าง มันถูกกฎหมายอย่างสมบูรณ์แต่ไม่ใช่วิธีที่ถูกต้องในการเริ่มต้นของคุณ เซิร์ฟเล็ต . คุณควรใช้วิธีการ init() ที่จัดเตรียมโดย เซิร์ฟเล็ต อินเทอร์เฟซเพื่อเริ่มต้น เซิร์ฟเล็ต.

อาจมีคนถามว่า เราสามารถใช้ constructor แทน init ใน Servlet ได้หรือไม่? คำตอบสั้น ๆ ของคำถามนี้ ใช่ เซิร์ฟเล็ต คลาสการใช้งาน สามารถ มี ตัวสร้าง แต่พวกเขาควรจะ ใช้ init () วิธีการ เริ่มต้น Servlet ด้วยเหตุผลสองประการ ประการแรกคุณไม่สามารถประกาศได้ ตัวสร้าง บนอินเทอร์เฟซใน Java ซึ่งหมายความว่าคุณไม่สามารถบังคับใช้ข้อกำหนดนี้กับคลาสใด ๆ ที่ใช้ เซิร์ฟเล็ต

ในทำนองเดียวกัน มีคนถามว่า constructor สามารถใช้กับ servlet ได้อย่างไร?

ในทางเทคนิค คุณ สามารถ กำหนด ตัวสร้าง ใน เซิร์ฟเล็ต . แต่ประกาศ ตัวสร้างไม่สามารถ เข้าถึงวัตถุ ServletConfig หรือโยน ServletException ดังนั้น init() คือ ใช้แล้ว เพื่อเริ่มต้นโดยส่งออบเจ็กต์ที่ใช้งานของอินเทอร์เฟซ ServletConfig และพารามิเตอร์ที่จำเป็นอื่น ๆ

พารามิเตอร์ init ในเซิร์ฟเล็ตคืออะไร?

เซิร์ฟเล็ต ข้อกำหนดให้วิธีการที่จะให้ พารามิเตอร์เริ่มต้น เพื่อ เซิร์ฟเล็ต เมื่อมีการเริ่มต้น นั่นคือ ในนั้น () วิธีการเสร็จสมบูรณ์ เหล่านี้ พารามิเตอร์เริ่มต้น มีอยู่ใน เซิร์ฟเล็ต . พารามิเตอร์ สามารถเข้าถึงได้โดยใช้เมธอด String getInitParameter(String name) สาธารณะ