Из-за желания избежать написания большого количества кода, способ, которым я это делаю, заключается в том, чтобы исключение вызывалось либо уровнем доступа к данным, либо уровнем обслуживания. Затем он генерируется веб-контроллером и переходит на страницу с общей ошибкой, которая была настроена в файле web.xml, в которой говорится что-то вроде «страница не найдена».
Но это действительно зависит от вашего домена и требований. Недавнее приложение, которое я написал, было простой социальной сетью, где у пользователей не было возможности деактивировать свою учетную запись или изменить свое имя пользователя. Таким образом, единственный способ, которым они могли запросить недопустимый профиль, - перебирать URL. Я не собирался создавать более конкретную страницу с сообщениями об ошибках, просто чтобы показать им, что они ошибаются.
Но если вы ДЕЙСТВИТЕЛЬНО позволили пользователю, например, деактивировать свою учетную запись, вы, возможно, захотите использовать такой же подход, как yawmark, и показать более конкретное сообщение об ошибке.