หลังจาก Microsoft เปิดตัว ASP (ActiveServerpage) มันเป็นที่รักของคนส่วนใหญ่ที่มีคุณสมบัติที่ทรงพลังและง่ายต่อการเรียนรู้ อย่างไรก็ตามมีปัญหาทั่วไปของผลิตภัณฑ์ Microsoft และสามารถใช้งานได้ภายใต้แพลตฟอร์ม Windows เท่านั้น JSP (Java Serverpages) พัฒนาโดย Sun Company ภายใต้พื้นฐานของ Java ตระหนักถึงการแยกหน้าแบบไดนามิกและหน้าคงที่แยกออกจากความยับยั้งชั่งใจของแพลตฟอร์มฮาร์ดแวร์ อินเทอร์เน็ต เพื่อที่จะใช้โปรแกรมเมอร์ส่วนใหญ่ที่ใช้ ASP พวกเขาสามารถเรียนรู้ JSP ได้อย่างรวดเร็ว ความคล้ายคลึงกันและความคล้ายคลึงกันมีดังนี้: ด้านล่าง:
1. โครงสร้าง
JSP และ ASP มีความคล้ายคลึงกันในโครงสร้าง JSP จะแยกรูปแบบนิพจน์ของหน้าเว็บด้วยตรรกะรหัสของฝั่งเซิร์ฟเวอร์ ในฐานะที่เป็นหน้า JSP ของกระบวนการเซิร์ฟเวอร์มันจะถูกแปลงเป็นเซิร์ฟเล็ตเป็นครั้งแรก (โปรแกรม Server -side Java)
Servlet รองรับคำขอและการตอบสนองของโปรโตคอล HTTP เมื่อ JSP ถูกแปลงเป็นรหัส Java บริสุทธิ์ เมื่อผู้ใช้หลายคนขอหน้า JSP ในเวลาเดียวกันให้ใช้เธรดอินสแตนซ์เพื่อตอบสนองต่อคำขอ เธรดเหล่านี้ได้รับการจัดการโดยกระบวนการเว็บเซิร์ฟเวอร์คล้ายกับฟังก์ชั่น ASP เธรด Manager เมื่อเทียบกับ CGI สำหรับการร้องขอแต่ละครั้งเพื่อสร้างกระบวนการวิธีนี้มีประสิทธิภาพมากขึ้น
2. ประสิทธิภาพและแพลตฟอร์มที่ไม่เกี่ยวข้อง
เมื่อเปรียบเทียบกับภาษาต่าง ๆ เช่น C ++, VB, Java ถือเป็นภาษาที่มีประสิทธิภาพน้อยกว่า แต่มีการแลกเปลี่ยนสำหรับแพลตฟอร์มที่ไม่เกี่ยวข้องกับประสิทธิภาพการเสียสละ รหัสการรวบรวมของ Java เป็นรหัสไบต์ซึ่งอธิบายโดยเครื่องเสมือน Java VirtualMachine (JVM) ในระบบปฏิบัติการ
รหัสไบต์สามารถอพยพได้ในทุกแพลตฟอร์มโดยไม่มีการเปลี่ยนแปลงใด ๆ การเขียนโปรแกรมข้ามแพลตฟอร์มมีแนวโน้มที่จะใช้ "ศูนย์ขั้นต่ำ" ของระบบปฏิบัติการทั้งหมดโดยเฉพาะอย่างยิ่งเมื่อใช้อินเทอร์เฟซกราฟิก (Servlets ไม่จำเป็นต้องใช้อินเตอร์เฟสกราฟิกใด ๆ )
Servlets เร็วกว่าโปรแกรม Java แบบดั้งเดิม (Applets, Javaapp) เนื่องจากพวกเขาทำงานบนเซิร์ฟเวอร์และไม่จำเป็นต้องโหลด GUI หนัก (GUIs น้อยมากของ HTML) นอกจากนี้รหัสไบต์ของบริการจะดำเนินการเฉพาะเมื่อคำขอของลูกค้าดังนั้นแม้ว่าจะมีเวลาโหลดสองสามวินาทีเมื่อบริการถูกเรียกเป็นครั้งแรกคำขอที่ตามมานั้นเร็วมากเนื่องจากเซิร์ฟเวอร์ได้แคช servlets ที่กำลังทำงาน
เซิร์ฟเวอร์ JSP ปัจจุบันมี Java Instant Compiler (JIT) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1. ถึง 2 ปริมาณ
3. การจัดการเซสชัน
เพื่อติดตามสถานะการทำงานของผู้ใช้วัตถุเซสชันแอปพลิเคชัน ASP JSP ใช้วัตถุที่เรียกว่า httpsession เพื่อให้ได้ฟังก์ชั่นเดียวกัน ข้อมูลของเซสชันจะถูกบันทึกไว้บนเซิร์ฟเวอร์และ ID ของเซสชันจะถูกบันทึกไว้ในคุกกี้ของไคลเอนต์ หากลูกค้าห้ามคุกกี้รหัสเซสชันจะต้องนำ URL มาไว้ข้างหลัง
โดยทั่วไปแล้วเซสชันจะตั้งเวลาหมดอายุ 30 นาทีบนเซิร์ฟเวอร์และล้มเหลวโดยอัตโนมัติหลังจากลูกค้าหยุดกิจกรรม ข้อมูลที่บันทึกและเรียกคืนในเซสชันไม่สามารถเป็นประเภทข้อมูลพื้นฐานเช่น int, double, ฯลฯ แต่ต้องเป็นวัตถุที่เกี่ยวข้อง (วัตถุ) ของ Java
4. การจัดการแอปพลิเคชัน
บางครั้งเซิร์ฟเวอร์จำเป็นต้องจัดการพารามิเตอร์ที่หันหน้าเข้าหาแอปพลิเคชันทั้งหมดเพื่อให้ลูกค้าแต่ละรายสามารถรับค่าพารามิเตอร์เดียวกันได้ เช่นเดียวกับเซสชัน ASP ใช้วัตถุแอปพลิเคชันและ JSP ใช้วัตถุ ServiceContext วิธีการทำงานเหมือนกับเซสชัน
5. ServersideIncludes
ASP และ JSP เหมือนกันบนเซิร์ฟเวอร์ ASP และ JSP สามารถรองรับเซิร์ฟเวอร์ (IIS, Apache) ที่รองรับคุณสมบัตินี้เพื่อใช้ไฟล์เสมือนจริง แต่ JSP รวมอยู่ในผลลัพธ์ของหน้าไดนามิกไม่ใช่รหัสที่มีไฟล์เอง เมื่อไฟล์ที่คุณมีอยู่บนเซิร์ฟเวอร์อื่นมันเป็นคุณสมบัติที่มีประสิทธิภาพมากโดยไม่มีรหัสและวัตถุใด ๆ
6. Java Component: Javabeans
Javabeans เป็นข้อมูลวัตถุสำหรับบรรจุภัณฑ์บางอย่างที่ทำฟังก์ชั่นที่กำหนดไว้ล่วงหน้า Javabeans และ JSP เปรียบเทียบกับ COM และ ASP ดังนี้:
วัตถุ COM มักจะใช้ในการห่อหุ้มตรรกะทางธุรกิจและการคำนวณความเข้มสูงที่สมบูรณ์สำหรับหน้า ASP ส่วนประกอบที่นำกลับมาใช้ใหม่ทำให้หน้าง่ายและรวดเร็วเนื่องจากส่วนประกอบประกอบด้วยภาษาคอมไพล์ (C ++, VB) ไม่ใช่ภาษาสคริปต์ที่ตีความ (VBScript, JScript)
Javabeans สามารถพัฒนาได้ในภาษา Java เท่านั้นและ COM สามารถพัฒนาได้ด้วยภาษาใด ๆ (รวมถึง Visual J ++) ที่ตรงกับโมเดลวัตถุมาตรฐาน ในทางกลับกัน Javabeans นั้นง่ายต่อการพัฒนาเพราะเมื่อคุณเชี่ยวชาญ Java มันง่ายมากที่จะเข้าใจโครงสร้างของ Javabeans เนื่องจากความซับซ้อนของ COM คุณต้องเรียนรู้และฝึกอบรมมากมายถึงอาจารย์-แม้ว่าคุณจะมีรากฐานของ C ++ และ VB คุณต้องใช้ความพยายามเพิ่มเติม
ส่วนประกอบ COM จะต้องลงทะเบียนบนเซิร์ฟเวอร์ Javabeans ไม่จำเป็นต้องลงทะเบียน สามารถสร้างห้องสมุด Javabeans ที่สมบูรณ์ที่ตรงกับตรรกะทางธุรกิจช่วยให้บุคลากรที่ไม่ได้เขียนโปรแกรมสามารถใช้ห้องสมุดเพื่อพัฒนาเว็บไซต์แบบไดนามิก
ถั่วสามารถจัดการการเชื่อมต่อฐานข้อมูลทางฝั่งเซิร์ฟเวอร์
Javabeans สอดคล้องกับโมเดลวัตถุโครงสร้าง: ถั่วแต่ละตัวถูกตั้งค่าโดยตัวสร้างที่มีตัวสร้างที่ไม่มีพารามิเตอร์พารามิเตอร์ ในการตั้งค่าแอตทริบิวต์ที่สร้างขึ้นของถั่วคุณต้องใช้แท็ก setProperty ที่มีชื่อแอตทริบิวต์ หากสามารถตั้งค่าแอตทริบิวต์ได้ถั่วต้องการวิธี setxxxx และ xxxx แทนที่ด้วยชื่อแอตทริบิวต์จริง
7. JSP และฐานข้อมูล
ASP ใช้ ODBC เพื่อเชื่อมต่อกับฐานข้อมูลผ่าน ADO และ Java เชื่อมต่อฐานข้อมูลที่เรียกว่าเทคโนโลยี JDBC ฐานข้อมูลเป้าหมายต้องการไดรเวอร์ JDBC-ข้อแก้ตัวสำหรับฐานข้อมูลและ Java เพื่อให้ Java สามารถเข้าถึงฐานข้อมูลด้วยวิธีมาตรฐาน JDBC ไม่ได้ใช้แหล่งข้อมูลของเซิร์ฟเวอร์ ตราบใดที่มีไดรเวอร์ JDBC Java สามารถเข้าถึงฐานข้อมูลได้ หากฐานข้อมูลเฉพาะไม่มีไดรเวอร์ JDBC แต่มีเพียงไดรเวอร์ ODBC เท่านั้น Java จะจัดเตรียมสะพาน JDBC-ODBC เพื่อแปลงการโทร JDBC เป็นสาย ODBC คอมไพเลอร์ Java ทั้งหมดมีสะพาน JDBC-ODBC ฟรี ในทางทฤษฎีสะพานสามารถเข้าถึงผลิตภัณฑ์ฐานข้อมูลทั่วไป
สรุปแล้ว:
โมเดล JSP ถูกกำหนดหลังจาก ASP ในเวลาเดียวกัน JSP ใช้ภาษาจาวาที่ยืดหยุ่นและทรงพลังไม่ใช่ภาษาสคริปต์ที่ไม่มีประสิทธิภาพ นักพัฒนา ASP สามารถใช้เทคโนโลยีได้ตามแพลตฟอร์ม Windows เท่านั้นในขณะที่ Java และ JSP เป็นแบบข้าม