Are you talking about an interface as used in Java (similar to an "abstract class"), or as used to separate display and business logic? If you mean the former, your question is very confusing. Are you talking about the JDBC interfaces used to abstract the implementation details of different databases? Or the facades used in Tomcat to hide the implementation details of handling a request, e.g. the HttpServletRequest interface?
If you mean the latter, the advantage is just what I said: seperation of display and business logic. If your database schema changes, you don't want to be required to change your display logic. Nor do you want to modify your servlets that delete or insert rows -- it would be nice if the APIs they relied on stayed exactly the same. Basically, best practice is to seperate the View logic, the Controlling logic (servlets), and the Model (your database). This is the Model View Controller (MVC) design pattern and it's very popular with Java web application development.