@Khánh Hoàng Kayiyan

Từ routing call, web.xml, url-pattern là /api/jsonws/*, servlet-name tương ứng như sau.

image.png

Đi vào class liên quan và vào hàm service

image.png

Lấy path, là phần sau của /api/jsonws/, vì không yêu cầu /api/jsonws, nhảy đến nhánh cuối của else, theo sau đó vào super.service, vào class JSONServlet.service, sau đó vào _jsonAction .execute.

image.png

image.png

Gọi getJson, 1 subclass của JSONWebServiceServiceAction.getJson.

image.png

Vào getJSONWebServiceAction

image.png

Ở đây khớp với invoke, là phương thức gọi đầu tiên trong hình trước, trả về một đối tượng được khởi tạo JSONWebServiceInvokerAction, truyền vào đối tượng yêu cầu và tiếp tục theo dõi.

-> Check match với invoke request -> sau đó trả về 1 object JSONWebServiceInvokerAction

image.png

Lấy cmd param , api

image.png

Not null, do đó _command được gán cho đối tượng JSONWebServiceInvokerAction sẽ trả về getJSON và gọi JSONWebServiceInvokerAction.invoke