แท็กองค์ประกอบ JSP
แท็ก JSP
ในบทช่วยสอนนี้ เราจะเรียนรู้แท็กพื้นฐานของ JSP และวิธีเพิ่มความคิดเห็นใน JSP นอกจากนี้เรายังจะสร้าง JSP และรัน JSP นั้นบนเซิร์ฟเวอร์ด้วย
คำประกาศ JSP
- แท็กประกาศเป็นส่วนหนึ่งของ Java รหัสสำหรับประกาศตัวแปร วิธีการ และคลาส หากเราประกาศตัวแปรหรือเมธอดภายในแท็กประกาศ หมายความว่าการประกาศนั้นเกิดขึ้นภายในคลาสเซิร์ฟเล็ต แต่อยู่นอกวิธีการบริการ
- เราสามารถประกาศสมาชิกแบบคงที่ ตัวแปรอินสแตนซ์ (สามารถประกาศตัวเลขหรือสตริง) และวิธีการภายในแท็กประกาศ
ไวยากรณ์ของแท็กประกาศ:
<%! Dec var %>
ที่นี่ Dec var คือวิธีการหรือตัวแปรภายในแท็กการประกาศ
ตัวอย่าง:
ในตัวอย่างนี้ เราจะใช้แท็กประกาศ
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Declaration Tag</title> </head> <body> <%! int count =10; %> <% out.println("The Number is " +count); %> </body> </html>
คำอธิบายรหัส:
รหัสบรรทัด 10: ที่นี่เราใช้แท็กประกาศสำหรับการเริ่มต้นตัวแปรนับถึง 10
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้:
Output:
ตัวแปรที่ประกาศในแท็กประกาศจะถูกพิมพ์เป็นเอาต์พุต
JSP สคริปเล็ต
- แท็ก Scriptlet อนุญาตให้เขียน Java โค้ดลงในไฟล์ JSP
- คอนเทนเนอร์ JSP ย้ายคำสั่งในวิธี _jspservice() ในขณะที่สร้างเซิร์ฟเล็ตจาก jsp
- สำหรับแต่ละคำขอของไคลเอ็นต์ วิธีการบริการของ JSP จะถูกเรียกใช้ ดังนั้นโค้ดภายใน Scriptlet จะดำเนินการสำหรับทุกคำขอ
- Scriptlet มีโค้ด Java ที่ถูกเรียกใช้งานทุกครั้งที่เรียกใช้ JSP
ไวยากรณ์ของแท็ก Scriptlet:
<% java code %>
แท็ก <%%> ที่นี่เป็นแท็กสคริปต์ และภายในแท็กนั้น เราสามารถวางโค้ด Java ได้
ตัวอย่าง:
ในตัวอย่างนี้ เรากำลังใช้แท็ก Scriptlet ซึ่งล้อมรอบโค้ด Java
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Scriplet</title> </head> <body> <% int num1=10; int num2=40; int num3 = num1+num2; out.println("Scriplet Number is " +num3); %> </body> </html>
คำอธิบายของรหัส:
รหัสบรรทัด 10-14: ในแท็ก Scriptlet ที่เราใช้ตัวแปรสองตัว num1 และ num2 ใช้ตัวแปรตัวที่สาม num3 ซึ่งรวมกันเป็น num1 และ num2 เอาต์พุตคือ num3
เมื่อคุณรันโค้ด คุณจะได้ผลลัพธ์ต่อไปนี้:
Output:
เอาต์พุตสำหรับหมายเลข Scriptlet คือ 50 ซึ่งเป็นส่วนบวกของ num1 และ num2
การแสดงออกของเจเอสพี
- แท็กนิพจน์จะประเมินนิพจน์ที่อยู่ในนั้น
- มันเข้าถึงข้อมูลที่เก็บไว้ในแอปพลิเคชันที่เก็บไว้
- อนุญาตให้สร้างนิพจน์เช่นเลขคณิตและตรรกะ
- สร้างเพจ JSP ที่ไม่มีสคริปต์
ไวยากรณ์:
<%= expression %>
ในที่นี้นิพจน์คือนิพจน์ทางคณิตศาสตร์หรือตรรกะ
ตัวอย่าง:
ในตัวอย่างนี้ เรากำลังใช้แท็กนิพจน์
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Expression</title> </head> <body> <% out.println("The expression number is "); %> <% int num1=10; int num2=10; int num3 = 20; %> <%= num1*num2+num3 %> </body> </html>
คำอธิบายของรหัส:
รหัสบรรทัด 12: เราใช้แท็กนิพจน์ที่นี่ โดยเราจะใช้นิพจน์โดยการคูณตัวเลขสองตัวคือ num1 และ num 2 จากนั้นจึงบวกตัวเลขตัวที่สามคือ num3
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ต่อไปนี้:
Output:
ตัวเลขนิพจน์คือ 120 โดยที่เราคูณตัวเลขสองตัวคือ num1 และ num2 และบวกตัวเลขตัวที่สาม
ความเห็นเจเอสพี
ความคิดเห็นเป็นความคิดเห็นที่คอนเทนเนอร์ JSP ต้องการละเว้นข้อความและคำสั่งบางอย่าง
เมื่อเราต้องการซ่อนเนื้อหาบางอย่าง เราก็สามารถเพิ่มเนื้อหานั้นลงในส่วนความคิดเห็นได้
ไวยากรณ์:
<% -- JSP Comments %>
แท็กของเขาใช้เพื่อแสดงความคิดเห็นใน JSP และคอนเทนเนอร์ JSP ละเว้น
นี่คือความคิดเห็น HTML ซึ่งเบราว์เซอร์จะละเว้น
ตัวอย่าง:
ในตัวอย่างนี้ เรากำลังใช้ความคิดเห็น JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Comments</title> </head> <body> <%-- Guru Comments section --%> <% out.println("This is comments example"); %> </body> </html>
คำอธิบายของรหัส:
รหัสบรรทัด 10: ที่นี่เรากำลังเพิ่มความคิดเห็น JSP ให้กับโค้ดเพื่ออธิบายว่าโค้ดมีอะไรบ้าง มันถูกละเว้นโดยคอนเทนเนอร์ JSP
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้:
Output:
เราได้ผลลัพธ์ที่พิมพ์ด้วยวิธี println ความคิดเห็นจะถูกละเว้นโดยคอนเทนเนอร์
การสร้างเพจ JSP อย่างง่าย
- หน้า JSP มีเนื้อหา HTML รวมอยู่ด้วย Java โค้ดลงในนั้น
- เรากำลังสร้างเพจ JSP ธรรมดาซึ่งรวมถึงการประกาศ สคริปเล็ต สำนวน แท็กความคิดเห็นในนั้น
ตัวอย่าง:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru JSP Example</title> </head> <body> <%-- This is a JSP example with scriplets, comments , expressions --%> <% out.println("This is guru JSP Example"); %> <% out.println("The number is "); %> <%! int num12 = 12; int num32 = 12; %> <%= num12*num32 %> Today's date: <%= (new java.util.Date()).toLocaleString()%> </body> </html>
คำอธิบายของรหัส:
รหัสบรรทัด 1: ที่นี่เราใช้คำสั่งเช่นภาษา, ประเภทเนื้อหา และการเข้ารหัสหน้า ภาษาคือ Java และประเภทเนื้อหาคือ text/html พร้อมชุดอักขระมาตรฐาน ISO 8859 การเข้ารหัสหน้าเป็นชุดอักขระมาตรฐาน
รหัสบรรทัด 11: ที่นี่เราใช้ความคิดเห็นของ JSP เพื่อเพิ่มความคิดเห็นให้กับ JSP
รหัสบรรทัด 14: ที่นี่เรากำลังประกาศตัวแปร num12 และ num32 ที่เริ่มต้นด้วย 12
รหัสบรรทัด 15: เราใช้นิพจน์ที่นี่โดยเราจะคูณตัวเลขสองตัวคือ num12 และ num32
รหัสบรรทัด 16: ที่นี่เรากำลังดึงข้อมูลวันที่ของวันนี้โดยใช้วัตถุวันที่
เมื่อคุณรันโค้ดข้างต้น คุณจะได้รับผลลัพธ์ดังต่อไปนี้
Output:
เรากำลังพิมพ์อยู่ตรงนี้
- นี่คือตัวอย่างกูรู JSP
- ตัวเลขคือ num12*num32 (12*12)
- วันที่วันนี้คือวันที่ปัจจุบัน
วิธีรันเพจ JSP อย่างง่าย
- JSP สามารถรันบนเว็บเซิร์ฟเวอร์หรือแอปพลิเคชันเซิร์ฟเวอร์ได้
- ที่นี่เราจะใช้เว็บเซิร์ฟเวอร์ และเราสามารถปรับใช้บนเซิร์ฟเวอร์ที่ล้อมรอบไว้ในแอปพลิเคชันสงคราม
- เราสามารถสร้าง JSP ในแอปพลิเคชัน (สงคราม)
นี่คือแอปพลิเคชันที่มีโครงสร้างไดเร็กทอรีดังต่อไปนี้ และจะต้องสร้างแอปพลิเคชัน
แอปพลิเคชันนี้จะต้องสร้างขึ้น และข้อความต่อไปนี้จะปรากฏขึ้นหลังจากการสร้างเสร็จสมบูรณ์:
หลังจากสร้างแอปพลิเคชันแล้ว จะต้องเรียกใช้แอปพลิเคชันบนเซิร์ฟเวอร์
หากต้องการรัน JSP บนเว็บเซิร์ฟเวอร์ ให้คลิกขวาที่โปรเจ็กต์ของ IDE (คราส ใช้ในกรณีนี้) และมีตัวเลือกมากมาย เลือกตัวเลือกการทำงานบนเซิร์ฟเวอร์ ดังแสดงในภาพหน้าจอด้านล่าง
จากแผนภาพนี้ อธิบายประเด็นต่างๆ ดังต่อไปนี้:
- มีสองตัวเลือกให้เลือกเซิร์ฟเวอร์หรือเพิ่มเซิร์ฟเวอร์ลงในแอปพลิเคชันนี้ด้วยตนเอง ในกรณีนี้ เราได้เพิ่มเซิร์ฟเวอร์ JBoss ให้กับแอปพลิเคชันแล้ว ดังนั้นเราจึงเลือกเซิร์ฟเวอร์ที่มีอยู่
- เมื่อเราเลือกเซิร์ฟเวอร์แล้ว ตัวเลือกเซิร์ฟเวอร์จะแสดงในจุดที่ 2 เซิร์ฟเวอร์ที่เราต้องการเลือก สามารถกำหนดค่าเซิร์ฟเวอร์ได้หลายเครื่องในแอปพลิเคชันนี้ เราสามารถเลือกหนึ่งเซิร์ฟเวอร์จากตัวเลือกเหล่านั้นทั้งหมด
- เมื่อเลือกตัวเลือกนั้นแล้วให้คลิกที่ปุ่มเสร็จสิ้นและแอปพลิเคชันจะทำงานบนเซิร์ฟเวอร์นั้น
ในภาพหน้าจอด้านล่าง คุณจะสังเกตเห็นว่าโปรแกรม JSP ของเราถูกดำเนินการ และแอปพลิเคชันทดสอบถูกปรับใช้ใน เซิร์ฟเวอร์เจบอส มีเครื่องหมายอยู่ในกล่องสีแดง
โครงสร้างไดเรกทอรีของ JSP
ในโครงสร้างไดเร็กทอรี จะมีโฟลเดอร์รูทซึ่งมีโฟลเดอร์ WEB-INF ซึ่งมีไฟล์คอนฟิกูเรชันและไฟล์ไลบรารีทั้งหมด
ไฟล์ JSP อยู่นอกโฟลเดอร์ WEB-INF
โครงสร้างไดเร็กทอรีของ JSP
ตัวอย่าง:
ในตัวอย่างนี้ มีแอปพลิเคชันทดสอบที่มีโครงสร้างโฟลเดอร์ดังนี้:
สรุป
- ในบทความนี้ เราได้เรียนรู้เกี่ยวกับองค์ประกอบทางวากยสัมพันธ์ เช่น แท็กนิพจน์ แท็ก Scriptlet ซึ่งทำให้โค้ดง่ายขึ้นใน JSP
- การใช้ความคิดเห็น JSP
- เราได้สร้างเพจ JSP แบบธรรมดาและทำให้มันทำงานบนเซิร์ฟเวอร์