I always like pictures. See if this looks like what Ernest said:
The browser uses standard HTTP and gets back HTML. I usually like a servlet that receives the request, delegates to a plain
Java object that interacts with the services, and then forwards to a JSP that builds the HTML response.
The Swing client does all its own presentation so it doesn't need HTML. It uses HTTP GET and POST again to communicate with a servlet. This servlet delegates to a plain Java object that interacts with the services, but then returns XML.
The biggest difference might be the "thing" that converts service output to HTML in one case and XML in the other. Another difference is that the second servlet can be a lot simpler.
This is such a common scenario that there are many tools to help you expose services as web services and consume them from the client end. On the other hand, it's really very easy to build your own and probably worth the education you'd get the first time around.
Having fun yet?