บทที่ 4 : เรียนรู้คำสั่งเกี่ยวกับ JSP ครั้ง 3

Download Report

Transcript บทที่ 4 : เรียนรู้คำสั่งเกี่ยวกับ JSP ครั้ง 3

[email protected]
JSP ตอนที่ 3
ตรวจสอบความพร้อมก่อนเรี ยน
J2SE (Set Environment ให้เรี ยบร้อย)
 Tomcat (Start Service ให้เรี ยบร้อย)
 เปิ ด home ของ tomcat
C:\Program Files\Apache Software Foundation\Tomcat 6.0

เขียนโปรแกรมทดสอบ include action

1 . สร้างไฟล์ Header.html
ทดสอบ
เขียนโปรแกรมทดสอบ include action

2. สร้าง Testinclude.jsp
ทดสอบ
เขียนโปรแกรม การทางานของ include action ใน
ลักษณะที่มีการส่ งพารามิเตอร์ ไปด้วย (param action)

1. สร้างไฟล์ RequestParam.jsp
ทดสอบ
ยังไม่ มคี ่ าทีส่ ่ งมา ค่ าจึงออกมาเป็ น ค่ าว่ าง
แสดงผลออกมาเป็ น Null
เขียนโปรแกรม การทางานของ include action ใน
ลักษณะที่มีการส่ งพารามิเตอร์ ไปด้วย (param action)

2 สร้างไฟล์ TestIncludeWithParam.jsp
ทดสอบ
หมายถึง รวมไฟล์ ชื่อ RequestParam.jsp เข้ ากับ
ไฟล์ นี้ ด้ วย โดยส่ งพารามิเตอร์ ชื่อ name ซึ่งมีค่า
นายสมชาย มายังไฟล์
TestIncludeWithParam.jsp ด้ วย
การทางานของ forward action
รูปแบบ
ตัวอย่ าง
หมายถึง ส่ งต่อ request ของ client จาก page ปัจจุบนั ไปยัง Forward Page.jsp
Forward action ใช้สาหรับ forward (ส่ งต่อ) request ของ client ไปยังที่อื่นซื้อ
อยูภ่ ายใน web application เดียวกัน
เขียนโปรแกรม การทางานของ forward action ในลักษณะทีม่ ีการส่ ง
พารามิเตอร์ ไปยังไฟล์ ที่จะ forward ไปด้ วย

1. สร้างไฟล์ RequestParam2.jsp
เขียนโปรแกรม การทางานของ forward action ในลักษณะทีม่ ีการส่ ง
พารามิเตอร์ ไปยังไฟล์ ที่จะ forward ไปด้ วย
 2. สร้างไฟล์ TestForwardWithParam.jsp
หมายถึง ส่ งต่อ request ของ client จาก page ปัจจุบนั ไป
ยัง RequestParam2.jsp
โดยส่ งพารามิเตอร์ ชื่อ name ซึ่งมีค่าเป็ น วาทินี
ส่ งพารามิเตอร์ ชื่อ lastname ซึ่งมีค่าเป็ น ดวงอ่อนนาม
JDBC (Java DataBase Connectivity)
JDBC ( Java DataBase Connectivity )

JDBC ( Java DataBase Connectivity )
JDBC คือ กลุ่มของคลาสและอินเตอร์เฟสที่ช่วยให้ JSP สามารถ
เชื่อมต่อการทางานกับฐานข้อมูลได้ โดยเราจะเรี ยกกลุ่มของคลาสและ
อินเตอร์เฟสเหล่านี้ ”JDBC API”
JDBC API จะถูกจัดเก็บอยูใ่ นแพ็กเกจ 2 แพ็กเกจ ดังนี้
1.แพ็กเกจ java.sql
2.แพ็กเกจ javax.sql
แสดงการทางานของ JSP ร่ วมกับระบบฐานข้อมูล
JSP
JDBC API
JDBC Driver JDBC Driver
Manager
Database
จากรู ป จะพบว่าการที่ JDBC API จะทางานร่ วมกับ JDBC Driver ได้น้ นั
จะต้องติดต่อผ่าน JDBC Driver Manager เสมอ
JDBC Driver Manager จะเป็ นผูส้ ร้างการเชื่อมต่อระหว่าง JDBC Driver กับฐานข้อมูล
(Database) ขึ้น เพื่อให้ JSP สามารถติดต่อกับฐานข้อมูลได้ซ่ ึงการใช้ JDBC Driver Manager นั้นสามารถ
เรี ยกใช้งานได้จากคลาส Drivermanger ซึ่ งถูกเก็บอยูใ่ นแพ็กเกจ java.sql
ขั้นตอนเตรี ยมข้อมูลต่าง ๆ
1.ขั้นตอนเตรี ยม ข้อมูล และฐานข้อมูล
 2.ขั้นตอน download และ Install Driver ของ MySQL
ั ฐานข้อมูล MySQL
 3. ขั้นตอน สร้าง data sources (ODBC) ให้กบ
 4. สร้าง JSP และจัดการกับฐานข้อมูลด้วยคาสัง่

ขั้นตอนสร้าง Database,table,data
1.สร้าง Database ชื่อ “mysqldb”
ขั้นตอนสร้าง Database,table,data
2.สร้าง table ชื่อ employees
Empid คือ รหัสพนักงาน เป็ น Primary Key
Name คือ ชื่อพนักงาน
Age คือ อายุพนักงาน
ขั้นตอนสร้าง Database,table,data
3. เรี ยกดู table empolyees
ขั้นตอนสร้าง Database,table,data
4. Insert ข้อมูลลงใน table empolyees
emid
10000
10001
10002
10003
10004
10005
name
somsai
somjai
sompong
somsee
somsom
somyee
age
22
23
24
25
26
27
ขั้นตอนสร้าง Database,table,data
5. ตรวจสอบข้อมูลว่าเรี ยบร้อยหรื อไม่
ขั้นตอนสร้าง DB
อีกวิธีโดยใช้ Navicat for mysql
โดย Execute File .SQL
อาจารย์จะสอนในชัว่ โมงเรี ยน และปฏิบตั ิตาม
ขั้นตอน : ดาวโหลด และ ติดตั้ง ไดรเวอร์ของ Mysql
http://dev.mysql.com/downloads/connector/odbc/3.51.html
ขั้นตอน สร้าง data sources (ODBC)
1.ไปที่ control panel เลือก Administrative tools
เลือก Data Sources (ODBC)
2. ที่ tab System DSN ให้คลิกปุ่ ม Add เพื่อสร้าง data source name
ขั้นตอน สร้าง data sources (ODBC)
3. เลือก driver ชื่อ MySQL ODBC 3.51 Driver แล้วคลิก Finish
ขั้นตอน สร้าง data sources (ODBC)
4. จะแสดงหน้าจอของ Connector / ODBC ให้กรอกข้อมูลตามภาพ
แล้วคลิกTest เพื่อทดสอบว่าติดต่อ DB ได้หรื อไม่
ผลจากการ คลิก Test

หลัง Test คลิก OK เพื่อปิ ดหน้าจอ และคลิก OK อีกครั้งเพื่อยืนยันการสร้าง
ODBC
ขั้นตอน สร้าง data sources (ODBC)
5.จะพบว่ามี Data Source Name ชื่อ DSNemp ปรากฏ ขึ้น แล้วให้คลิก OK
Download SelectEmployee.jsp
ให้นกั ศึกษา เปิ ดไฟล์ SelectEmployee.jsp
แล้วทดสอบให้ได้ผลดังภาพ
อธิบาย Source Code
SelectEmployee.jsp
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
การดึงข้อมูลจากฐานข้อมูล (select Statement)
 1 .สร้างไฟล์ SelectEmployee.jsp เขียนการทางานของโปรแกรม
 2. เพิ่มเติมเรื่ อง การดักจับข้อมูลผิดพลาดด้วย try catch
แสดงข้อมูลเมื่อเกิดความผิดพลาดตามที่ดกั จับ
แสดงข้อมูลเมื่อเกิดความผิดพลาดตามที่ดกั จับ
ดักจับด้วย Class แม่ หรื อ ทุกความผิดพลาดที่สามารถดักจับได้
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
3.โหลด JDBC Dirver
รู ปแบบ
Class.forname(“ JDBC driver ที่ตอ้ งการโหลด”);
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
4.กาหนด URL ที่ใช้เชื่อมต่อ
String ชื่อตัวแปร =“jdbc:odbc: ชื่อ data source ของ ODBC ”;
5.ทาการเชื่อมต่อ (connection)
Connection ชื่อตัวแปรของการconncet=
DriverManager.getConnection(URL,username,pass);
หมายเหตุให้เปลี่ยนชื่อ DSN จาก emp เป็ น DSNemp
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
5. สร้างตัวแปรเป็ น Object ของคาสัง่ (Statement) ขึ้นมาเพื่อส่ ง SQL
Statement ไปประมวลผล
Statement ชื่อตัวแปร = ตัวแปรที่เก็บค่าเชื่อมต่อ.createStatement();
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
6. สร้างคาสัง่ SQL เก็บไว้ในตัวแปร String เพื่อง่ายต่อความเข้าใจ และแก้ไข
String ชื่อตัวแปร=“คาสัง่ SQL”
เช่น
String sql=“select * from employees”;
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
7. ทาการประมวลผลคาสัง่ SQL นั้น ๆ แล้วนาค่ามาเก็บไว้ในตัวแปรผลลัพธ์
แบบ 1 ใช้กบั คาสัง่ Select ข้อมูล (เมธอด executeQuery)
ResultSet ชื่อตัวแปร=stmt.executeQuery(ตัวแปรคาสัง่ SQL);
แบบ 2 ใช้กบั คาสัง่ insert ,update,delect หรื อคาสัง่ create table,drop
table,alter table เป็ นต้น (เมธอด executeUpdate)
Typeตัวแปร ชื่อตัวแปร=stmt.executeUpdate(คาสัง่ SQL);
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
8 .ตรวจสอบว่า การเชื่อมต่อ con ติดต่อได้หรื อไม่ ถ้าติดต่อได้ ให้ตรวจสอบว่า
ผลการประมวลผล SQL สาเร็ จหรื อไม่
โดยใช้ คาสัง่ เงื่อนไข ตัวอย่างเช่น
if(con!=null){
ถ้าสามารถ connnect ได้ให้ ทาตามคาสัง่ sql
}
ปิ ดการเชื่อมต่อ
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ(ต่อ)
ตัวสอบว่า การประมวลผลมีขอ้ มูลกลับมาหรื อไม่
if(con!=null){
if(rs!=null){
ถ้ามีขอ้ มูลก็ให้ทาการแสดลผลข้อมูล
}
}
ปิ ดการเชื่อมต่อ ปิ ดการติดต่อกับฐานข้อมูล
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
9. ปิ ดการเชื่อมต่อ
ปิ ดการเชื่อมต่อการ connect ตัวแปรชื่อ con
con.close();
ปิ ดการเชื่อมต่อคาสัง่ sql ต่าง ๆ กับตัวแปรชื่อ stmt
stmt.close();
ปิ ดการเชื่อมต่อผลลัพธ์ของ Object ResultSet กับตัวแปรชื่อ rs
rs.close();
ส่ วนแสดงผลข้อมูล
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
10.การแสดงผล
กรณี (เมธอด executeQuery)
while (rs.next()) {
int x=rs.getInt(“ชื่อ column โดยสมมุติวา่ คอลัมน์น้ ีเป็ นประเภทตัวเลข”);
String s=rs.getString(“ชื่อ column โดยสมมุติวา่ คอลัมน์น้ ีเป็ นประเภทข้อความ”);
……
}
ขั้นตอน สร้าง JSP และจัดการข้อมูลด้วยคาสัง่ ต่าง ๆ
10.การแสดงผล
กรณี (เมธอด executeUpdate)
String sql=“insert into employees values(‘10007’,’som1’,24)”;
int return_value=stmt.executeUpdate(sql);
if (return_value==1){
out.print(“ทาการเพิ่มข้อมูลเรี ยบร้อย”);
}else{
out.print(“เกิดข้อผิดพลาดในการเพิม่ ข้อมูล”);
}
ทดสอบ หน้าจอ