Hi Oliver,
Welcome to JavaRanch and this forum.
One of the major reasons for having the MVC
pattern is to allow each element to have one responsibility for each element. The view is designed to display the information to the end user. The controller is designed to get the commands from the view and forward them to the appropriate module. The model is designed to abstract how you get and set data in the back end system (database).
At the moment you have your controller sending information directly to the Data class and/or server. This means that there is no abstraction layer here - your controller must be aware of how it can connect and what the correct protocol is to send data.
This works at present because you only have one class sending / receiving data - your controller class. But it is not very reusable if you decided to extend your application at all. If, for example, you needed to add an extra view, what then: do you add a new controller for this (in which case you are duplicating your connectivity code), or do you have the one controller for both views (quickly becoming overly large and unwieldly). What if your next view is a
JSP - how do you reuse any of your database connectivity code?
If you create a separate model, most of the problems go away:
Now we have a common way of connecting to the database no matter what type of view and/or controllers we have. And if we want to add new views and controllers, then their logic can be separated from the existing views and controllers.
Regards, Andrew