How does the front-end work? How does the JSP actually handle the chat? Do you use an
Applet in some way? Is your front-end HTML simply making POST requests to the server when someone enters a chat (which, together with the session, identifies the user in some way)? Does your servlet, on receiving some message, broadcast it to all clients (and how does a client display it in a browser)? We need more architectual information.
If you create a Swing application, then it would be "standalone" in the sense that it would be decoupled and assume no web capability in order to communicate with your servlet. You probably wouldn't want to use JSP here, as its a server-side scripting language for user-agents such as a Browser, which will render the HTML (of course, you could use certain Swing compoents such as JTextArea which can render basic HTML).
Your servlet could be re-used, but your requests would need to be converted to HTTP by your Swing application to act as a HTTP client (and your Swing client would need to parse the reply from the servlet so it could update its client chat window).
It really depends on how you have created your client-server application. But the best route, in my opinion, would be to do everything your client does and "emulate" it in a Swing application using an API such the HTTPClient API by Apache - it is quite pleasant to work with. Your servlet will think your Swing Application is just another browser. Even better, your Swing Application user could chat to someone who is using a web browser (which is probably why you want to create it in the first place). The only issue here is what your servlet returns to the client (i.e. a chat message from another user), and how it returns it (e.g. by adding some attribute in a session variable).