1. Mô hình web vớ HTML, Servlet và JSP
Html (HyperText Markup Language)
là một ngôn ngữ đơn giản được dùng trong các tài liệu siêu văn
bản (văn bản + thẻ), dựa vào các thẻ này đẻ trình duyệt web
có thể đọc và hiểu thông tin trong tài liệu đó. Html không phải
là một ngôn ngữ lập trình, nó đơn giản chỉ là ngôn ngữ đánh
dấu văn bản, tuy nhiên nó rất quan trọng và gần như không thể
thiếu hiện nay trong các văn bản web.
Servlet
là một công nghệ trong lập trình java, được xây dựng trên tư
tưởng giống CGI (common gateway interface) dùng để biên dịch trên
web server và biên dịch ra những trang web. Servlet là những đoạn
code java bình thường, tương tự như applet tuy nhiên nó khác applet
là không có giao diện (GUI).
JSP (Java Servlet Pages) là một
công nghệ java giúp chúng ta có thể trộn lẫn giữa html code
(static html) và servlet (dynamic html)
2. Web Server TomCat
a. Giới thiệu
Tomcat
(Apache Tomcat) là một phần mềm viết bằng java, cụ thể nó là
một Servlet container dùng để thi hành các ứng dụng java servlet
và jsp. Tomcat không phải là một web server như Apache, nó chỉ
cung cấp máy chủ http/https (điều phối request và response) cho
ngôn ngữ java và nó đơn giản hơn Apache nhiều như hiệu suất, hỗ
trợ các ngôn ngữ khác (php, asp, ..), proxy server, plug-in, …
3. Các khái niệm
DI (dependancy injection) là cách thức giúp các thành phần trong phần mềm giảm bớt sự phụ thuộc vào nhau. Một vài DI framework như:
• Spring Framework: một framework lớn chắc chắn đưa ra một lượng các khả năng khác tách ra từ Dependency injection
• PicoContainer: một DI container framework nhỏ nhưng mạnh mẽ
• HiveMind: một DI container framework khác.
• Xwork: Một framework độc lập thường được sử dụng trong liên kết chung với Webwork
Một
phát biết DI khá hữu hiệu là: “Dependency Injection là nơi các
thành phần phụ thuộc vào nhau thông qua các phương thức khởi tạo, các
phương thức, hay trực tiếp trong các field.”
Những ưu điểm của DI mà ta có thể thấy như tính uyển chuyển, dễ kiểm tra, và dễ bảo trì, ..
AOP (Aspect Oriented Programming)
là kỹ thuật lập trình mới cho phép đóng gói những hành vi có liên quan
đến nhiều lớp, AOP có thể là hướng phát triển mới của lập
trình và của OOP bởi vì OOP chỉ giúp đóng gói các hành vi
liên quan của chủ thể, còn hành vi đan xen nhau của nhiều lớp
thì chưa, do đó nó vẫn làm cho code chương trình nằm lẫn lộn
và rải rác nhiều nơi.
OR (Object-Relational hay Object-Relational maping)
là một phương pháp giúp lập trình tương tác với database (DBMS)
một cách dễ dàng, tự nhiên, và không cần biết đến loại cơ sở
dữ liệu đang sử dụng, SQL, …
JSF (JavaServer Faces)
là một UI framework hỗ trợ chúng ta trong việc xây dựng ứng
dụng web chạy trên server và thay thế UI phía sau cho client. Các
thành phần của JSF bao gồm:
• Một thư viện các thẻ tùy biến JSP giúp hỗ trợ việc định nghĩa các thành phần UI trong một trang JSP
• Bổ sung thêm một tập API giúp tạo và quản lý các thành phần UI như quản lý trạng thái, sự kiện, ..
Hibernate
là một framwork giúp việc giao tiếp với các hệ quản trị cơ
sở dữ liệu đơn giản hơn trong lập trình ứng dụng, nó hoạt
động ở tầng dữ liệu (data layer) trong mô hình 3 lớp (3 layer).
Ta có thể hiểu đơn giản, trong thiết kế 3 lớp (UI layer –
Business layer – Data layer), tầng data layer có thể chia thành 2
phần: phần xử lý các nghiệp vụ tính toán liên quan đến dữ
liệu (business logic layer) và phần chịu trách nhiệm giao tiếp
với các hệ quản trị cơ sở dữ liệu (persistence layer). Và
Hibernate là một framework cho persistence layer.
Các thành phần của Hibernate như:
•
Hibernate Core: Cung cấp các chức năng cơ bản của một persistence layer
cho các ứng dụng Java với các APIs và hỗ trợ XML mapping.
• Hibernate Annotations: Các map class với JDK 5.0 annotations, bao gồm Hibernate Validator.
• Hibernate EntityManager: Sử dụng EJB 3.0 EntityManager API
•
Hibernate Tools: Các tool tích hợp với Eclipse và Ant dùng cho việc
sinh ra các persistence object từ một schema có sẵn trong database
(reverse-engineering) và từ các file hbm sinh ra các class java để hiện
thực các persistence object, rồi Hibernate tự tạo các object trong
database (forward-engineering).
• NHibernate: Hibernate cho .Net framework.
•
JBoss Seam: Một Java EE 5.0 framework cho phát triển các ứng dụng JSF,
Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra
rất mạnh để phát triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả
các công nghệ "hot" nhất hiện nay.
Spring là một framework dùng để quản lý các đối tượng nghiệp vụ và sự phụ thuộc của chúng trong ứng dụng
HttpSession (javax.servlet.http.*)
là một interface dùng để quản lý và định danh những thông tin
của một user (ID, last accessed time, creation time, …) khi họ đang
vào trang web. Một số phương thức của interface này như sau:
• getId (getCreationTime, getLastAccessedTime, getAttrinute) lấy những thông tin trong session như Id, creation time, …
• getServletContext lấy ngữ cảnh chứa session này
• setAttribute gán giá trị vào session
• …
Cookie
là một lớp trong java, chúng implement Cloneable interface, chúng
dùng để lưu giữ một vài thông tin cho lần truy cập sau của user
ví dụ id, username, password, …
RequestDispatcher (javax.servlet.*)
là một interface dùng để định nghĩa một đối tượng mà nó
nhận những yêu cầu (request) từ client và sau đó nó sẽ gửi
những yêu cầu này tới thành phần liên quan trên server như html,
Servlet, JSP. Nó có 2 phương thức là:
• forward chuyển tiếp request từ client (servlet) tới các tài nguyên khác (html, servlet, jsp)
• include đưa nội dung vào response, nội dung có thể nàm trong một html, servlet, jsp trên server
Servlet filter
là một tính năng dùng để chặn và chỉnh sửa các request và
response của server, khi viết một lớp fileter chúng ta nên
implement Filter interface để giúp điều khiển việc log filter
Author: Richdadhai
Người sáng lập javadevchannel.com vui tính, thích lập trình, kết bạn và chia sẽ.
Happy coding! :)
Cảm ơn đã chia sẻ. Thêm một số framework phổ biến cho web development https://taiphanmem247.com/framework-la-gi-58.html
ReplyDeleteEditor code mới cho các bạn
ReplyDeletehttps://taiphanmem247.com/download/visual-studio-code.html