SlideShare a Scribd company logo
1 of 40
Download to read offline
Tìm hiểu về Spring
framework
Thành viên:
- Võ Việt Cường
- Nguyễn Hữu Phước
- Trần Trung Nguyên
- Lâm Thanh Duy
- Bùi Nguyên Đức
http://blogcongdong.com
NỘI DUNG BAO GỒM:
Tổng quan về Spring framework
1
Thuận lợi của Spring framework
2
Các module trong Spring framework
3
Inversion of Control (IoC) và Dependency Injection (DI)
4
Spring MVC
5
Demo ví dụ
6
- Spring framework, hay ngắn hơn là Spring,
là một cấu trúc dùng để xây dựng chương
trình ứng dụng mã nguồn mở dành cho ngôn
ngữ lập trình Java.
- Spring là framework phát triển ứng dụng phổ
biến nhất dành cho Java Enterprise. Ban
đầu nó được viết bởi Rod Johnson và lần
đầu tiên được phát hành theo giấy phép
Apache 2.0 vào tháng 6 năm 2003.
a) Spring là gì?
- Spring có kích thước nhẹ và trong suốt. (kích
thước nhẹ: kích thước nhỏ, phiên bản cơ bản
của Spring framework có kích thước khoảng
2MB ; trong suốt: hoạt động ngầm trong suốt
quá trình làm việc với lập trình viên)
a) Spring là gì?
- Những tính năng core (cốt lõi) của Spring có
thể được sử dụng để phát triển Java
Desktop, ứng dụng mobile, Java Web.
- Bên cạnh đó, phần mở rộng được sử dụng
để xây dựng các ứng dụng web trên nền
tảng Java EE.
- Mục tiêu chính của Spring là giúp phát triển
các ứng dụng J2EE một cách dễ dàng hơn
dựa trên mô hình sử dụng POJO (Plain Old
Java Object)
a) Spring là gì?
b) Lịch sử phát triển
Spring framework cung cấp các mẫu cho các
công nghệ JDBC, Hibernate, JPA, v.v. Vì
vậy, không cần phải viết quá nhiều mã. Nó
ẩn các bước cơ bản của các công nghệ này.
a) Predefined Templates
Làm giảm đi sự phụ thuộc giữa các
components khác nhau của ứng dụng.
Spring IoC container làm nhiệm vụ khởi tạo
resources hoặc khởi tạo beans, sau đó “tiêm
– inject” chúng theo sự phụ thuộc khác nhau.
b) Loose Coupling
Dependency Injection (DI) giúp kiểm tra ứng
dụng dễ dàng hơn. Ứng dụng EJB hoặc
Struts yêu cầu máy chủ chạy ứng dụng
nhưng Spring framework không yêu cầu máy
chủ.
c) Easy to test
Spring framework rất nhẹ vì sự triển khai
POJO “plain old Java object" của nó. Spring
Framework không buộc lập trình viên kế
thừa bất kỳ lớp nào hoặc thực hiện bất kỳ
giao diện nào. Đó là lý do tại sao nó được
nói là không xâm lấn.
d) Lightweigh
tính năng Dependency Injection (DI) của
Spring Framework hỗ trợ các khung khác
nhau giúp cho việc phát triển ứng dụng
JavaEE dễ dàng.
e) Fast Development
Nó cung cấp sự trừu tượng hóa mạnh mẽ cho
các thông số kỹ thuật của JavaEE như JMS,
JDBC, JPA và JTA.
f) Powerful abstraction
Dependency Injection (DI)
Inversion of Control (IoC)
Dependency Injection (DI)
- Khi nói tới DI, tức là nói tới Depedency Injection.
Hiện nay, một số DI container như Unity,
StructureMap v…v, hỗ trợ chúng ta trong việc cài
đặt và áp dụng Dependency Injection vào code,
tuy nhiên vẫn có thể gọi chúng là IoC Container,
ý nghĩa tương tự nhau.
Dependency Injection (DI)
Có thể hiểu Dependency Injection một cách đơn
giản như sau:
- Các class không giao tiếp trực tiếp với nhau, mà
thông qua interface. Class con sẽ implement
interface, class cha sẽ gọi class con thông qua
interface.
- Việc khởi tạo các class con sẽ do DI Container thực
hiện.
- Việc class nào gắn với interface nào sẽ được config
trong code hoặc trong file XML.
- DI được dùng để làm giảm sự phụ thuộc giữa các
class, dễ dàng hơn trong việc thay đổi class, bảo trì
code và testing
- Inversion of Control có thể được hiểu là một
nguyên lý thiết kế trong công nghệ phần mềm.
- Kiến trúc phần mềm được được áp dụng thiết
kế này sẽ đảo ngược quyền điều khiển so với
kiểu lập trình hướng thủ tục.
- Trong lập trình hướng thủ tục, các đoạn mã
được thêm vào sẽ gọi các thư viện nhưng với
IoC thì những IoC container sẽ sẽ chích những
dependencies vào khi nó khởi tạo bean
Inversion of Control (IoC)
- Core package là phần cơ bản nhất của Spring,
cung cấp những đặc tính như IoC (Inversion of
Control) và DI (Dependency Injection).
- Khái niệm cơ bản là BeanFactory, một cài đặt
của Factory pattern, cho phép “móc nối” sự phụ
thuộc giữa các đối tượng trong file cấu hình.
a) Spring Core
- Spring context là một file cấu hình để cung cấp
thông tin ngữ cảnh của Spring.
- Spring context cung cấp các service như JNDI
access, EJB integration, e-mail, internalization,
validation, và scheduling functionality.
b) Spring Context
- Spring AOP module tích hợp chức năng lập
trình hướng khía cạnh vào Spring framework
thông qua cấu hình của nó.
- Nó cung cấp các dịch vụ quản lý giao dịch cho
các đối tượng trong bất kỳ ứng dụng nào sử
dụng Spring.
c) Spring AOP (Aspect – Oriented Programming)
- Tầng JDBC và DAO đưa ra một cây phân cấp
exception để quản lý kết nối đến database,
điều khiển exception và thông báo lỗi được
ném bởi vendor của database.
- Tầng exception đơn giản điều khiển lỗi và
giảm khối lượng code mà chúng ta cần viết như
mở và đóng kết nối.
d) Spring DAO (Data Access Object)
Spring có thể tích hợp với một vài ORM framework
để cung cấp Object Relation tool bao gồm: JDO,
Hibernate, OJB và iBatis SQL Maps.
e) Spring ORM (Object Relational Mapping)
- Nằm trên application context module, cung cấp
context cho các ứng dụng web.
- Web module cũng làm giảm bớt các công việc
điều khiển nhiều request và gắn các tham số
của request vào các đối tượng domain.
f) Spring Web
- MVC Framework cài đặt đầy đủ đặc tính của
MVC pattern để xây dựng các ứng dụng Web.
- MVC framework thì cấu hình thông qua giao
diện và chứa được một số kỹ thuật view bao
gồm: JSP, Velocity, Tiles và generation of PDF
và Excel file.
g) Spring MVC
- Spring MVC là một module con trong Spring
framework, cung cấp kiến trúc Model-View-
Controller và các components sẵn có để sử
dụng và phát triển ứng dụng web một cách linh
hoạt.
- Mô hình MVC là kết quả của việc tách các
khía cạnh khác nhau của ứng dụng (logic đầu
vào, các xử lý logic, UI) trong khi đó cung cấp
một sự kết hợp giữa các thành phần đó một
cách “lỏng lẻo”.
a) Tổng quan về Spring MVC
- Model: đóng gói dữ liệu ứng dụng và bao gồm
các POJO.
- View: Chịu trách nhiệm nhận giá trị của
model và vẽ ra trang HTML mà trình duyệt có
thể hiển thị được.
- Controller: Chịu trách nhiệm nhận và xử lý
các yêu cầu từ người dùng và tạo các model
phù hợp và trả về cho view.
a) Tổng quan về Spring MVC
- DispathcherServlet là thành phần tiếp nhận tất
cả các request từ browser, điều khiển luồng xử lý
và trung chuyển giữa các thành phần
(components) trong MVC.
b) DispathcherServlet
- DispatcherServlet thực sự là một Servlet (nó
thừa kế từ lớp cơ sở HttpServlet), và được khai
báo trong tập tin web.xml của ứng dụng web.
Các requests muốn DispatcherServlet xử lý sẽ
phải được ánh xạ bằng cách sử dụng một bộ
ánh xạ URL trong cùng một tập tin web.xml.
Dưới đây là ví dụ về khai báo và định nghĩa
DispatcherServlet.
b) DispathcherServlet
a) Tổng quan về Spring MVC
b) DispathcherServlet
c) Handler Mapping
- Sử dụng Handler Mapping để có thể ánh xạ
từng requests đến các handler thích hợp. Các
chức năng cơ bản của một HandlerMapping là
đưa ra một Handler Execution Chain (chuỗi
hành động), và có thể chứa một số bộ chặn.
- Khi requests đến, các DispatcherServlet sẽ
trao cho các HandlerMapping để nó kiểm tra
và xuất ra HandlerExecutionChain thích hợp.
Sau đó, các DispatcherServlet sẽ gọi handler
và bộ chặn trong hệ thống (nếu có).
d) Controllers
e) View Resolver
-Views trong Spring được gán “view name”
và được phân giải bởi ViewResolver.
e) View Resolver
Sau đây là các ViewResolver trong Spring:
BeanNameViewResolver
FreeMarkerViewResolver
InternalResourceViewResolver
JasperReportsViewResolver
ResourceBundleViewResolver
UrlBasedViewResolver
VelocityLayoutViewResolver
VelocityViewResolver
XmlViewResolver
XsltViewResolver
e) View Resolver
Ở đây xin trình bày Internal Resource View Resolver vì nó
thường được sử dụng nhiều nhất. View Resolver này sẽ ánh
xạ Logical name của Resource
Chúng ta có controllers như sau
e) View Resolver
Chúng ta có controllers như sau
e) View Resolver
Chúng ta cần phải khai báo một Internal Resource View
Resolver trong file web.xml như sau:
Khi đó nếu như request mapping có value = “/hello”, thì view
“hello.jsp” trong thư mục /WEB-INF/views sẽ được hiển thị.
“XIN CHÂN THÀNH CẢM ƠN”
http://blogcongdong.com

More Related Content

Similar to 429157477-Slide-Bao-Cao.pdf

Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupBáo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupTinh Ngo
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Ham Chơi
 
Core java 2
Core java 2Core java 2
Core java 2. .
 
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)Anh Quoc
 
lap-trinh-mang-voi-ngon-ngu-java
lap-trinh-mang-voi-ngon-ngu-javalap-trinh-mang-voi-ngon-ngu-java
lap-trinh-mang-voi-ngon-ngu-javaTruong NGUYEN
 
Mô hình MVC trong lập trình web với Java
Mô hình MVC trong lập trình web với JavaMô hình MVC trong lập trình web với Java
Mô hình MVC trong lập trình web với JavaHuy Vũ
 
Thương mại điện tử
Thương  mại điện tửThương  mại điện tử
Thương mại điện tửgacon2009
 
Web Architecture
Web ArchitectureWeb Architecture
Web ArchitectureHiep Luong
 
Pham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkPham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkVu Hung Nguyen
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverViewNăm Tàn
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 

Similar to 429157477-Slide-Bao-Cao.pdf (20)

Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroupBáo cáo thực tập chuyên nghành lập trình Android GPSGroup
Báo cáo thực tập chuyên nghành lập trình Android GPSGroup
 
Mvc 3
Mvc 3Mvc 3
Mvc 3
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567
 
Chapter9
Chapter9Chapter9
Chapter9
 
Chapter9
Chapter9Chapter9
Chapter9
 
Mô Hình MVC 3.0
Mô Hình MVC 3.0Mô Hình MVC 3.0
Mô Hình MVC 3.0
 
Java fx
Java fxJava fx
Java fx
 
Asp.net 3.5 _1
Asp.net 3.5 _1Asp.net 3.5 _1
Asp.net 3.5 _1
 
Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
04 de cuong
04 de cuong04 de cuong
04 de cuong
 
Core java 2
Core java 2Core java 2
Core java 2
 
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)
878 lap-trinh-mang-voi-ngon-ngu-java-140320051255-phpapp01(1)
 
lap-trinh-mang-voi-ngon-ngu-java
lap-trinh-mang-voi-ngon-ngu-javalap-trinh-mang-voi-ngon-ngu-java
lap-trinh-mang-voi-ngon-ngu-java
 
Thuyet trinh java fx
Thuyet trinh java fxThuyet trinh java fx
Thuyet trinh java fx
 
Mô hình MVC trong lập trình web với Java
Mô hình MVC trong lập trình web với JavaMô hình MVC trong lập trình web với Java
Mô hình MVC trong lập trình web với Java
 
Thương mại điện tử
Thương  mại điện tửThương  mại điện tử
Thương mại điện tử
 
Web Architecture
Web ArchitectureWeb Architecture
Web Architecture
 
Pham Anh Tu - TK Framework
Pham Anh Tu - TK FrameworkPham Anh Tu - TK Framework
Pham Anh Tu - TK Framework
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverView
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 

429157477-Slide-Bao-Cao.pdf

  • 1. Tìm hiểu về Spring framework Thành viên: - Võ Việt Cường - Nguyễn Hữu Phước - Trần Trung Nguyên - Lâm Thanh Duy - Bùi Nguyên Đức
  • 2. http://blogcongdong.com NỘI DUNG BAO GỒM: Tổng quan về Spring framework 1 Thuận lợi của Spring framework 2 Các module trong Spring framework 3 Inversion of Control (IoC) và Dependency Injection (DI) 4 Spring MVC 5 Demo ví dụ 6
  • 3. - Spring framework, hay ngắn hơn là Spring, là một cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngôn ngữ lập trình Java. - Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java Enterprise. Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003. a) Spring là gì?
  • 4. - Spring có kích thước nhẹ và trong suốt. (kích thước nhẹ: kích thước nhỏ, phiên bản cơ bản của Spring framework có kích thước khoảng 2MB ; trong suốt: hoạt động ngầm trong suốt quá trình làm việc với lập trình viên) a) Spring là gì?
  • 5. - Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web. - Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE. - Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object) a) Spring là gì?
  • 6. b) Lịch sử phát triển
  • 7.
  • 8. Spring framework cung cấp các mẫu cho các công nghệ JDBC, Hibernate, JPA, v.v. Vì vậy, không cần phải viết quá nhiều mã. Nó ẩn các bước cơ bản của các công nghệ này. a) Predefined Templates
  • 9. Làm giảm đi sự phụ thuộc giữa các components khác nhau của ứng dụng. Spring IoC container làm nhiệm vụ khởi tạo resources hoặc khởi tạo beans, sau đó “tiêm – inject” chúng theo sự phụ thuộc khác nhau. b) Loose Coupling
  • 10. Dependency Injection (DI) giúp kiểm tra ứng dụng dễ dàng hơn. Ứng dụng EJB hoặc Struts yêu cầu máy chủ chạy ứng dụng nhưng Spring framework không yêu cầu máy chủ. c) Easy to test
  • 11. Spring framework rất nhẹ vì sự triển khai POJO “plain old Java object" của nó. Spring Framework không buộc lập trình viên kế thừa bất kỳ lớp nào hoặc thực hiện bất kỳ giao diện nào. Đó là lý do tại sao nó được nói là không xâm lấn. d) Lightweigh
  • 12. tính năng Dependency Injection (DI) của Spring Framework hỗ trợ các khung khác nhau giúp cho việc phát triển ứng dụng JavaEE dễ dàng. e) Fast Development
  • 13. Nó cung cấp sự trừu tượng hóa mạnh mẽ cho các thông số kỹ thuật của JavaEE như JMS, JDBC, JPA và JTA. f) Powerful abstraction
  • 15. Dependency Injection (DI) - Khi nói tới DI, tức là nói tới Depedency Injection. Hiện nay, một số DI container như Unity, StructureMap v…v, hỗ trợ chúng ta trong việc cài đặt và áp dụng Dependency Injection vào code, tuy nhiên vẫn có thể gọi chúng là IoC Container, ý nghĩa tương tự nhau.
  • 16. Dependency Injection (DI) Có thể hiểu Dependency Injection một cách đơn giản như sau: - Các class không giao tiếp trực tiếp với nhau, mà thông qua interface. Class con sẽ implement interface, class cha sẽ gọi class con thông qua interface. - Việc khởi tạo các class con sẽ do DI Container thực hiện. - Việc class nào gắn với interface nào sẽ được config trong code hoặc trong file XML. - DI được dùng để làm giảm sự phụ thuộc giữa các class, dễ dàng hơn trong việc thay đổi class, bảo trì code và testing
  • 17. - Inversion of Control có thể được hiểu là một nguyên lý thiết kế trong công nghệ phần mềm. - Kiến trúc phần mềm được được áp dụng thiết kế này sẽ đảo ngược quyền điều khiển so với kiểu lập trình hướng thủ tục. - Trong lập trình hướng thủ tục, các đoạn mã được thêm vào sẽ gọi các thư viện nhưng với IoC thì những IoC container sẽ sẽ chích những dependencies vào khi nó khởi tạo bean Inversion of Control (IoC)
  • 18.
  • 19. - Core package là phần cơ bản nhất của Spring, cung cấp những đặc tính như IoC (Inversion of Control) và DI (Dependency Injection). - Khái niệm cơ bản là BeanFactory, một cài đặt của Factory pattern, cho phép “móc nối” sự phụ thuộc giữa các đối tượng trong file cấu hình. a) Spring Core
  • 20. - Spring context là một file cấu hình để cung cấp thông tin ngữ cảnh của Spring. - Spring context cung cấp các service như JNDI access, EJB integration, e-mail, internalization, validation, và scheduling functionality. b) Spring Context
  • 21. - Spring AOP module tích hợp chức năng lập trình hướng khía cạnh vào Spring framework thông qua cấu hình của nó. - Nó cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong bất kỳ ứng dụng nào sử dụng Spring. c) Spring AOP (Aspect – Oriented Programming)
  • 22. - Tầng JDBC và DAO đưa ra một cây phân cấp exception để quản lý kết nối đến database, điều khiển exception và thông báo lỗi được ném bởi vendor của database. - Tầng exception đơn giản điều khiển lỗi và giảm khối lượng code mà chúng ta cần viết như mở và đóng kết nối. d) Spring DAO (Data Access Object)
  • 23. Spring có thể tích hợp với một vài ORM framework để cung cấp Object Relation tool bao gồm: JDO, Hibernate, OJB và iBatis SQL Maps. e) Spring ORM (Object Relational Mapping)
  • 24. - Nằm trên application context module, cung cấp context cho các ứng dụng web. - Web module cũng làm giảm bớt các công việc điều khiển nhiều request và gắn các tham số của request vào các đối tượng domain. f) Spring Web
  • 25. - MVC Framework cài đặt đầy đủ đặc tính của MVC pattern để xây dựng các ứng dụng Web. - MVC framework thì cấu hình thông qua giao diện và chứa được một số kỹ thuật view bao gồm: JSP, Velocity, Tiles và generation of PDF và Excel file. g) Spring MVC
  • 26. - Spring MVC là một module con trong Spring framework, cung cấp kiến trúc Model-View- Controller và các components sẵn có để sử dụng và phát triển ứng dụng web một cách linh hoạt. - Mô hình MVC là kết quả của việc tách các khía cạnh khác nhau của ứng dụng (logic đầu vào, các xử lý logic, UI) trong khi đó cung cấp một sự kết hợp giữa các thành phần đó một cách “lỏng lẻo”. a) Tổng quan về Spring MVC
  • 27. - Model: đóng gói dữ liệu ứng dụng và bao gồm các POJO. - View: Chịu trách nhiệm nhận giá trị của model và vẽ ra trang HTML mà trình duyệt có thể hiển thị được. - Controller: Chịu trách nhiệm nhận và xử lý các yêu cầu từ người dùng và tạo các model phù hợp và trả về cho view. a) Tổng quan về Spring MVC
  • 28. - DispathcherServlet là thành phần tiếp nhận tất cả các request từ browser, điều khiển luồng xử lý và trung chuyển giữa các thành phần (components) trong MVC. b) DispathcherServlet
  • 29. - DispatcherServlet thực sự là một Servlet (nó thừa kế từ lớp cơ sở HttpServlet), và được khai báo trong tập tin web.xml của ứng dụng web. Các requests muốn DispatcherServlet xử lý sẽ phải được ánh xạ bằng cách sử dụng một bộ ánh xạ URL trong cùng một tập tin web.xml. Dưới đây là ví dụ về khai báo và định nghĩa DispatcherServlet. b) DispathcherServlet
  • 30. a) Tổng quan về Spring MVC
  • 32. c) Handler Mapping - Sử dụng Handler Mapping để có thể ánh xạ từng requests đến các handler thích hợp. Các chức năng cơ bản của một HandlerMapping là đưa ra một Handler Execution Chain (chuỗi hành động), và có thể chứa một số bộ chặn. - Khi requests đến, các DispatcherServlet sẽ trao cho các HandlerMapping để nó kiểm tra và xuất ra HandlerExecutionChain thích hợp. Sau đó, các DispatcherServlet sẽ gọi handler và bộ chặn trong hệ thống (nếu có).
  • 34. e) View Resolver -Views trong Spring được gán “view name” và được phân giải bởi ViewResolver.
  • 35. e) View Resolver Sau đây là các ViewResolver trong Spring: BeanNameViewResolver FreeMarkerViewResolver InternalResourceViewResolver JasperReportsViewResolver ResourceBundleViewResolver UrlBasedViewResolver VelocityLayoutViewResolver VelocityViewResolver XmlViewResolver XsltViewResolver
  • 36. e) View Resolver Ở đây xin trình bày Internal Resource View Resolver vì nó thường được sử dụng nhiều nhất. View Resolver này sẽ ánh xạ Logical name của Resource Chúng ta có controllers như sau
  • 37. e) View Resolver Chúng ta có controllers như sau
  • 38. e) View Resolver Chúng ta cần phải khai báo một Internal Resource View Resolver trong file web.xml như sau: Khi đó nếu như request mapping có value = “/hello”, thì view “hello.jsp” trong thư mục /WEB-INF/views sẽ được hiển thị.
  • 39.
  • 40. “XIN CHÂN THÀNH CẢM ƠN” http://blogcongdong.com