I have an application that is data intensive where it is using a MySQL database. The front end application that the user will interact with is a java swing client. I also have an application server that it will interact with and the app server will connect to the database server. I am using Tomcat as the app server and I created a servlet that the client will call. My question is does this need to implement any sort of multi-threading? I have Tomcat configured for connection pooling. There can be anywhere from 1 to roughly 200 users at one time. Any help or ideas would be great.
Don't misunderstand things - Tomcat is not an application server, it is merely a (very good) servlet container. It provides only a very minor subset of the JEE specification.
Implement multi-threading where? Surely you know that a web server is perfectly capable of handling multiple parallel requests. How many will greatly depend on what kind of requests the clients will be doing; 200 clients concurrently requesting a small piece of data is no big deal, 200 concurrent requests which cause a query that will fetch half the database is not going to work so well.