Servlet là công nghệ lập trình web ra đời từ rất sớm Viết bằng Java tận dụng ưu điểm Java Xử lý yêu cầu bằng phương ph|p đa tiểu trình Chạy được trên mọi hệ điều h{nh, mọi phần cứ
Trang 1NGUYỄN NGHIỆM MASTER OF IT-MANAGEMENT
0913745789 NNGHIEM@YAHOO.COM
Trang 2 Thế giới Java
Lập trình web Servlet/JSP
Thư viện Oreilly
Thư viện thẻ chuẩn Java - EL & JSTL
L{m việc với CSDL - JDBC và JPA
Filter & Listener
Web Service
Mô hình lập trình MVC
Khóa học Servlet/JSP
Trang 3Cafe Java bổ dưỡng trí tuệ
Xứ mệnh lịch sử
Khẩu hiệu “Write once, run anywhere” v{ thời đại CNTT
Trang 4 Java Platform: J2SE, J2ME, J2EE
Technologies: Swing, Applet, Servlet, JSP, JSF, Struts, Springs, Hypernate, Ruby, Androi, EJB, JMS, Web Service, Google Web Toolkit
Application Server: Oracle, JBoss, Jonas, Resin, WebLogic, Tomcat,
Glassfish,…
Trang 5Ứng dụng Java
Core Banking của ng}n h{ng lớn sử dụng c|c hệ điều h{nh Unix, Linux
eBay - hệ thống b|n h{ng lớn nhất thế gới
Hệ thống thương mại điện tử của IBM
Lợi thế của Java
Trang 6 Servlet là công nghệ lập trình web ra đời từ rất sớm
Viết bằng Java (tận dụng ưu điểm Java)
Xử lý yêu cầu bằng phương ph|p đa tiểu trình
Chạy được trên mọi hệ điều h{nh, mọi phần cứng
Nhiều ứng dụng server miễn phí như Tomcat, Resin, Jboss…
Trang 9Thư viện cung cấp c|c h{m tiện ích giúp lập trình
servlet trở nên dễ d{ng hơn
MultipartRequest: Upload file
MailMessage: Gửi email
ParameterParser, CookieParser: Đọc tham số v{ cookie theo kiểu dữ liệu
Base64Encoder/Base64Deoder: M~ hóa v{ giải m~ dữ liệu
Deamon: Tạo dịch vụ ngầm, giúp chống nghẽn
Trang 10 Sử dụng m~ đặc tả (scripting code) viết trực tiếp lên trang web.
M~ Java được sử dụng trong c|c đoạn m~ đặc tả
JSP được mở rộng từ Servlet (tận dụng ưu điểm đa tiểu trình)
WYSIWYG = “What you see is what you get”
Phải dịch sang Servlet (chỉ lần đầu hoặc khi bị thay đổi) trước khi thực thi
Trang 12 JavaBean l{ một lớp java thỏa m~n c|c yêu cầu sau
Phải có constructor mặc định (không tham số)
C|c thương thức truy xuất phải có dạng
o Public <kieu> get<Xyz>(){}
o Public void set<Xyz>(<kieu> value){}
Trong đó Xyz phải bắt đầu bởi ký tự hoa (ví dụ: setabc() l{ không hợp lệ, m{ phải l{ setAbc()).
JavaBean thường dùng với 2 mục đích chính sau
Nắm giữ tham số yêu cầu gửi từ client
Chia sẻ dữ liệu giữa c|c th{nh phần web (Servlet, JSP, Filter,
Listener, CustomTag…) tùy v{o phạm vi chia sẻ
bean JSP
Servlet Listener
Trang 13JSP cung cấp 3 “h{nh động chuẩn” (Standard
Trang 16 Ngôn ngữ biểu thức (EL – Expression Language)
phạm vi, tham số, header, cookie, Map, Collection
thuận lợi cho việc triển khai ứng dụng web theo mô hình MVC
Thư viện thẻ chuẩn Java (JSTL – Java Standard Tag Library)
Trang 23Tải trình điều khiển
Connection.createStatement()Connection.preparedStatement()
Connection.prepareCall()
Statement.executeQuery()Statement.executeUpdate()
ResultSet.next()ResultSet.get<Xyz>()Connection.close()
Trang 25Kiểu dữ liệu SQL phù hợp :
BINARY, VARBINARY, IMAGE
Trang 27JDO – Java Data Object
EJB – Enterprise JavaBean
Hybernate
New features
JPA Java Persistance API
Trang 28 Filter (bộ lọc) được viết để lọc c|c yêu cầu của kh|ch h{ng Vì vậy sau khi c{i đặt th{nh công, Filter sẽ chạy trước v{ sau servlet/jsp bị lọc.
Mục đích của Filter l{ để kiểm so|t từng request
Với mục đích an to{n (Authentication v{ Authorization)
Với mục đích chuyển đổi, bổ sung dữ liệu
Chuyển hướng xử lý sang trang kh|c
Trang 30URL Rewrite Filter
Trang 31 Mục đích của Listener
Kiểm so|t vòng đời của ServletContext v{ Session (create,
destroy)
Kiểm so|t vòng đời của c|c thuộc tính lưu trong ServletContext
và Session (add, remove, replace)
Trang 33 Khởi động bộ đếm (đọc số đếm củ từ tập tin) khi ứng
dụng bắt đầu: ServletContext.contextInitialized() v{ lưu vào ServletContext
Tăng số đếm lên 1 nếu có 1 session được tạo ra:
Trang 34 Internet-based modular applications
Accessed over the Web anytime and anywhere
Lợi thế của web service
Web Service được tạo ra cũng như
sử dụng rất dễ d{ng trang Java
Trang 35 Đăng ký t{i khoản
Sử dụng t{i khoản để tích hợp với web service của eBay
(FindingService) Đ}y l{ qu| trình tạo web service proxy.
Gọi phương thức web findItemsByKeywords() để lấy c|c
h{ng hóa thỏa m~n với từ khóa truyền theo yêu cầu.
eBay WebServices Servlet/JSP
Web Browser
Trang 36MVC Framework
Java MVC: Struts, Spring, JSF…
MS.NET MVC 3
PHP Zend Framework
Trang 37 Controler: Congty.do (CongtyServlet.java)
View: CongtyList.jsp, CongtyDetail.jsp
Trang 38Tính trong suốt môi trường
Thế giới di động
Trang 39Service
Trang 40 Java
Lập trình cơ bản (biến, kiểu, biểu thức, lệnh, ngoại lệ)
Mảng, tập hợp, bản đồ
C|c thư viện thường dùng
V{o/ra (xử lý luồng dữ liệu v{o ra chương trình)
Lập trình hướng đối tượng
Cơ bản: Công cụ SQL Server 2008, ngôn ngữ định nghĩa, ngôn ngữ thao t|c
Nâng cao: Join, Group, View, Stored Procedure, Functions, Triggers
Lập trình CSDL với Driver, Connection, Statement, ResultSet: truy vấn, cập nhật
N}ng cao: Gọi stored procedure, chống hack, ph}n tích cấu trúc CSDL với
Trang 41 Thư viện thẻ lõi, định dạnh, xử lý sql, xử lý SQL
Quốc tế hóa website
Web Service
Tạo v{ sử dụng, x}y dựng mô hình tích hợp
Tích hợp với eBay, Google, Amazone…
MVC Pattern, MVC Frameworks, Servlet/JSP MVC
Trang 42 Yêu cầu
x}y dựng 1 website b|n h{ng, du lịch, đ{o tạo…
Qui trình thực hiện dự |n
Tiếp nhận yêu cầu
Ph}n tích v{ viết đặc tả yêu cầu
X}y dựng prototype
Thiết kế CSDL
Thiết kế giao diện
Viết m~
Kiểm tra chất lượng từng mô-đun
Kiểm tra chất lượng tích hợp
Triển khai dự |n
Đ{o tạo v{ chuyển giao
Đ|nh gi| cuối khóa
Nộp đĩa chứa website v{ t{i liệu
Bảo vệ trước hội đồng gi|m khảo
Study Feasibility
Analyze Customer Requirement
Design Application Coding Unit Test Integrated Test Deployment
Trang 43 Các trang thành viên
Đăng ký, đăng nhập, quên mật khẩu, đổi mặt khẩu, sửa đổi hồ sơ, quản lý h{ng hóa yêu thích, quản lý h{ng hóa đ~ gửi cho bạn
Các trang hàng hóa
H{ng hóa, Loại h{ng, nh{ cung cấp, tìm kiếm, xem chi tiết
Thống kê h{ng hóa b|n chạy, được yêu thích nhất, mới nhất,
được xem nhiều nhất
Tích hợp với eBay: tìm v{ hiển thị h{ng hóa eBay theo từ khóa
Các trang bán hàng
Quản lý giỏ h{ng, thao t|c chọn h{ng, cập nhật thông tin giỏ
h{ng, đặt h{ng, thanh to|n trực tuyến, quản lý đơn h{ng
Trang 44Cấu hình trang chủ, quản lý CSDL, ph}n quyền, b|o c|o thống kê,
xử lý phản hồi, quan hệ kh|ch h{ng, gửi quảng c|o