19
คคคคคคคคคคคคคคคคค 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 ภภภภภภภภภภภภภภภภภภภภภ ภภภภภภภภ ภ ภภภภภภ ภภภภภภภภภภภภภภภภภ ภภภภภภภภภภภภ ภภภภ

ภาษา Jsp

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: ภาษา Jsp

ความเป็�นมาของภาษา JSP

JSP (Java Server Page) ภาษา JSP เป็�นเทคโนโลยี�ของจาวาสำ�าหรั�บสำรั�าง HTML, XML หรั�อตามท��ผู้ �ใช้�รั�องขอม�ต�วแป็ลภาษาค�อ Tomcat Apache และ Java Compiler พั�ฒนาโดยี James Duncan Davidson ค.ศ.2000

Java Server Page (JSP) เป็�นเทคโนโลยี�สำ�าหรั�บการัควบค*มเน�+อหาหรั�อสำ,�งท��มองเห-นของเว-บเพัจผู้.านการัใช้� servlet

ผู้ �พั�ฒนา Java ได�อ�างถึ1งเทคโนโลยี� JSP เป็�น Servlet

application program interface โดยี JSP เป็รั�ยีบเท�ยีบได�ก�บเทคโนโลยี� (ASP) ของ Microsoft ขณะท�� Java Server

Page เรั�ยีกโป็รัแกรัม Java โดยีแม.ข.ายีเว-บ Active Server

Page เก-บสำครั,ป็ต3ท��ได�รั�บการัแป็ลไว� ก.อนเพัจได�รั�บการัสำ.งไป็ยี�งผู้ �ใช้�  เพัจ HTML ท��เก-บการัเช้��อมโยีงก�บ Java servlet บางครั�+งใช้�ไฟล3นามสำก*ล .JSP

ก้�าวแรก้ สู่��โลก้ JSP

ค�าสำ��งหรั�อข�อความต.าง ๆ ท��ป็รัากฏอยี .ในไฟล3 JSP อาจม�เพั�ยีงบรัรัท�ดเด�ยีว หรั�อหลายี ๆ บรัรัท�ด เรั�ยีงก�นเป็�นบล-อก เรั�ยีกค�าสำ��งหรั�อข�อความเหล.าน�+อยี.างสำ�+น ๆ ว.า element ม�อยี . 4 แบบ ค�อ

1. Scripting elements ได�แก. code ของจาวาท��เข�ยีนใน scriptlet

หน�า 1

Page 2: ภาษา Jsp

2. Comments ข�อความต.าง ๆ ท��ผู้ �เข�ยีนโป็รัแกรัมอธิ,บายี หรั�อขยีายีความ coding ต.าง ๆในโป็รัแกรัม สำะดวกต.อผู้ �อ.าน และสำะดวกในแก�ไขโป็รัแกรัมในภายีหล�งเม��อเวลาผู้.านไป็นาน ๆ ข�อความใน comment น�+ server จะไม.น�าไป็ป็รัะมวลผู้ล

3. Directives ค�อค�าสำ� �งท��ใช้�ก�าก�บ web server เช้.น ก�าหนดให�แสำดงผู้ลของ page น�+เป็�นแบบ XML ไม.ใช้. Html

4. Actions สำ�าหรั�บก�าหนดการักรัะท�าบางอยี.างเช้.น ก�าหนดให�น�า page หน�าอ��น มาแสำดงผู้ลรั.วมก�บ page ป็9จจ*บ�น

Scripting Element:

Scripting element ออกเป็�น 3 ล�กษณะ ค�อ Scriptlet,

Declaration และ Expression

1. Scriptlet จะเรั,�มต�นด�วยี <% และป็:ดท�ายีด�วยี %>

รัะหว.างเครั��องหมายีน�+จะเป็�นค�าสำ� �งในภาษาจาวา เช้.น <%

out.println("Hello, World"); %> จะม�ค�าสำ� �งภาษาจาวา 1

ป็รัะโยีค อ�นท��จรั,งรัะหว.างเครั��องหมายี<% และ %> จะม�ค�าสำ� �งภาษาจาวาได�หลายีป็รัะโยีค ด�งน�+น scriptlet จ1งเป็�นสำ,�งท��ป็รัากฏให�เห-นในไฟล3 JSP มากกว.า Scripting elements แบบอ��น ๆ

สำามารัถึใช้�ก�บ if…else , for, while, do…while และอ��นๆ

ร�ป็แบบ

หน�า 2

Page 3: ภาษา Jsp

<% scriptlets %>

Declaration :

ใช้�ในการัป็รัะกาศ ต�วแป็รั เมธิอด คลาสำ และอ��น ๆ ในภาษาจาวา เรัาสำามารัถึใช้� scriptlet ป็รัะกาศค.าต�วแป็รัได�เช้.นก�น แต.การัป็รัะกาศ ช้น,ดข�อม ลของต�วแป็รั เมธิอด หรั�อคลาสำ ต�องใช้� “Declaration” เท.าน�+น markup หรั�อ เครั��องหมายีท��ใช้�ป็รัะกาศ จะอยี .รัะหว.าง <%! ก�บ %> 

ร�ป็แบบ

<%! declarations %>

หน�า 3

Page 4: ภาษา Jsp
Page 5: ภาษา Jsp

Example 2.1 ม�การัป็รัะกาศ และ การัเรั�ยีกใช้�เมธิอด

หน�า 4

Page 6: ภาษา Jsp

Expression :

เป็�น Java code สำ�+น ๆ ท��สำามารัถึค�านวณหรั�อหาค.าตามท��ก�าหนดให�ได� ป็รัะโยีคท��จะค�านวณหรั�อหาค.าจะต�องอยี .รัะหว.าง <%= และ %> และไม.ต�องม�เครั��องหมายีเซม,โคลอน ; ต.อท�ายี ผู้ลล�พัธิ3ท��ได�จะแสำดงอยี .ในรั ป็ text mode ในเว-บเพั-จน�+น

ร�ป็แบบ

<%= expression %>

หน�า 5

Page 7: ภาษา Jsp

Comments:

คอมเมนท3ใน JSP ก-เหม�อนก�บคอมเมนท3ภาษาคอมพั,วเตอรั3อ��น ๆ ม�ไว�เพั��ออธิ,บายีขยีายีความค�าสำ��งในโป็รัแกรัมให�ม�ความช้�ดเจนเข�าใจง.ายี รั �ว.าค�าสำ� �งท�าอะไรั ด�วยีว,ธิ�การัอยี.างไรั ต�องสำ.งผู้.านต�วแป็รัใดบ�าง และผู้ลล�พัธิ3เป็�นอยี.างไรั สำะดวกสำ�าหรั�บในการัแก�ไขโป็รัแกรัมในภายีหล�ง หรั�อสำะดวกต.อโป็รัแกรัมเมอรั3อ��นท��เข�ามาจ�ดการัแก�ไขโป็รัแกรัม ข�อความในคอมเมนท3จะไม.ถึ กคอมไพัล3 ใน JSP

ร�ป็แบบ

<%-- declarations -- %>

หน�า 6

Page 8: ภาษา Jsp

Directives

JSP directive เป็�นการัก�าหนดให� server รั �ว.าจะป็รัะมวลผู้ลเว-บเพั-จในล�กษณะอยี.างไรั ม� 3 แบบ ค�อ

1. page จะก�าหนดให� เซ,รั3ฟเวอรั3รั �ว.าจะแสำดงผู้ลเว-บเพัจหน�าน�+อยี.างไรั เช้.น เป็�น HTML หรั�อ XML

2. include แจ�งให�เซ,รั3ฟเวอรั3น�าเว-บเพัจหน�าอ��น หรั�อ resource อ��น ๆ เข�ามารัวมก�บเว-บเพัจหน�าป็9จจ*บ�น

3. tablib ใช้�ก�าหนด JSP tag ท��น,ยีามไว� ใน tag

library ค�าสำ��งช้น,ด ไดเรักท,ฟ จะอยี .รัะหว.างเครั��องหมายี <%@

และ %>

ตั�วอย่�างการัใช้� directive “page” ก�าหนดให� output แสำดงผู้ลเป็�นแบบ HTML ก�าหนดรัห�สำภาษาท��ใช้�แสำดงเป็�น utf8

หน�า 7

Page 9: ภาษา Jsp

1

Actions:

เป็�นการัก�าหนดให� JSP กรัะท�าในสำ,�งท��เรัาต�องการั เช้.น forward ไป็ยี�งเว-บไซต3อ��น ใน JSP ม� action อยี . 2 แบบค�อ Standard action ซ1�งฝั9งมาในต�ว JSP เอง และ custom

action เป็�น action ท��เรัาสำรั�างข1+นเอง Standard action ท��พับบ.อยีได�แก.

1. <jsp:forward> เป็�นการัฟอรั3เว,ด request ไป็ยี�งเว-บไซต3อ��น

2. <jsp:include> เป็�นการัน�า output ของ web

component เช้.น จากไฟล3 HTML อ��นๆ หรั�อ JSP หรั�อ servlet มาใสำ.ตรังต�าแหน.งท��ค�าสำ� �งน�+วางอยี .

หน�า 8

Page 10: ภาษา Jsp

3. <jsp:plugin> เป็�นการัก�าหนดให� applet หรั�อ JavaBean ท�างานโดยีอาศ�ยีโป็รัแกรัมท��เป็�น plug in

4. <jsp:getProperty>, <jsp:setProperty>

และ <jsp:useBean> เป็�นการัน�าค.าหรั�อก�าหนดค.า property และ น�า JavaBean มาใช้�งานในโป็รัแกรัมการัสำ.งข�อม ลผู้.านหน�าเว-บเพัจ

ในกรัณ�ท��เรัาให�ผู้ �ใช้�ป็=อนข�อม ลผู้.านหน�าเว-บเพัจ เช้.น ป็=อนช้��อและนามสำก*ล แล�วน�าข�อม ลท��ผู้ �ใช้�ป็=อนเข�ามาไป็แสำดงผู้ลบนหน�าเว-บเพัจอ�กหน�าหน1�ง ในท��น�+จะให�ผู้ �ใช้�ป็=อนข�อม ลในไฟล3ท��ช้��อ 05.html สำ.วนท��ป็=อนข�อม ลน�+นอยี .รัะหว.าง tag <FORM> และ </FORM> ด�งต.อไป็น�+

รวมโป็รแก้รมเบ��องตั�น ด้�วย่ภาษาเจเอสู่พี! (JSP

Language)

1.โป็รแก้รมพี"มพี# 1 ถึ%ง 10 ด้�วย่ for

หน�า 9

Page 11: ภาษา Jsp

2. โป็รแก้รม เช็'คว�าเป็�นว�นหย่)ด้หร�อไม� โด้ย่ใช็� if...else

หน�า 10

Page 12: ภาษา Jsp

3. ก้ารลด้ทอนค�าโด้ย่ใช็� while loop

หน�า 11

Page 13: ภาษา Jsp

4.ก้าเล�อก้ว�นโด้ย่ switch case

หน�า 12

Page 14: ภาษา Jsp

ข�อด้!ภาษา JSP

- JSP สำามารัถึเรั�ยีนรั �และใช้�งานได�ง.ายี- JSP สำามารัถึท�างานได�อยี.างม�ป็รัะสำ,ทธิ,ภาพัในฝั9� งเซ,รั3ฟเวอรั3- JSP จะท�าการั compiled ก.อนเสำมอ ท��จะสำ.งไป็รั�นบนเซ,รั3ฟเวอรั3- JSP สำามารัถึใช้�งานรั.วมก�บ servlets ได�- JSP เป็�นสำ.วนหน1�งของ J2EE ซ1�งหมายีความว.า JSP สำามารัถึเป็�นสำ.วนในการัท�างานท��ง.ายี หรั�อซ�บซ�อนได�- JSP เข�ยีนด�วยีภาษา java จ1งท�าให�ม�ป็รัะสำ,ทธิ,ภาพั และใช้�งานได�ง.ายีกว.า- JSP สำามารัถึใช้�ก�บ webserver รัะบบป็ฏ,บ�ต,การัใด ๆ ได� ไม.เฉพัาะแต.ของ Microsoft Web servers เท.าน�+น

ข�อเสู่!ย่ภาษา JSP

  ข�อเสำ�ยีท��เห-นได�ช้�ดค�อการัยีากในการัจ�ดเก-บ และการัยีากในการัยี�ายีไฟล3จากเซฟเวอรั3หน1�ง ไป็ยี�งอ�กเซฟเวอรั3หน1�ง เพัรัาะโดยีท��วไป็แต.ละ webserver จะม�ล�กษณะการัจ�ดเก-บไฟล3ไม.เหม�อนก�น แต.เม��อ Java Servlet Specification เวอรั3ช้��น 2.2 ออกมา เซฟเวอรั3ท��ใช้�รั�น Servlet v2.2 จะถึ กบ�งค�บให�ม�ต�องการัสำน�นสำน*นการัจ�ดเก-บไฟล3แบบหน1�ง ท��เรั�ยีกว.า Web Applicaton 

            web application ค�อกล*.มของไดเรัคทรัอรั��และไฟล3ท��

หน�า 13

Page 15: ภาษา Jsp

อาจจะป็รัะกอบด�วยี html, jsp, servlet, javabean และอ��น ๆ ซ1�งอยี .รัวมก�นในล�กษณะของรัะบบไฟล3 (file system) หรั�อถึ กอ�ดอยี .ในไฟล3เด�ยีวก�นโดยีจะเรั�ยีกว.า Web Archive (.war) ไฟล3 ซ1�งม�ป็รัะโยีช้น3ในการัโยีกยี�ายีและต,ดต�+งจากเซฟเวอรั3หน1�งไป็ยี�งอ�กเซฟเวอรั3หน1�ง 

บรรณาน)ก้รม

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