Мои объекты хранятся в Интернете в двух разных местах:
< 1 > На моем сайте nmjava.com, где я могу поместить их в каталог под названием "Dir_My_App/Dir_ABC/"
< 2 > В хранилище данных Google App Engine
Когда мое приложение Java работает, он проверяет оба места для объектов, я разработал приложение, чтобы он пытался получить объект из Url, ему все равно, является ли он объектом в каталоге или объектом, возвращаемым сервлета.
My_Object Get_Object(String Site_Url,String Object_Path)
{
... get object by the name of Object_Path from the Site_Url ...
}
Теперь запрос Url для моего веб-сайта nmjava.com может выглядеть так:
http://nmjava.com/Dir_My_App/Dir_ABC/My_Obj_123 [В каталоге]
Или в случае с сервлетами Google App Engine:
http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123 [Не существует]
"Object_Path" автоматически создается моим приложением. Теперь он может получить объект с моего сайта описанным выше способом:
My_Object Get_Object ( " http://nmjava.com", "/Dir_My_App/Dir_ABC/My_Obj_123" );
В Google App Engine мой сервлет работает и готов обслуживать объект, если запрос приходит правильно, но поскольку я не хочу разрабатывать свое приложение, чтобы узнать, находится ли объект в одном каталоге сайта или в другой сайт datastore, мне нужно спроектировать сервлет, чтобы поймать не существующий Url, такой как выше, и иметь возможность сделать вызов:
My_Object Get_Object ( " http://nm-java.appspot.com/Check_License", "/Dir_My_App/Dir_ABC/My_Obj_123" );
Итак, мой вопрос: когда запрос поступает в сервлет с не существующим Url, как он должен его поймать и проанализировать URL-адрес, чтобы правильно реагировать, в моем случае он должен знать, что:
http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123
запрашивает объект "My_Obj_123" [игнорировать dirs] и возвращает объект из хранилища данных.
Теперь я получаю следующее:
Ошибка: не найден
Запрошенный URL/Check_License/Dir_My_App/Dir_ABC/My_Obj_123 не найден на этом сервере.
Где в моем сервлете и как я могу обнаружить запрос для этого не существующего Url?