Giáo trình Lập trình Java - Bài 1: Giới thiệu Spring MVC
Giới thiệu Spring Framework
Xử lý request trong Spring MVC
Thiết lập hệ thống phát triển ứng dụng web
Tích hợp tomcat vào eclipse IDE
Tạo dự án web
Dự án Spring MVC
Cấu hình ứng dụng
Tạo Controller
Tạo JSP
Làm việc với các đối tượng web
Truyền dữ liệu từ Controller sang View
49 trang |
Chia sẻ: huongthu9 | Lượt xem: 811 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình Lập trình Java - Bài 1: Giới thiệu Spring MVC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LẬP TRÌNH JAVA 5
BÀI 1: GIỚI THIỆU SPRING MVC
MỤC TIÊU
Hiểu Spring Framework
Nắm mô hình hoạt động Spring MVC
Thiết lập môi trường
Tạo dự án Spring MVC
Tạo Controller
Tạo View
Cấu hình ứng dụng
Làm việc với các đối tượng web
Truyền dữ liệu từ Controller sang View
GIỚI THIỆU SPRING FRAMEWORK
Spring framework là nền tảng mã nguồn mở. Nó
cung cấp cơ sở hạ tầng toàn diện để phát triển
ứng dụng Java một cách mạnh mẽ, rất dễ dàng
và nhanh chóng.
Spring framework được tạo bởi Rod Johnson và
được giới thiệu vào tháng 6 năm 2003.
Spring là framework phát triển ứng dụng Java
phổ biến nhất đối với doanh nghiệp.
Spring Framework được hàng triệu nhà phát
triển ứng dụng trên toàn thế giới sử dụng để tạo
ra các sản phẩm phần mềm với hiệu suất cao, dễ
dàng kiểm chứng, tái sử dụng mã.
KIẾN TRÚC SPRING FRAMEWORK
THÀNH PHẦN SPRING FRAMEWORK
Spring Core
Cung cấp nền tảng cơ bản của hệ thống ứng dụng Spring
Spring AOP
Cung cấp nền tảng cho lập trình hướng khía cạnh
Spring DAO
Cung cấp dụng vụ đối tượng truy xuất dữ liệu
Spring Context
Cung cấp dịch vụ truy cập từ xa như JNDI, EJB
Spring MVC
Nền tảng ứng dụng web theo mô hình MVC
Spring ORM
Cung cấp dịch vụ ánh xạ đối tượng quan hệ dự liệu
Spring Web
Cung cấp dịch vụ tích hợp các framework web khác
XỬ LÝ REQUEST TRONG SPRING MVC
DIỄN GIẢI QUI TRÌNH XỬ LÝ REQUEST
DispatcherServlet tiếp nhận mọi yêu cầu từ
người dùng và thực hiện điều phối qua 4 bước
sau
1. Chuyển URL cho bộ phận Handler Mapping để lấy
action method muốn gọi
2. Gọi action method trong Controller và nhận kết
quả
3. Chuyển kết quả cho bộ phận ViewResolver để lấy
đường dẫn View
4. Gọi View để kết xuất kết quả cho client
THIẾT LẬP MÔI TRƯỜNG PHÁT TRIỂN
Môi trường cần thiết cho khóa học
JDK 7+ là nền tảng bắt buộc cho việc phát triển và
chạy ứng dụng Java
Eclipse for JavaEE developer là một IDE được sử
dụng phổ biến nhất ở các doanh nghiệp sản xuất
phần mềm để phát triển ứng dụng web với Java
Tomcat 8x là web server được sử dụng để triển khai
ứng dụng web
SQL Server 2008+ là hệ quản trị CSDL quan hệ được
sử dụng để lưu trữ và quản lý dữ liệu
THIẾT LẬP MÔI TRƯỜNG
Download JDK và cài đặt
b15/jdk-8u112-windows-x64.exe
Download SQL Server Express và cài đặt
A-CEF7-4D8E-8C16-
D9F69527F909/ENU/x64/SQLManagementStudio_x64_ENU.
exe
Download Eclipse và giải nén vào thư mục thích hợp
nology/epp/downloads/release/mars/R/eclipse-jee-mars-R-
win32-x86_64.zip&mirror_id=448
Download Tomcat và giải nén vào thư mục thích hợp
8/v8.5.8/bin/apache-tomcat-8.5.8-windows-x64.zip
TÍCH HỢP TOMCAT VÀO ECLIPSE IDE (1)
Chạy eclipse và
tắt cửa sổ chào
TÍCH HỢP TOMCAT VÀO ECLIPSE IDE (2)
Thêm mới web
server vào eclipse
TÍCH HỢP TOMCAT VÀO ECLIPSE IDE (3)
TÍCH HỢP TOMCAT VÀO ECLIPSE IDE (4)
Thay thế port tomcat tránh đụng port khi chạy
Nhấp đúp
TÍCH HỢP TOMCAT VÀO ECLIPSE IDE (5)
Start
Tomcat
TẠO DỰ ÁN WEB (1)
TẠO DỰ ÁN WEB (2)
TỔ CHỨC DỰ ÁN WEB
Các file mã nguồn Java đặt
ở thư mục src
Các file jsp, ảnh, scripts,
styles đặt ở WebContent
Các file thư viện (*.jar) đặt
tại thư mục lib
File web.xml là file cấu
hình ứng dụng web
CHỌN TRÌNH DUYỆT NGOÀI
Mặc định eclipse sử dụng trình duyệt nội bộ (không
đủ mạnh để xử lý css và javascript)
TẠO TRANG JSP
CHẠY TRANG JSP
Có thể chạy jsp bằng cách
nhấp phải chuột lên trang
jsp sau đó chọn
Run as > Run on server
Hiệu chỉnh mã jsp theo
chuẩn HTML5
DEMOTạo dự án web
Tạo trang JSP, chuẩn HTML5
Chạy trang JSP
Chọn trình duyệt ngoài
Chạy JSP
DỰ ÁN SPRING MVC
Để dự án hoạt động theo Spring MVC cần
Các thư viện liên quan (*.jar)
Cấu hình đúng (*.xml)
Viết mã theo đúng qui ước
TỔ CHỨC DỰ ÁN SPRING MVC
View
Thư viện
Cấu hình Spring MVC
Cấu hình web
Controller
THƯ VIỆN SPRING MVC
Thư viện cần thiết cho ứng
dụng web nói chung và
Spring MVC nói riêng phải
được đặt trong thư mục
/WEB-INF/lib
CẤU HÌNH DỰ ÁN SPRING MVC
web.xml là file cấu hình ứng dụng web
Khai báo DispatcherServlet
Tiếp nhận và điều phối yêu cầu từ người dùng
Khai báo CharacterEncodingFilter
Xử lý chế độ mã hóa ký tự
Khai báo spring-config-mvc.xml
Cấu hình Spring MVC
spring-config-mvc.xml là file cấu hình Spring
MVC
Cấu hình ứng dụng Spring MVC
Khai báo Controller
Khai báo ViewResolver
web.xml
spring-config-mvc.xml
Controllers Views
CẤU HÌNH ỨNG DỤNG WEB
Khai báo
DispatcherServlet
Khai báo
CharacterEncodingFilter
KHAI BÁO DISPATCHERSERVLET
Sử dụng dấu * để chỉ ra rằng tất cả
các file xml đặt vào thư mục /WEB-
INF/configs đều được xem như là
file cấu hình Spring và được nạp
vào ứng dụng
Tất cả các URL kết thúc bởi .htm đều được
DispatcherServlet tiếp nhận và xử lý
KHAI BÁO CHARACTERENCODINGFILTER
CharacterEncodingFilter cho phép ứng dụng
web làm việc với utf-8 (tiếng Việt)
CẤU TRÚC FILE CẤU HÌNH SPRING
Các namespace và
schema qui định cú pháp
thẻ trong file cấu hình
SPRING-CONFIG-MVC.XML
Cho phép sử dụng Annotation
trong ứng dụng Spring
View = prefix + viewname + suffix
Chỉ rõ gói chứa các
Controller. Sử dụng dấu
phẩy để phân cách các gói
HELLOCONTROLLER
Tên giao dịch
Tên view
Chú thích lớp
Controller
HELLO.JSP
CHẠY
Chạy index.jsp sau đó nhập lại url như sau
Sau đây là kết quả phản hồi
Xem mã
nguồn
QUI TRÌNH XỬ LÝ SAY-HELLO.HTM
say-h
e
llo
.h
tm
say-h
ello
.h
tm
H
ello
C
o
n
tro
ller
sayH
ello
()
H
ello
C
o
n
tro
ller
sayH
ello
()
h
e
llo
h
e
llo
/view
s/h
e
llo
.jsp
/view
s/h
ello
.jsp
h
tm
l
h
tm
l
LƯU Ý VIEWRESOLVER
prefix + view + suffix
/WEB-INF/views/hello.jsp
DEMO
Chạy và giới thiệu dự án Spring MVC
+ Thư viện
+ Cấu hình
+ Controller
+ View
QUI TRÌNH XỬ LÝ SAY-HELLO.HTM
DispatcherServlet sẽ nhận request với URL kết
thúc .htm
1. Chuyển say-hello.htm cho Handler Mapping và sẽ
nhận được sayHello() của HelloController (do
phương thức này được map với tên say-hello)
2. Gọi sayHello() của HelloController và nhận được
“hello” (do phương thức này return “hello”)
3. Chuyển “hello” cho ViewResolver và nhận được
“/WEB-INF/views/hello.jsp” (do ghép nối prefix +
hello + suffix)
4. Gọi hello.jsp và nhận kết quả HTML sau cùng là
phản hội cho người dùng
LẬP TRÌNH JAVA 5
PHẦN 2
ĐỐI TƯỢNG WEB
Trong lập trình Servlet/JSP chúng ta đã được làm
việc với các thành phần web sau
HttpServletRequest
Gói dữ liệu gửi từ client và chia sẽ cho nhiều Servlet/JSP hoạt
động trên một request
HttpServletResponse
Gói dữ liệu chuyển về client
HttpSession
Phạm vi chia sẽ dữ liệu theo từng phiên làm việc khác nhau
ServletContext
Phạm vi chia sẽ dữ liệu trên toàn ứng dụng
LÀM VIỆC VỚI CÁC ĐỐI TƯỢNG WEB TRONG SPRING MVC
Trong Spring MVC bạn có thể truy xuất các đối
tượng web một cách dễ dàng bằng cách định
nghĩa chúng như những đối số của action
method hoặc sử dụng @Autowire.
Khi bạn muốn làm việc với
đối tượng nào bạn chỉ việc
khai báo đối tượng đó như
đối số của action method.
Đối với ServletContext bạn
sử dụng @Autowired để
tham chiếu đến
TÌNH HUỐNG ĐĂNG NHẬP
XÂY DỰNG USERCONTROLLER
Sử dụng request để nhận
tham số và chia sẽ dữ liệu
Nhận tham số
Chia sẽ dữ liệu
View này chứa form
View này hiển thị
thông tin user
XÂY DỰNG CÁC VIEW
Hiển thì dữ liệu
truyền từ action
Hiển thì dữ liệu
truyền từ action
user/login.jsp
user/info.jsp
DEMO
Chạy và giải thích user/form.htm
TRUYỀN DỮ LIỆU TỪ CONTROLLER SANG VIEW
Bạn có thể sử dụng request.setAttribute(name,
value) để truyền dữ liệu cho View
Trong Spring MVC bạn có phương án khác chuẩn
tắc hơn là sử dụng ModelMap làm đối số action
method thay vì sử dụng HttpServletRequest
Trong JSP bạn có thể sử dụng
để truy xuất hoặc có thể sử dụng biểu
thức EL ${name} để truy xuất
TRUYỀN DỮ LIỆU CHO VIEW
DEMO
Hiệu chỉnh action login theo hướng dẫn sau
Thêm đối số ModelMap model
Thay request.setAttribute() bằng model.addAttribute()
TỔNG KẾT NỘI DUNG BÀI HỌC
Giới thiệu Spring Framework
Xử lý request trong Spring MVC
Thiết lập hệ thống phát triển ứng dụng web
Tích hợp tomcat vào eclipse IDE
Tạo dự án web
Dự án Spring MVC
Cấu hình ứng dụng
Tạo Controller
Tạo JSP
Làm việc với các đối tượng web
Truyền dữ liệu từ Controller sang View
Các file đính kèm theo tài liệu này:
- giao_trinh_lap_trinh_java_bai_1_gioi_thieu_spring_mvc.pdf