Client muốn yêu cầu một thứ gì đó thì phải gửi Request tới Server, Server sau khi nhận Request thì sẽ gửi phản hồi Response lại cho Client
- Sử dụng HTTP nên việc truy xuất trở nên dễ dàng hơn so với việc phải cài App vào mới truy xuất được
- Nếu một ứng dụng bị lỗi thì phải cử người tới nơi để bảo trì, Web thì không cần làm như vậy
- Với ứng dụng thông thường thì phải cung cấp bộ cài đặt khác nhau cho mỗi loại hệ điều hành (Mac, Linux, Windows)
- Web thì không cần, chỉ cần có mạng là có thể dùng được
- GET được dùng để lấy thông tin, GET bị giới hạn về kích thước
- POST được dùng để gửi thông tin, không bị giới hạn về kích thước
- Request Param là thông tin mà người dùng nhập vào, thông tin này sẽ được gửi lên server để server xử lý
- Servlet là một công nghệ dùng để lập trình Web để xử lý phía Server Side
- Tham Số : doGet() tham số được gán trong URL, doPost() tham số được gán trong phần thân
- Kích thước dữ liệu : doGet() 240bytes, doPost() không giới hạn kích thước
- Tham số : doGet() không được mã hóa, doPost() được mã hóa
- Use : doGet() được dùng đa phần trong việc truy vấn hoặc lấy dữ liệu từ Server, doPost() được dùng đa phần trong việc update hoặc là post thông tin tới Server
- Tốc độ : doGet() xử lý nhanh hơn doPost()
- Bảo mật : doGet() cần được bảo mật, doPost() không cần bảo mật
- Phải cấu hình rất là nhiều, từ phiên bản 3.0 Servlet hỗ trợ annotation nhưng vẫn còn phải cấu hình
- Mỗi lần thay đổi Source code thì phải restart, recompile lại. Nếu dự án nhỏ thì không sao, nhưng nếu gặp dự án lớn thì rất bất lợi
- Khó khăn trong việc chỉnh sửa code, thay vì viết code HTML bình thường thì Servlet phải wrap HTML code trong PrintWriter
- Khó khăn trong việc chèn CSS code vào. Nếu ta sử dụng Bootstrap thì toang luôn
- Những khó khăn này dẫn đến sự ra đời của JSP

