Не определять внутренние классы в JSP.Рассмотрим JSP как простой метод.
JSP - это что-то вроде (1):
public class MyJSP extends Servlet {
public void service(HttpRequest request, HttpResponse response) {
/** JSP CODE HERE **/
}
}
Определение внутреннего класса должно выполняться как анонимный внутренний класс:
Authenticator.setDefault(new Authenticator() {
protected getPasswordAuthentication() {
System.out.println("Requesting Host : " + getRequestingHost());
System.out.println("Requesting Port : " + getRequestingPort());
...
}
});
Не уверен, что мне делать, чтобы передать параметры (я использовал только самые простые анонимные внутренние классы).
В любом случае для всего, что будет использоваться извне, я бы использовал открытый класс(в своем собственном файле) и избегайте всех этих неприятностей.
(1) Не совсем так, но вы поняли идею.