01/10/2018, 15:35

Tạo một hoặc nhiều servlet trong một web app?

như tiêu đề các bác cho em hỏi, mình nên tạo 1 servlet đóng vai trò điều phối hay là mỗi controller 1 servlet riêng?

Aragami1408 viết 17:37 ngày 01/10/2018

mỗi controller 1 servlet riêng thì tốt hơn. Bạn có thể nghiên cứu về mô hình 3 lớp MVC

manh nguyen viết 17:44 ngày 01/10/2018

nhưng theo em thì 1 servlet đóng vai trò như comander thì dể quản lý hơn chứ ?

Tống Anh Thư viết 17:36 ngày 01/10/2018

Cách nào cũng được.
JavaEE tiếp cận theo 1-1
Spring thì 1 servlet (FrontController) cho tất cả Controller

manh nguyen viết 17:37 ngày 01/10/2018

project của trường yêu cầu ko đc làm bằng framework, em đang tính làm 1 servlet thôi nên ko biết có hợp lý ko nên đang hơi phân vân.

Tống Anh Thư viết 17:37 ngày 01/10/2018

Serlvet cũng không phải là JavaCore, Server hiện thực Servlet nó ẩn luôn hàm main(), nên sử dụng Servlet cũng đã là dùng Framework.

manh nguyen viết 17:39 ngày 01/10/2018

không ý em là làm web theo mô hình mvc thuần ko đc dùng framework như Sping MVC ấy

Tống Anh Thư viết 17:43 ngày 01/10/2018

MVC trên JavaEE cũng được :D.

Servlet là Controller
JSP là View
Partial View dùng JSTL Tag
Entity cho Model

Nếu em trả về JSON hoặc XML thì chắc dùng PrintWriter thủ công.

Có điều học cũng nhiều đó.

JavaEE thiết kế theo 3-layer architecture. Dùng MVC hơi phí.


Không sử dụng Framework thì em phải dùng package net, viết 1 class utils trên TCP socket của TransportLayer, mô phỏng HTTP request response ở tầng ApplicationLayer. Sau đó định nghĩa Base Class cho Controller, Model, ViewResolver,…

manh nguyen viết 17:45 ngày 01/10/2018

về MVC thì em định làm servlet là controller jsp là view còn model thì là DAO, nhưng em hơi phân vân chổ controller nên làm 1 hay nhiều thôi. chắc em làm 1 servlet cho tất cả controllers.

manh nguyen viết 17:48 ngày 01/10/2018

mà cho em hỏi thêm là nếu ko dùng framework thì xử lý yêu cầu kiểu gì đc ạ. như PHP thì thường có 1 class Route để xử lý URL rồi gọi controller thế java làm kiểu gì đc ạ?

Tống Anh Thư viết 17:44 ngày 01/10/2018

Routing của Servlet không đủ linh hoạt cho web của em thì em có thể triển khai theo 1 servlet N Controller.
Em tự viết logic routing trong Servlet, hoặc tạo class Route riêng rồi Servlet giữ 1 instance variable kiểu Route.

Còn không thì em nên dùng Route mặc định của JavaEE cho đơn giản.

manh nguyen viết 17:43 ngày 01/10/2018

vâng. em cảm ơn. để em thử viết class route riêng.

Bài liên quan
0