แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่าง Applet และ Servlet ใน Java

Applet และ servlet เป็นโปรแกรม Java หรือแอปพลิเคชั่นขนาดเล็ก แต่ทั้งคู่ได้รับการประมวลผลในสภาพแวดล้อมที่แตกต่างกัน ความแตกต่างพื้นฐานระหว่างแอปเพล็ตและเซิร์ฟเล็ตคือ แอปเพล็ต จะถูกดำเนินการบนฝั่งไคลเอ็นต์ในขณะที่การดำเนินการ servlet บนฝั่งเซิร์ฟเวอร์ ทั้งสองต่างกันในบริบทต่าง ๆ ให้เราศึกษาความแตกต่างระหว่างแอปเพล็ตและ servlet ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบ

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบAppletservlet
การกระทำApplet จะถูกดำเนินการในฝั่งไคลเอ็นต์เสมอServlet จะถูกดำเนินการบนฝั่งเซิร์ฟเวอร์เสมอ
แพคเกจนำเข้า java.applet. *;
นำเข้า java.awt. *;
นำเข้า javax.servlet. *;
นำเข้า java.servlet.http. *;
วิธีการวงจรชีวิตinit (), stop (), paint (), start (), destroy ()init (), service () และ destroy ()
หน้าจอผู้ใช้Applets ใช้คลาสส่วนต่อประสานผู้ใช้เช่น AWT และ Swingไม่จำเป็นต้องมีส่วนต่อประสานกับผู้ใช้
ความต้องการต้องใช้เบราว์เซอร์ที่สามารถใช้งานร่วมกับจาวามันประมวลผลอินพุตจากฝั่งไคลเอ็นต์และสร้างการตอบสนองในแง่ของหน้า HTML, Javascript, Applets
ทรัพยากรเมื่อมาถึงลูกค้าจะใช้ทรัพยากรของลูกค้าในการผลิตส่วนต่อประสานกราฟิกและเรียกใช้การคำนวณที่ซับซ้อน
มันใช้ทรัพยากรของเซิร์ฟเวอร์ในการประมวลผลคำขอและการตอบสนองของลูกค้า
การใช้แบนด์วิดท์Applets ใช้แบนด์วิดท์เครือข่ายมากขึ้นในขณะที่ทำงานบนเครื่องไคลเอนต์Servlets ถูกดำเนินการบนเซิร์ฟเวอร์และด้วยเหตุนี้จึงต้องใช้แบนด์วิดท์น้อย
ความปลอดภัยมีแนวโน้มที่จะเสี่ยงมากขึ้นเนื่องจากอยู่บนเครื่องไคลเอนต์มันอยู่ภายใต้ความปลอดภัยของเซิร์ฟเวอร์

คำจำกัดความของแอปเพล็

Applet เป็นโปรแกรม Java ขนาดเล็กที่ฝังอยู่ในโค้ด HTML สำหรับการดำเนินการและถูกเรียกใช้งานบนเครื่องฝั่งไคลเอ็นต์ ไลบรารี API ของ Java มีแพ็คเกจที่เรียกว่า "แอปเพล็ต" ซึ่งมีคลาสที่ชื่อว่า "Applet" แอปเพล็ตใด ๆ ที่คุณสร้างควรเป็นคลาสย่อยของคลาสแอปเพล็ตและคลาสย่อยนั้นจะต้องประกาศว่า "สาธารณะ" เนื่องจากรหัสจะถูกเข้าถึงได้โดยรหัสที่อยู่นอกโปรแกรม ตอนนี้ให้เราเข้าใจการสร้างแอปเพล็ด้วยความช่วยเหลือของตัวอย่างง่ายๆ

 นำเข้า java.awt. *; นำเข้า java.applet. *; สวัสดีประชาชนขยาย Applet {สีโมฆะสาธารณะ (กราฟิก g) {g.drawString ("Hello Applet", 20, 20); }} 

ในโค้ดข้างต้นคำสั่งการนำเข้าสองรายการคือแพ็คเกจ“ awt” และแพ็คเกจ“ applet” ซึ่งจำเป็นในการสร้างแอปเพล็ตใด ๆ วิธีการ paint () ในรหัสถูกกำหนดใน package awt ซึ่งถูกแทนที่โดยแอปเพล็ตที่สร้างขึ้น ในขณะที่คุณสามารถดูคลาส Hello ได้ขยายคลาสแอปเพล็ตซึ่งกำหนดไว้ในแอปเพล็ตแพ็คเกจ ตอนนี้คุณต้องบันทึกไฟล์นี้ด้วยชื่อคลาสเช่น Hello.java มีสองวิธีในการเรียกใช้แอปเพล็ตที่:

  • เรียกใช้แอปเพล็ตในเว็บเบราว์เซอร์ที่ทำงานร่วมกับ Java ได้
  • ดำเนินการโดยใช้ appletviewer ซึ่งเป็นวิธีที่เร็วที่สุดในการเรียกใช้งานแอพเพล็ต

วิธีแรกของการเรียกใช้งานแอปเพล็ตในเว็บเบราว์เซอร์ที่ทำงานร่วมกับจาวาได้นั้นจำเป็นต้องสร้างโปรแกรม HTML ที่ฝังแอปเพล็ตที่สร้างขึ้นในไฟล์ Hello.java

 // รหัส html 

ที่นี่รหัสแอปเพล็ต“ Hello” คือชื่อของไฟล์ที่คุณสร้างแอปเพล็ต ตอนนี้ให้บันทึกไฟล์นี้ว่า, hello.html สิ่งที่คุณต้องใช้ในการเรียกใช้ไฟล์นี้ในเว็บเบราว์เซอร์คือการโหลดไฟล์ HTML นี้ในเว็บเบราว์เซอร์และแอปเพล็ตจะถูกดำเนินการ

วิธีที่สองสำหรับการเรียกใช้งานแอปเพล็ตใน appletviewer คือคำสั่งที่คุณต้องการใช้ในการเรียกใช้แอปเพล็ตใน appletviewer มีดังนี้

 > appletviewer hello.html 

นอกจากนี้ยังมีวิธีที่สะดวกอีกวิธีหนึ่งในการเพิ่มความเร็วในการประมวลผล ฝังรหัส HTML เป็นความคิดเห็นในจุดเริ่มต้นของไฟล์ต้นฉบับ Hello.java

 นำเข้า java.awt. *; นำเข้า java.applet. *; / * * / คลาสสาธารณะ Hello ขยาย Applet {สีโมฆะสาธารณะ (กราฟิก g) {g.drawString ("Hello Applet", 20, 20); }} 

ในการรันแอปเพล็ตคุณจะต้องผ่านคำสั่ง:

 > javac Hello.java> appletviewer Hello.java 

วิธีวงจรชีวิตในคลาส Applet คือ, init (), service () และ destroy () เมธอด init () ถูกเรียกใช้เมื่อเริ่มต้นแอปเพล็ต เมธอด start () ถูกเรียกใช้เมื่อแอปเพล็ตเริ่มต้นหรือรีสตาร์ท เมธอด stop () ถูกเรียกใช้เมื่อแอปเพล็ตถูกยกเลิก วิธีการทาสี (กราฟิก) จะถูกเรียกใช้เมื่อต้องมีการทาสีใหม่ของแอปเพล็ต เมธอด destroy () ถูกเรียกใช้เมื่อแอปเพล็ตกำลังถูกทำลาย

บันทึก:
คุณสามารถสังเกตเห็นว่าคลาสแอปเพล็ตไม่มี main () วิธีการแทนการดำเนินการของแอปเพล็เริ่มต้นเมื่อชื่อของแอปเพล็ถูกส่งผ่านไปยัง appletviewer หรือไฟล์ HTML ที่มีชื่อแอปเพล็ตถูกโหลดในเว็บเบราว์เซอร์

ความหมายของ Servlet

เช่นเดียวกับ Applets Servlets ยังเป็นโปรแกรม Java ขนาดเล็กที่ทำงานบนฝั่งเซิร์ฟเวอร์ ปัญหาประสิทธิภาพการทำงานในโปรแกรม CGI ขึ้นอยู่กับแพลตฟอร์มให้เปิดตัว Servlets Servlets เป็นอิสระจากแพลตฟอร์ม วัตถุประสงค์หลักของ servlet คือการรวบรวมคำขอจากลูกค้าและสร้างหน้าเว็บที่ร้องขอแบบไดนามิกสำหรับคำขอที่สอดคล้องกันและส่งกลับไปยังลูกค้า

สามารถสร้าง Servlets โดยใช้แพ็คเกจ javax.servlet และ java.servlet.http วิธีการวงจรชีวิตของ servlets คือ init (), service () และ destroy () เมธอดเหล่านี้ถูกเรียกใช้โดยเซิร์ฟเวอร์เมื่อจำเป็น
init () : เมธอดนี้ถูกเรียกใช้โดยเซิร์ฟเวอร์เมื่อเริ่มโหลดเซิร์ฟเล็ตลงในหน่วยความจำ
บริการ () : วิธีนี้ถูกเรียกเพื่อประมวลผลการร้องขอ HHTP t ซึ่งถูกส่งโดยลูกค้า
ทำลาย () : วิธีนี้ถูกเรียกใช้เพื่อปล่อยทรัพยากรที่จัดสรรให้กับเซิร์ฟเล็ต

ความแตกต่างหลักระหว่าง Applet และ Servlet ใน Java

  1. แอปเพล็ตคือแอปพลิเคชันที่ทำงานบนเครื่องไคลเอนต์ส่วน servlet เป็นแอปพลิเคชั่นที่ทำงานบนเครื่องเซิร์ฟเวอร์
  2. แพ็คเกจที่ใช้สร้างแอปเพล็ตคือ import java.applet. *; และนำเข้า java.awt. *; ในขณะที่แพ็กเกจที่ใช้สร้าง servlet คือ import javax.servlet. *; และนำเข้า java.servlet.http. *;
  3. วิธีวงจรชีวิตของ Applet Class คือ init (), stop (), paint (), start (), destroy () ในทางกลับกันวิธีวงจรชีวิตคือ init (), service () และ destroy ()
  4. Applets ใช้คลาสส่วนต่อประสานผู้ใช้ AWT และ Swing เพื่อสร้างส่วนติดต่อผู้ใช้ส่วน servlet ไม่ต้องการคลาสส่วนต่อประสานผู้ใช้
  5. ในการรับแอปเพล็ตที่ดำเนินการบนเครื่องไคลเอ็นต์จำเป็นต้องใช้เว็บเบราว์เซอร์ที่ใช้งานร่วมกับ Java ได้ ในทางกลับกันเซิร์ฟเล็ตต้องการ Java ที่เปิดใช้งานเว็บเซิร์ฟเวอร์เพื่อประมวลผลการร้องขอและการตอบกลับของไคลเอ็นต์
  6. Applet ใช้ประโยชน์จากทรัพยากรของเครื่องไคลเอนต์ในขณะที่ดำเนินการในฝั่งไคลเอ็นต์ Servlets ใช้ทรัพยากรของเซิร์ฟเวอร์ตามที่ดำเนินการทางฝั่งเซิร์ฟเวอร์
  7. Applets ประสบปัญหาด้านความปลอดภัยมากกว่าเมื่อเทียบกับ servlets

สรุป:

Applet และ servlet ทั้งสองเป็นโปรแกรม java ขนาดเล็กที่ servlet อาจสร้างแอปเพล็ตเพื่อตอบสนองต่อคำขอของลูกค้า

Top