การลบ cookie ทำได้ 3 ขั้นตอน: อ่าน cookie ที่มีอยู่ เก็บในออบเจ็กต์ Cookie ตั้งอายุ cookie เป็น 0 ด้วย setMaxAge(0) เพิ่ม cookie กลับเข้า response header ตัวอย่าง: ลบ cookie ชื่อ first_name <html> <head><title>ลบ Cookies</title></head> <body> <cent
การลบ cookie ทำได้ 3 ขั้นตอน: อ่าน cookie ที่มีอยู่ เก็บในออบเจ็กต์ Cookie ตั้งอายุ cookie เป็น 0 ด้วย setMaxAge(0) เพิ่ม cookie กลับเข้า response header ตัวอย่าง: ลบ cookie ชื่อ first_name <html> <head><title>ลบ Cookies</title></head> <body> <cent
HTTP เป็นโปรโตคอล stateless หมายถึงแต่ละ request แยกจากกัน เซิร์ฟเวอร์ไม่จำสถานะของ client ระหว่าง request ต้องมีกลไกเพื่อ maintain session วิธีการ Maintain Session 1. Cookies เซิร์ฟเวอร์ส่ง session ID ผ่าน cookie ไปยังเบราว์เซอร์ Request ถัดไปเบราว์เซอร์ส่ง cookie กลับมา เซิร์ฟเวอร์จึงรู้จัก clie
JSP จัดการข้อมูลฟอร์มอัตโนมัติ ผ่าน request object มีเมธอดหลัก 4 ตัว: เมธอดใช้เมื่อไหร่คืนค่า getParameter(name)อ่านพารามิเตอร์เดี่ยว (text, hidden, select, radio)String หรือ null getParameterValues(name)อ่านพารามิเตอร์หลายค่า (checkbox กลุ่ม, multi-select)String[] getPara
คำสั่ง taglib directive ใช้ประกาศการใช้งาน custom tag library ในหน้า JSP ระบุตำแหน่งไลบรารี (URI) และคำนำหน้า (prefix) สำหรับเรียกใช้ tag รูปแบบภาษา JSP <%@ taglib uri=uri prefix=prefixOfTag %> รูปแบบ XML <jsp:directive.taglib uri=uri prefix=prefixOfTag /> คำอธิบายอ็อปชัน uri - ระบ
สามารถส่งพารามิเตอร์ผ่าน URL โดยตรงได้ โดยใช้รูปแบบ ?param1=value1¶m2=value2 ตัวอย่าง URL https://localhost:8080/main.jsp?first_name=Somchai&last_name=Jaidee main.jsp - อ่านค่าด้วย getParameter() <html> <head><title>อ่านพารามิเตอร์จาก URL</title></head> &l
การส่งข้อมูลแบบ GET จะต่อพารามิเตอร์ไว้ท้าย URL คั่นด้วย ? และคั่นแต่ละคู่ด้วย & 1. ไฟล์ HTML ฟอร์ม (Hello.htm) <html> <body> <form action=main.jsp method=GET> First Name: <input type=text name=first_name><br/> Last Name: <input type=text nam
คำสั่ง taglib directive ประกาศว่า JSP หน้านี้ใช้ custom tag library ระบุตำแหน่งไลบรารี และ prefix สำหรับเรียกใช้ tag รูปแบบภาษา JSP <%@ taglib uri=uri prefix=prefixOfTag %> รูปแบบ XML <jsp:directive.taglib uri=uri prefix=prefixOfTag /> uri - ตำแหน่งของ tag library (path ไฟล์ .tld ห
Custom tag เป็นเอลิเมนต์ภาษา JSP ที่ผู้ใช้กำหนดเอง เมื่อ JSP ถูกแปลเป็นเซิร์ฟเล็ต Tag จะถูกแปลงเป็นการทำงานบน tag handler object ขั้นตอนการสร้าง Custom Tag แบบง่าย (Simple Tag Handler - JSP 2.0+) 1. สร้าง Tag Handler Class (extends SimpleTagSupport) package com.example; import javax.servlet.jsp.t
เพื่อให้ custom tag รับค่า attribute ได้ ให้สร้าง setter method ใน tag handler class (คล้าย JavaBean) และประกาศ attribute ใน TLD 1. Tag Handler Class (HelloTag.java) package com.example; import javax.servlet.jsp.tagext.*; import javax.servlet.jsp.*; import java.io.*; public class HelloTag extends
เมื่อสร้าง custom tag ควรกำหนดพร็อพเพอร์ตี้ต่อไปนี้สำหรับแต่ละ attribute ในไฟล์ TLD (Tag Library Descriptor) ลำดับพร็อพเพอร์ตี้วัตถุประสงค์ 1nameชื่อของ attribute (ต้องไม่ซ้ำใน tag เดียวกัน) 2requiredtrue/false - บังคับหรือไม่บังคับ 3rtexprvaluetrue/false - รองรับ runtime
JSP อ่านข้อมูลฟอร์มจาก GET และ POST โดยใช้วิธีเดียวกันคือ request.getParameter() เพราะพารามิเตอร์ถูกแปลงแล้วใน request object ตัวอย่าง main.jsp <html> <head> <title>อ่านข้อมูลฟอร์มด้วย POST</title> </head> <body> <center> <h1>อ่านข้อมู
Checkbox ใช้เมื่อต้องการให้ผู้ใช้เลือกได้หลายตัวเลือกพร้อมกัน 1. ไฟล์ HTML ฟอร์ม (CheckBox.htm) <html> <body> <form action=main.jsp method=POST target=_blank> <input type=checkbox name=maths checked=checked /> Maths <input type=checkbox name=physics /&
คุณสมบัติ import ทำงานเหมือนคำสั่ง import ใน Java ใช้สำหรับนำเข้าแพ็กเกจหรือคลาสที่ต้องการใช้ในหน้า JSP รูปแบบการใช้งาน นำเข้าแพ็กเกจเดียว <%@ page import = java.sql.* %> นำเข้าหลายแพ็กเกจ (คั่นด้วยคอมมา) <%@ page import = java.sql.*,java.util.*,java.io.* %> แพ็กเกจที่นำเข้าโดยอัตโนม
คุณสมบัติ info ใช้ให้คำอธิบายหรือข้อมูลเพิ่มเติมเกี่ยวกับหน้า JSP นั้นๆ ตัวอย่าง <%@ page info = หน้า JSP นี้เขียนโดย ทีมพัฒนา ABC %> รายละเอียด เป็นข้อมูลเมตา (metadata) เท่านั้น ไม่ส่งผลต่อการทำงานของ JSP สามารถดึงค่านี้ได้ผ่าน Servlet.getServletInfo() หลังจาก JSP ถูกแปลเป็นเซิร์ฟเล็ต
คุณสมบัติ isThreadSafe ระบุว่าหน้า JSP ปลอดภัยต่อเธรด (thread-safe) หรือไม่ ค่าเริ่มต้นและพฤติกรรม true (ค่าเริ่มต้น) - JSP engine อนุญาตให้หลายเธรดรันหน้า JSP นี้พร้อมกัน (multi-threaded) ต้องเขียนโค้ดให้ปลอดภัยต่อเธรดด้วยตนเอง false - JSP engine จะบังคับให้มีเพียง หนึ่งเธรด ที่รันหน้า JPS นี
คุณสมบัติ language ระบุภาษาโปรแกรมมิ่งที่ใช้ในการเขียนสคริปต์ในหน้า JSP ตัวอย่างทั่วไป เนื่องจาก Java เป็นภาษามาตรฐานสำหรับ JSP: <%@ page language = java %> รายละเอียด ค่าเริ่มต้นคือ java ปัจจุบัน JSP spec รองรับเฉพาะ Java เท่านั้น (ภาษาอื่นๆ ไม่ได้เป็นมาตรฐาน) คุณสมบัตินี้ไว้เพื่อควา
คุณสมบัติ session ระบุว่าหน้า JSP ใช้ HTTP session หรือไม่ ค่าที่เป็นไปได้ true (ค่าเริ่มต้น) - หน้า JSP เข้าถึงออบเจ็กต์ session ในตัว (built-in) ได้ false - หน้า JSP ไม่สามารถเข้าถึง ออบเจ็กต์ session ในตัวได้ จะเกิดข้อผิดพลาดหากพยายามใช้งาน ตัวอย่างเปิดใช้งาน <%@ page session = true %&
คุณสมบัติ isELIgnored ใช้ควบคุมการประเมินค่า Expression Language (EL) expressions (${...}) ที่เพิ่มเข้ามาใน JSP 2.0 ค่าเริ่มต้นและความหมาย true (ค่าเริ่มต้น) - EL expressions จะถูกประเมินค่าตามสเปค JSP false - EL expressions จะ ไม่ถูกประเมิน แต่อยู่เป็นข้อความคงที่ (static text) แทน ตัวอย่าง
คุณสมบัติ isScriptingEnabled ควบคุมว่าอนุญาตให้ใช้สคริปติ้งเอลิเมนต์ (scriptlets, expressions, declarations) ใน JSP ได้หรือไม่ ค่าเริ่มต้นและผลกระทบ true (ค่าเริ่มต้น) - อนุญาตให้ใช้ scriptlets (<% ... %>), expressions (<%= ... %>), และ declarations (<%! ... %>) false - ห้ามใ
คำสั่ง include directive ใช้สำหรับรวมไฟล์ภายนอกเข้ากับหน้า JSP ในขั้นตอนการแปล (translation phase) คอนเทนเนอร์จะนำเนื้อหาของไฟล์ที่ระบุมารวมกับ JSP หลักก่อนที่จะคอมไพล์เป็นเซิร์ฟเล็ต รูปแบบพื้นฐาน <%@ include file = relative url %> คุณสมบัติสำคัญ ทำงานในขั้นตอน translation phase (ต่างจาก