Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Servlet

Servlet

Published by supachai.k, 2019-07-31 12:08:02

Description: Servlet

Search

Read the Text Version

Server JavaServer Pages (JSP) เป็นเทคโนโลยีการเขียน โปรแกรมฝ่ังเซิร์ฟเวอร์ท่ีช่วยให้การสร้ างหน้าเว็บแบบไดนามิกและการ ประยุกต์ใช้ ซ่ึงทาได้โดยการฝังรหสั Java เป็น HTML, XML, DHTML, หรือประเภทเอกสารอ่ืน ๆ เม่ือเว็บเบราว์เซอร์ทาให้คาขอไป ยงั ที่เก็บโปรแกรม Java ซึ่งตามปกติจะเป็นเว็บเซิร์ฟเวอร์, หน้าคงถูก แปลงอยู่เบื อ้ งห ลัง และ แสดง เป็ น เนื อ้ หา แบ บไดนา มิกกับตัว JSPServlets เป็น Componet ด้านเซิร์ฟเวอร์ท่ีให้กลไกท่ีมี ประสิทธิภาพ ในการพฒั นาโปรแกรมฝั่งเซิร์ฟเวอร์ ทาหน้าท่ี จัดการกับ request และ response ตา่ งๆ และสง่ คา่ ไปแสดงผลใน JSP

ในภาพข้างบนนีจ้ ะเป็น ภาพท่อี ธิบายถึงการทางานของ Servlet และ JSP เม่ือมีผ้ใู ช้มาใช้งานหน้าเว็ปผา่ น เว็ป Browser ซงึ่ การทางาน คือ เราจะมี Web server application ตวั นึงเช่น Apache Tomcat, Jboss, Web sphere, etc.. ไว้รองรับ request ต่างๆๆ แล้วก็จะส่งต่อให้ container (เป็นตัวควบคุมการสร้ าง servlet หรือ destory ไปเรียก servlet ให้ทางานตามที่ request มาเชน่ request ไปเพ่ือขอข้อมลู ลกู ค้า servlet (หรือมอง วา่ เป็น controller ก็ได้) ก็จะไปทาการดงึ ข้อมลู ลกู ค้าออกมา

(ข้อมลู เราเรียกอีกอย่างว่า model) แล้วก็ส่งค่าต่างๆๆไปท่ี JSP (view)ท่ีมีคาวา่ Model,View,Controller เพราะอยากให้ ทราบวา่ การออกแบบของ JSP & Servlet เป็นการออกแบบที่เรียกวา่ MVC (Model-View-Controller) หรือหมายความง่ายๆๆว่า มนั แบง่ ออกเป็นสว่ นๆๆ แตล่ ะสว่ นก็ทาหน้าท่ีของมนั ไปเช่น Model ก็ เก็บข้อมลู View ก็ทาหน้าท่ีแสดงผล และ Controller ก็ทาหน้าท่ี ควบคมุ การทางาน พวก รับคา่ ,สง่ คา่ ,etc..



MVC MVC คือ สถาปัตยกรรมซอฟต์แวร์ ชนิดหนึ่ง ซึ่งปัจจุบันมี Frameworks สาหรับสร้าง Web จานวนมาก แตเ่ กือบทงั้ หมดมี โครงสร้างแบบ MVC ซงึ่ แตล่ ะระบบจะถกู แบง่ สว่ นออกเป็นสามสว่ น คอื

1. Controller -เป็นสว่ นท่ีทางานเป็นอนั ดบั แรกเม่ือมีโปรแกรมถกู เรียก จาก Web browser -เป็นสว่ นท่ีตดิ ตอ่ การทางานระหวา่ งผ้ใู ช้และโปรแกรม -มีการตดิ ตอ่ กบั Database(ฐานข้อมลู ) ด้วย Model และแสดงผลข้อมลู ผา่ น ทาง View -เป็นสว่ นท่ีมีการประมวลผลหลกั ของโปรแกรม

2. Model -ดแู ลในเร่ืองของการติดต่อสื่อสารระหวา่ ง Object และ Database โดยท่ี ผ้พู ฒั นาไมต่ ้องยงุ่ ยากกบั การใช้ SQL command -เป็นงานด้านการตรวจสอบความสมั พนั ธ์ของข้อมลู มีผลกบั ฐานข้อมลู -Handles validation(ตรวจสอบความถกู ต้อง), association( ความสมั พนั ธ์ระหวา่ งฐานข้อมลู ), transactions, and more

3. View - เป็นสว่ นที่ต้องแสดงผลผา่ น web browser - เขียนด้วยพืน้ ฐานของ HTML แทรกด้วย script PHP - การทางานสมั พนั ธ์อยกู่ บั controller - นา component มาใช้ใหมไ่ ด้ (Reusable) - สนบั สนนุ Ajax - View เป็นการแสดงผลทาง logic หรือ การทาอยา่ งไรให้ข้อมลู จาก Controller class ถกู แสดงผล - นอกจากนีย้ งั สามารถกาหนด stysheet และ template เพื่อให้งานเวบ็ แอ พลเิ คชน่ั นนั้ มีมาตรฐานเดียวกนั ทงั้ หมด ในกรณี template จะสร้างไฟล์ ท่ีเป็น ตวั กาหนด header, content, footer ไว้ท่ีโฟลเดอร์ layout ภายใต้ โฟลเดอร์ view ซง่ึ ลกั ษณะการทางานของไฟล์นี ้จะถกู เรียกใช้ในการแสดงผลทกุ ครัง้ เป็นต้น



การทางานของเซิร์ฟเลต็ วิวเวอร์ เซิร์ ฟเล็ตจะสร้ างเซิร์ ฟเวอร์ คอมโพเนนต์หลักสาหรับชุด ซอฟต์แวร์ IBM® Daeja ViewONE สาหรับ IBM Daeja ViewONE Professional เซิร์ฟเล็ตจะถูกใช้สาหรับ ViewONE Document Streaming Server Module และ ViewONE Permanent Redaction Server Module ที่ทางานฝ่ังเซิร์ฟเวอร์ สาหรับ IBM Daeja ViewONE Virtual เซิร์ฟเล็ตจะมีจดุ เร่ิมต้นคาสงั่ ท่ีจาเป็น สาหรับการทางาน ของวิวเวอร์



Thread Thread คือ หน่วยการทางานย่อยที่อย่ใู น process มีการแบ่งปัน ทรัพยากรต่างๆ ใน process นนั้ ๆ โดยปกติ Process ที่มี 1 thread จะ เรียกว่า Single thread หรือเรียกวา่ Heavy Weight Process ซง่ึ มกั พบใน OS รุ่นเก่า แต่ถ้า 1 process มีหลาย thread จะเรียกว่า Multithread หรือ Light Weight Process ซง่ึ พบได้ใน OS รุ้นใหมท่ ี่ ใช้กันในปัจจุบันท่ัวไป และ Multithread ก็เป็นท่ีนิยมมากกว่า Single thread

องค์ประกอบภายในเธรด (Threads) ประกอบด้วย 1. Threads ID หมายเลขเทรดที่อยใู่ นโปรเซส 2. Counter ตวั นบั เพื่อตดิ ตามคาสงั่ ที่จะถกู ดาเนนิ การเป็นลาดบั ถดั ไป (Execute) 3. Register หนว่ ยความจาเก็บคา่ ตวั แปรที่ทางานอยปู่ ัจจบุ นั 4. Stack เก็บประวตั กิ ารทางาน (Execute)

ประโยชน์ของมลั ตเิ ทรด ( Multi-Threads) 1.การตอบสนอง (Response) ในเรื่องของการทางานมีการตอบสนองท่ีดีกบั ผ้ใู ช้ (user) ถ้าการทางานของ โปรแกรมประยกุ ต์ของผ้ใู ช้นนั้ มีบางสว่ นภายในโปรเซส ถกู บล๊อกหรือใช้เวลามากเกินไป OS กย็ งั สามารถจดั สรรให้งานอ่ืน ๆ ภายในโปรเซส นนั้ ประมวลผลตอ่ ไปได้ 2. การใช้ทรัพยากรร่วมกนั (Share Resource) สามารถใช้โค้ม (code) ใช้ โปรแกรม (application) และใช้หนว่ ยความจา (memory) ร่วมกนั ระหวา่ ง โปรเซสเดียวกนั ได้ 3. ประหยดั (Economic) ประหยดั การใช้หน่วยความจาในการทางานของ โปรเซส เน่ืองจากแตล่ ะเทรด (Thread) มีการใช้หนว่ ยความจาของโปรเซส ร่วมกนั 4. ด้านโครงสร้างของมลั ตเิ ทรด (Multithread Architecture) การเอือ้ ประโยชน์ด้านโครงสร้างระบบ ท่ีงานยอ่ ยภายในโปรเซสให้สามารถทางานร่วมกนั ประสานจงั หวะการทางานและใช้ทรัพยากรของโปรเซสร่วมกนั ได้


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook