WEB

Website

Tập hơp các trang web chưa văn bản, âm thanh. hình ảnh ...

Mỗi trang web có thể lưu trữ ở máy chủ, hoặc tại máy tính cá nhân

Static website

Là loại website mà phần nội dung không thay đổi theo thời gian. Thường được viết bằng mã HTML, CSS, JS

Dynamic website

Là website mà phần nội dung thay đổi theo thời gian, ngữ cảnh hoặc tương tác với người dùng. Thường được viết bằng ngôn ngữ back end như JAVA, PHP ...

Thường được lưu trữ trên máy chủ Web( web sever)

HTTP/HTTPS

HTTP( Hypertext tranfer protocol) giao thức truyền tải siêu văn bản dduojc sử dụng ở trong www. Dùng để truyền tải dữ liệu giữa websever và web brower

HTTPS (secure) giao thức HTTP có thêm chứng chỉ SSL để mã hóa dữ liệu trong lúc truyền tải dữ liệu giữa web server và web brower

Mô hình client- server

Là mô hình thông dụng trong mạng máy tính, chia làm 2 thành phần là máy chủ server và máy tính client

Ý tưởng: Client gửi request đến server --> server xử lý yêu cầu của client rồi trả về kết quả (response)cho client

Java servlet

Là công ngjee được sử dụng để tạo ra ứng dụng Web( được triển khai ở phía server để tạo ra web động)

JSP/ JSTL

JSP(Java Server Pages)

Là ngôn ngữ kịch bản phía server, cho phép người dùng tạo ra các trang web động

So Sánh Servlet

Giống: Đều là ngôn ngữ phía server, xử lý dữ liệu động. Bản chất JSP cũng chính là servlet. Vòng đời JSP giống như servlet

Khác:

  • Servlet mạnh xử lý logic điều phối, yếu về giao diện
  • JSP mạng về xử lý giao diện, yếu về điều phối
    +Ở servlet thì mã HTML nằm trong mã Java,Còn JSP thì mã Java nằm trong mã HTML

JSTL(JSP standard tag library)

Bộ thự viện thẻ chuẩn được bổ sung để hỗ trợ lập trình trong JSP

Core

Format

SQL

XML

Function

MVC (Model - view - controller)

Tầng Model: Biểu diễn dữ liệu, xử lý logic nghiệp vụ, xử lý kết nối DB

Tầng View: hiển thị dữ liệu và giao diện tương tác với người dùng

Tầng Controller: xử lí đón nhận request từ người dùng, kết nối model và view

Lợi ích:

  • Dễ tái sử dụng
  • Dễ mở rộng
  • Dễ bảo trì
  • Tách phần view và phần nghiệp vụ riêng biệt
  • Cho phép LTV làm việc trên các thành phần khách nhau trong cùng 1 thời điểm

JDBC (Java Database Connectivity)

Là 1 API cho phép kết nối các chương trinh viết bằng JAVA với các hệ quản trì CSDL

Gồm các thành phần

Driver: dùng để liên kết đến CSDL

Driver manager: quản lý danh sách Driver

Connection: Đối tượng biểu thị cho việc kết nối với CSDL

Statement: chứa các câu lệnh SQL gửi đến CSDL thực thi

Result set: chứa tập KQ trả về từ CSDL

SQL Exception: Class xử lý ngoại lệ liên quan đến try cập CSDL

Trình tự làm việc

Tạo 1 connection với các thông tin: Hostname,port, tên DB, username, password

Sử dụng các loại statement để tạo câu lệnh query

Sử dụng Result set để xử lí KQ trả về từ DB

Đóng Connection

Packing và Dependences Management

Statment

Cả 3 đều là Interface

Statment:
Tạo truy vấn SQL tĩnh
Hiệu suất thấp
Không bảo mật

PrepareStatement:
Truy vấn Sql động
Hiệu suất cao
Bảo mật hơn

Callable statement
Gọi SP
Hiệu suất cao

Transaction

Là 1 tiền trình xử lý điểm bắt đầu và kết thúc, gồm nhiều phép thực thi nhỏ trong đó mỗi phép sẽ thực hiện tuần tự và độc lập theo nguyên tắc tất cả thành công thì trancastion thành công, 1 phép fail --> transaction fail

Các thuộc tính ACID

Atomicity

Tính nguyên tử: Tất cả thành công hoặc không

Consistency

Nhất quán: Đảm bảo tính đồng nhất dữ liệu

Isolation

Độc lập: Đảm bảo transaction này độc lập với transaction khác

Durability

Bền vững: đã thực hiện thành công thì kết quả sẽ đảm bảo tốn tại dù có xảy ra lỗi

Đóng gói phần mềm

SP phần mềm khi mà chuyển giao cho người dùng thì bắt buộc phải được đóng gói dể đảm bảo sản phẩm luôn ở trạng thái sẵn sàng hoạt động

Các hình thức đóng gói

Stand alone: chỉ có mã nguồn, không có môi trường thực thi

Self- contained: Mã nguồn + JRE, với khả năng tự khởi động ứng dụng

Sản phẩm sau đóng gói

JAR file

WAR file

Dependences Management tool

Phần mèm giúp quản lý tích họp những thư viện module phụ thuộc vào chương trình/ dự án đang phát triển

Apache ant: ra đời 2000

Maven: 2004 : cho phép tải về các dependence thông qua Internet
Nhược điểm: Quản lý thông qua cú pháp XML, tuân thủ theo tiêu chuẩn Maven Standard Layout --> triển khai file POM dài dòng phưc tạp

Gradle 2012: Build script ngẵn gọn trực quan