Parameter injection, return value/exception response rendering, and interceptor annotations help you reduce the HTTP dependency in your model objects. This tends to make code easier and more easily testable.
Normally, a name of a web method determines how the request is routed. For example,
doEatPizza() would be mapped to
.../eatPizza. But you can explicitly specify the URL name by using WebMethod annotation. For example, the following code maps
.../xyz.xml to the same method.