คำนำ
รายงานเล่มนี้เป็นส่วนหนึ่งของวิชาหลักการเขียนโปรแกรมบนอินเตอร์เน็ต (คพ313) ได้
รวบรวมความรู้เกี่ยวกับ ภาษา JSP ในรูปแบบต่าง ๆ อาทิ ความเป็นมาของ ภาษา JSP คาสั่งหรือ
ข้อความต่าง ๆ และการประกาศตัวแปลต่าง ๆเป็นต้น ทางคณะผู้จัดทา หวังอย่างยิ่งว่ารายงาน
ชิ้นนี้จะเป็นประโยชน์ ไม่มากก็น้อย ต่อผู้ที่สนใจศึกษา
รายงานเล่มนี้ผิดพลาดประการใด ต้องขออภัยมา ณ ที่นี้ด้วย
คณะผู้จัดทา
หน้า ก
สำรบัญ
หัวเรื่อง หน้ำ
คานา ก
สารบัญ ข
 ความเป็นมาของภาษา JSP 1
 Scripting Element 2
o Scriptlet 2
o Declaration 3
o Expression 5
 Comments 6
 Directives 7
 Actions 8
 รวมโปรแกรมเบื้องต้น 9
 ข้อดี/ข้อเสีย ภาษา JSP 13
บรรณานุกรม 14
หน้า ข
ควำมเป็นมำของภำษำ JSP
JSP (Java Server Page) ภาษา JSP เป็นเทคโนโลยีของจาวาสาหรับสร้าง HTML, XML หรือตามที่
ผู้ใช้ร้องขอมีตัวแปลภาษาคือ Tomcat Apache และ Java Compiler พัฒนาโดย James Duncan Davidson ค.ศ.
2000
Java Server Page (JSP) เป็นเทคโนโลยีสาหรับการควบคุมเนื้อหาหรือสิ่งที่มองเห็นของเว็บเพจผ่าน
การใช้ servlet ผู้พัฒนา Java ได้อ้างถึงเทคโนโลยี JSP เป็น Servlet application program interface โดย JSP
เปรียบเทียบได้กับเทคโนโลยี (ASP) ของ Microsoft ขณะที่ Java Server Page เรียกโปรแกรม Java โดยแม่
ข่ายเว็บ Active Server Page เก็บสคริปต์ที่ได้รับการแปลไว้ ก่อนเพจได้รับการส่งไปยังผู้ใช้ เพจ HTML ที่
เก็บการเชื่อมโยงกับ Java servlet บางครั้งใช้ไฟล์นามสกุล .JSP
ก้ำวแรก สู่โลก JSP
คาสั่งหรือข้อความต่าง ๆ ที่ปรากฏอยู่ในไฟล์ JSP อาจมีเพียงบรรทัดเดียว หรือหลาย ๆ บรรทัด เรียง
กันเป็นบล็อก เรียกคาสั่งหรือข้อความเหล่านี้อย่างสั้น ๆ ว่า element มีอยู่ 4 แบบ คือ
1. Scripting elements ได้แก่ code ของจาวาที่เขียนใน scriptlet
2. Comments ข้อความต่าง ๆ ที่ผู้เขียนโปรแกรมอธิบาย หรือขยายความ coding ต่าง ๆในโปรแกรม
สะดวกต่อผู้อ่าน และสะดวกในแก้ไขโปรแกรมในภายหลังเมื่อเวลาผ่านไปนาน ๆ ข้อความใน comment นี้
server จะไม่นาไปประมวลผล
3. Directives คือคาสั่งที่ใช้กากับ web server เช่น กาหนดให้แสดงผลของ page นี้เป็นแบบ XML
ไม่ใช่ Html
4. Actions สาหรับกาหนดการกระทาบางอย่างเช่น กาหนดให้นา page หน้าอื่น มาแสดงผลร่วมกับ
page ปัจจุบัน
หน้า 1
Scripting Element:
Scripting element ออกเป็น 3 ลักษณะ คือ Scriptlet, Declaration และ Expression
1. Scriptlet จะเริ่มต้นด้วย <% และปิดท้ายด้วย %> ระหว่างเครื่องหมายนี้จะเป็นคาสั่งในภาษาจา
วา เช่น <% out.println("Hello, World"); %> จะมีคาสั่งภาษาจาวา 1 ประโยค อันที่จริงระหว่างเครื่องหมาย
<% และ %> จะมีคาสั่งภาษาจาวาได้หลายประโยค ดังนั้น scriptlet จึงเป็นสิ่งที่ปรากฏให้เห็นในไฟล์ JSP
มากกว่า Scripting elements แบบอื่น ๆ
สามารถใช้กับ if…else , for, while, do…while และอื่นๆ
รูปแบบ
<% scriptlets %>
หน้า 2
Declaration :
ใช้ในการประกาศ ตัวแปร เมธอด คลาส และอื่น ๆ ในภาษาจาวา เราสามารถใช้ scriptlet ประกาศ
ค่าตัวแปรได้เช่นกัน แต่การประกาศ ชนิดข้อมูลของตัวแปร เมธอด หรือคลาส ต้องใช้ “Declaration” เท่านั้น
markup หรือ เครื่องหมายที่ใช้ประกาศ จะอยู่ระหว่าง <%! กับ %>
รูปแบบ
<%! declarations %>
หน้า 3
Example 2.1 มีการประกาศ และ การเรียกใช้เมธอด
หน้า 4
Expression :
เป็น Java code สั้น ๆ ที่สามารถคานวณหรือหาค่าตามที่กาหนดให้ได้ประโยคที่จะคานวณหรือหา
ค่าจะต้องอยู่ระหว่าง <%= และ %> และไม่ต้องมีเครื่องหมายเซมิโคลอน ; ต่อท้าย ผลลัพธ์ที่ได้จะแสดงอยู่
ในรูป text mode ในเว็บเพ็จนั้น
รูปแบบ
<%= expression %>
หน้า 5
Comments:
คอมเมนท์ใน JSP ก็เหมือนกับคอมเมนท์ภาษาคอมพิวเตอร์อื่น ๆ มีไว้เพื่ออธิบายขยายความคาสั่ง
ในโปรแกรมให้มีความชัดเจนเข้าใจง่าย รู้ว่าคาสั่งทาอะไร ด้วยวิธีการอย่างไร ต้องส่งผ่านตัวแปรใดบ้าง
และผลลัพธ์เป็นอย่างไร สะดวกสาหรับในการแก้ไขโปรแกรมในภายหลัง หรือสะดวกต่อโปรแกรมเมอร์
อื่นที่เข้ามาจัดการแก้ไขโปรแกรม ข้อความในคอมเมนท์จะไม่ถูกคอมไพล์ ใน JSP
รูปแบบ
<%-- declarations -- %>
หน้า 6
Directives
JSP directive เป็นการกาหนดให้ server รู้ว่าจะประมวลผลเว็บเพ็จในลักษณะอย่างไร มี 3 แบบ คือ
1. page จะกาหนดให้ เซิร์ฟเวอร์รู้ว่าจะแสดงผลเว็บเพจหน้านี้อย่างไร เช่น เป็น HTML หรือ XML
2. include แจ้งให้เซิร์ฟเวอร์นาเว็บเพจหน้าอื่น หรือ resource อื่น ๆ เข้ามารวมกับเว็บเพจหน้า
ปัจจุบัน
3. tablib ใช้กาหนด JSP tag ที่นิยามไว้ใน tag libraryคาสั่งชนิด ไดเรกทิฟ จะอยู่ระหว่าง
เครื่องหมาย <%@ และ %>
ตัวอย่ำงการใช้ directive “page” กาหนดให้ output แสดงผลเป็นแบบ HTML กาหนดรหัสภาษาที่ใช้แสดง
เป็น utf8
1
หน้า 7
Actions:
เป็นการกาหนดให้ JSP กระทาในสิ่งที่เราต้องการ เช่น forward ไปยังเว็บไซต์อื่น ใน JSP มี action
อยู่ 2 แบบคือ Standard action ซึ่งฝังมาในตัว JSP เอง และ custom action เป็น action ที่เราสร้างขึ้นเอง
Standard action ที่พบบ่อยได้แก่
1. <jsp:forward> เป็นการฟอร์เวิด request ไปยังเว็บไซต์อื่น
2. <jsp:include> เป็นการนา output ของ web component เช่น จากไฟล์ HTML อื่นๆ หรือ JSP หรือ
servlet มาใส่ตรงตาแหน่งที่คาสั่งนี้วางอยู่
3. <jsp:plugin> เป็นการกาหนดให้ applet หรือ JavaBean ทางานโดยอาศัยโปรแกรมที่เป็น plug in
4. <jsp:getProperty>, <jsp:setProperty> และ <jsp:useBean> เป็นการนาค่าหรือกาหนดค่า property
และ นา JavaBean มาใช้งานในโปรแกรมการส่งข้อมูลผ่านหน้าเว็บเพจ
ในกรณีที่เราให้ผู้ใช้ป้ อนข้อมูลผ่านหน้าเว็บเพจ เช่น ป้ อนชื่อและนามสกุล แล้วนาข้อมูลที่ผู้ใช้
ป้ อนเข้ามาไปแสดงผลบนหน้าเว็บเพจอีกหน้าหนึ่ง ในที่นี้จะให้ผู้ใช้ป้ อนข้อมูลในไฟล์ที่ชื่อ 05.html ส่วน
ที่ป้อนข้อมูลนั้นอยู่ระหว่าง tag <FORM> และ </FORM> ดังต่อไปนี้
หน้า 8
รวมโปรแกรมเบื้องต้น ด้วยภำษำเจเอสพี (JSP Language)
1.โปรแกรมพิมพ์ 1 ถึง 10 ด้วย for
หน้า 9
2. โปรแกรม เช็คว่ำเป็นวันหยุดหรือไม่ โดยใช้ if...else
หน้า 10
3. กำรลดทอนค่ำโดยใช้ while loop
หน้า 11
4.กำเลือกวันโดย switch case
หน้า 12
ข้อดีภำษำ JSP
- JSP สามารถเรียนรู้และใช้งานได้ง่าย
- JSP สามารถทางานได้อย่างมีประสิทธิภาพในฝั่งเซิร์ฟเวอร์
- JSP จะทาการ compiled ก่อนเสมอ ที่จะส่งไปรันบนเซิร์ฟเวอร์
- JSP สามารถใช้งานร่วมกับ servlets ได้
- JSP เป็นส่วนหนึ่งของ J2EE ซึ่งหมายความว่า JSP สามารถเป็นส่วนในการทางานที่ง่าย หรือซับซ้อนได้
- JSP เขียนด้วยภาษา java จึงทาให้มีประสิทธิภาพ และใช้งานได้ง่ายกว่า
- JSP สามารถใช้กับ webserver ระบบปฏิบัติการใด ๆ ได้ ไม่เฉพาะแต่ของ Microsoft Web servers เท่านั้น
ข้อเสียภำษำ JSP
ข้อเสียที่เห็นได้ชัดคือการยากในการจัดเก็บ และการยากในการย้ายไฟล์จากเซฟเวอร์หนึ่ง ไปยังอีก
เซฟเวอร์หนึ่ง เพราะโดยทั่วไปแต่ละ webserver จะมีลักษณะการจัดเก็บไฟล์ไม่เหมือนกัน แต่เมื่อ Java
Servlet Specification เวอร์ชั่น 2.2 ออกมา เซฟเวอร์ที่ใช้รัน Servlet v2.2 จะถูกบังคับให้มีต้องการสนันสนุน
การจัดเก็บไฟล์แบบหนึ่ง ที่เรียกว่า Web Applicaton
web application คือกลุ่มของไดเรคทรอรี่และไฟล์ที่อาจจะประกอบด้วย html, jsp, servlet, javabean
และอื่น ๆ ซึ่งอยู่รวมกันในลักษณะของระบบไฟล์ (file system) หรือถูกอัดอยู่ในไฟล์เดียวกันโดยจะเรียกว่า
Web Archive (.war) ไฟล์ ซึ่งมีประโยชน์ในการโยกย้ายและติดตั้งจากเซฟเวอร์หนึ่งไปยังอีกเซฟเวอร์หนึ่ง
หน้า 13
บรรณำนุกรม
http://www.rmutphysics.com/charud/oldnews/0/286/17/9/pic1/prg_note/jsp/JSPInADay.html
http://belldeveloper.blogspot.com/2010/09/blog-post_13.html
http://www.thaiall.com/jsp/
หน้า 14

lesson2 JSP

  • 1.
    คำนำ รายงานเล่มนี้เป็นส่วนหนึ่งของวิชาหลักการเขียนโปรแกรมบนอินเตอร์เน็ต (คพ313) ได้ รวบรวมความรู้เกี่ยวกับภาษา JSP ในรูปแบบต่าง ๆ อาทิ ความเป็นมาของ ภาษา JSP คาสั่งหรือ ข้อความต่าง ๆ และการประกาศตัวแปลต่าง ๆเป็นต้น ทางคณะผู้จัดทา หวังอย่างยิ่งว่ารายงาน ชิ้นนี้จะเป็นประโยชน์ ไม่มากก็น้อย ต่อผู้ที่สนใจศึกษา รายงานเล่มนี้ผิดพลาดประการใด ต้องขออภัยมา ณ ที่นี้ด้วย คณะผู้จัดทา หน้า ก
  • 2.
    สำรบัญ หัวเรื่อง หน้ำ คานา ก สารบัญข  ความเป็นมาของภาษา JSP 1  Scripting Element 2 o Scriptlet 2 o Declaration 3 o Expression 5  Comments 6  Directives 7  Actions 8  รวมโปรแกรมเบื้องต้น 9  ข้อดี/ข้อเสีย ภาษา JSP 13 บรรณานุกรม 14 หน้า ข
  • 3.
    ควำมเป็นมำของภำษำ JSP JSP (JavaServer Page) ภาษา JSP เป็นเทคโนโลยีของจาวาสาหรับสร้าง HTML, XML หรือตามที่ ผู้ใช้ร้องขอมีตัวแปลภาษาคือ Tomcat Apache และ Java Compiler พัฒนาโดย James Duncan Davidson ค.ศ. 2000 Java Server Page (JSP) เป็นเทคโนโลยีสาหรับการควบคุมเนื้อหาหรือสิ่งที่มองเห็นของเว็บเพจผ่าน การใช้ servlet ผู้พัฒนา Java ได้อ้างถึงเทคโนโลยี JSP เป็น Servlet application program interface โดย JSP เปรียบเทียบได้กับเทคโนโลยี (ASP) ของ Microsoft ขณะที่ Java Server Page เรียกโปรแกรม Java โดยแม่ ข่ายเว็บ Active Server Page เก็บสคริปต์ที่ได้รับการแปลไว้ ก่อนเพจได้รับการส่งไปยังผู้ใช้ เพจ HTML ที่ เก็บการเชื่อมโยงกับ Java servlet บางครั้งใช้ไฟล์นามสกุล .JSP ก้ำวแรก สู่โลก JSP คาสั่งหรือข้อความต่าง ๆ ที่ปรากฏอยู่ในไฟล์ JSP อาจมีเพียงบรรทัดเดียว หรือหลาย ๆ บรรทัด เรียง กันเป็นบล็อก เรียกคาสั่งหรือข้อความเหล่านี้อย่างสั้น ๆ ว่า element มีอยู่ 4 แบบ คือ 1. Scripting elements ได้แก่ code ของจาวาที่เขียนใน scriptlet 2. Comments ข้อความต่าง ๆ ที่ผู้เขียนโปรแกรมอธิบาย หรือขยายความ coding ต่าง ๆในโปรแกรม สะดวกต่อผู้อ่าน และสะดวกในแก้ไขโปรแกรมในภายหลังเมื่อเวลาผ่านไปนาน ๆ ข้อความใน comment นี้ server จะไม่นาไปประมวลผล 3. Directives คือคาสั่งที่ใช้กากับ web server เช่น กาหนดให้แสดงผลของ page นี้เป็นแบบ XML ไม่ใช่ Html 4. Actions สาหรับกาหนดการกระทาบางอย่างเช่น กาหนดให้นา page หน้าอื่น มาแสดงผลร่วมกับ page ปัจจุบัน หน้า 1
  • 4.
    Scripting Element: Scripting elementออกเป็น 3 ลักษณะ คือ Scriptlet, Declaration และ Expression 1. Scriptlet จะเริ่มต้นด้วย <% และปิดท้ายด้วย %> ระหว่างเครื่องหมายนี้จะเป็นคาสั่งในภาษาจา วา เช่น <% out.println("Hello, World"); %> จะมีคาสั่งภาษาจาวา 1 ประโยค อันที่จริงระหว่างเครื่องหมาย <% และ %> จะมีคาสั่งภาษาจาวาได้หลายประโยค ดังนั้น scriptlet จึงเป็นสิ่งที่ปรากฏให้เห็นในไฟล์ JSP มากกว่า Scripting elements แบบอื่น ๆ สามารถใช้กับ if…else , for, while, do…while และอื่นๆ รูปแบบ <% scriptlets %> หน้า 2
  • 5.
    Declaration : ใช้ในการประกาศ ตัวแปรเมธอด คลาส และอื่น ๆ ในภาษาจาวา เราสามารถใช้ scriptlet ประกาศ ค่าตัวแปรได้เช่นกัน แต่การประกาศ ชนิดข้อมูลของตัวแปร เมธอด หรือคลาส ต้องใช้ “Declaration” เท่านั้น markup หรือ เครื่องหมายที่ใช้ประกาศ จะอยู่ระหว่าง <%! กับ %> รูปแบบ <%! declarations %> หน้า 3
  • 6.
    Example 2.1 มีการประกาศและ การเรียกใช้เมธอด หน้า 4
  • 7.
    Expression : เป็น Javacode สั้น ๆ ที่สามารถคานวณหรือหาค่าตามที่กาหนดให้ได้ประโยคที่จะคานวณหรือหา ค่าจะต้องอยู่ระหว่าง <%= และ %> และไม่ต้องมีเครื่องหมายเซมิโคลอน ; ต่อท้าย ผลลัพธ์ที่ได้จะแสดงอยู่ ในรูป text mode ในเว็บเพ็จนั้น รูปแบบ <%= expression %> หน้า 5
  • 8.
    Comments: คอมเมนท์ใน JSP ก็เหมือนกับคอมเมนท์ภาษาคอมพิวเตอร์อื่นๆ มีไว้เพื่ออธิบายขยายความคาสั่ง ในโปรแกรมให้มีความชัดเจนเข้าใจง่าย รู้ว่าคาสั่งทาอะไร ด้วยวิธีการอย่างไร ต้องส่งผ่านตัวแปรใดบ้าง และผลลัพธ์เป็นอย่างไร สะดวกสาหรับในการแก้ไขโปรแกรมในภายหลัง หรือสะดวกต่อโปรแกรมเมอร์ อื่นที่เข้ามาจัดการแก้ไขโปรแกรม ข้อความในคอมเมนท์จะไม่ถูกคอมไพล์ ใน JSP รูปแบบ <%-- declarations -- %> หน้า 6
  • 9.
    Directives JSP directive เป็นการกาหนดให้server รู้ว่าจะประมวลผลเว็บเพ็จในลักษณะอย่างไร มี 3 แบบ คือ 1. page จะกาหนดให้ เซิร์ฟเวอร์รู้ว่าจะแสดงผลเว็บเพจหน้านี้อย่างไร เช่น เป็น HTML หรือ XML 2. include แจ้งให้เซิร์ฟเวอร์นาเว็บเพจหน้าอื่น หรือ resource อื่น ๆ เข้ามารวมกับเว็บเพจหน้า ปัจจุบัน 3. tablib ใช้กาหนด JSP tag ที่นิยามไว้ใน tag libraryคาสั่งชนิด ไดเรกทิฟ จะอยู่ระหว่าง เครื่องหมาย <%@ และ %> ตัวอย่ำงการใช้ directive “page” กาหนดให้ output แสดงผลเป็นแบบ HTML กาหนดรหัสภาษาที่ใช้แสดง เป็น utf8 1 หน้า 7
  • 10.
    Actions: เป็นการกาหนดให้ JSP กระทาในสิ่งที่เราต้องการเช่น forward ไปยังเว็บไซต์อื่น ใน JSP มี action อยู่ 2 แบบคือ Standard action ซึ่งฝังมาในตัว JSP เอง และ custom action เป็น action ที่เราสร้างขึ้นเอง Standard action ที่พบบ่อยได้แก่ 1. <jsp:forward> เป็นการฟอร์เวิด request ไปยังเว็บไซต์อื่น 2. <jsp:include> เป็นการนา output ของ web component เช่น จากไฟล์ HTML อื่นๆ หรือ JSP หรือ servlet มาใส่ตรงตาแหน่งที่คาสั่งนี้วางอยู่ 3. <jsp:plugin> เป็นการกาหนดให้ applet หรือ JavaBean ทางานโดยอาศัยโปรแกรมที่เป็น plug in 4. <jsp:getProperty>, <jsp:setProperty> และ <jsp:useBean> เป็นการนาค่าหรือกาหนดค่า property และ นา JavaBean มาใช้งานในโปรแกรมการส่งข้อมูลผ่านหน้าเว็บเพจ ในกรณีที่เราให้ผู้ใช้ป้ อนข้อมูลผ่านหน้าเว็บเพจ เช่น ป้ อนชื่อและนามสกุล แล้วนาข้อมูลที่ผู้ใช้ ป้ อนเข้ามาไปแสดงผลบนหน้าเว็บเพจอีกหน้าหนึ่ง ในที่นี้จะให้ผู้ใช้ป้ อนข้อมูลในไฟล์ที่ชื่อ 05.html ส่วน ที่ป้อนข้อมูลนั้นอยู่ระหว่าง tag <FORM> และ </FORM> ดังต่อไปนี้ หน้า 8
  • 11.
    รวมโปรแกรมเบื้องต้น ด้วยภำษำเจเอสพี (JSPLanguage) 1.โปรแกรมพิมพ์ 1 ถึง 10 ด้วย for หน้า 9
  • 12.
  • 13.
  • 14.
  • 15.
    ข้อดีภำษำ JSP - JSPสามารถเรียนรู้และใช้งานได้ง่าย - JSP สามารถทางานได้อย่างมีประสิทธิภาพในฝั่งเซิร์ฟเวอร์ - JSP จะทาการ compiled ก่อนเสมอ ที่จะส่งไปรันบนเซิร์ฟเวอร์ - JSP สามารถใช้งานร่วมกับ servlets ได้ - JSP เป็นส่วนหนึ่งของ J2EE ซึ่งหมายความว่า JSP สามารถเป็นส่วนในการทางานที่ง่าย หรือซับซ้อนได้ - JSP เขียนด้วยภาษา java จึงทาให้มีประสิทธิภาพ และใช้งานได้ง่ายกว่า - JSP สามารถใช้กับ webserver ระบบปฏิบัติการใด ๆ ได้ ไม่เฉพาะแต่ของ Microsoft Web servers เท่านั้น ข้อเสียภำษำ JSP ข้อเสียที่เห็นได้ชัดคือการยากในการจัดเก็บ และการยากในการย้ายไฟล์จากเซฟเวอร์หนึ่ง ไปยังอีก เซฟเวอร์หนึ่ง เพราะโดยทั่วไปแต่ละ webserver จะมีลักษณะการจัดเก็บไฟล์ไม่เหมือนกัน แต่เมื่อ Java Servlet Specification เวอร์ชั่น 2.2 ออกมา เซฟเวอร์ที่ใช้รัน Servlet v2.2 จะถูกบังคับให้มีต้องการสนันสนุน การจัดเก็บไฟล์แบบหนึ่ง ที่เรียกว่า Web Applicaton web application คือกลุ่มของไดเรคทรอรี่และไฟล์ที่อาจจะประกอบด้วย html, jsp, servlet, javabean และอื่น ๆ ซึ่งอยู่รวมกันในลักษณะของระบบไฟล์ (file system) หรือถูกอัดอยู่ในไฟล์เดียวกันโดยจะเรียกว่า Web Archive (.war) ไฟล์ ซึ่งมีประโยชน์ในการโยกย้ายและติดตั้งจากเซฟเวอร์หนึ่งไปยังอีกเซฟเวอร์หนึ่ง หน้า 13
  • 16.