How to catch non exist requested URL in Java servlet ?

Posted by Frank on Stack Overflow See other posts from Stack Overflow or by Frank
Published on 2010-04-27T18:18:11Z Indexed on 2010/04/27 18:43 UTC
Read the original article Hit count: 215

Filed under:
|
|
|
|

My objects are stored online in two different places :

<1> On my nmjava.com site, where I can put them in a directory called "Dir_My_App/Dir_ABC/"

<2> On Google App Engine datastore

When my Java app runs it checks both places for the objects, I designed the app so that it tries to get an object from a Url, it doesn't care whether it's an object in a directory or an object returned by a servlet.

My_Object Get_Object(String Site_Url,String Object_Path)
{
    ... get object by the name of Object_Path from the Site_Url ...
}

Now the request Url for my web site nmjava.com might look like this :

http://nmjava.com/Dir_My_App/Dir_ABC/My_Obj_123 [ In a directory ]

Or in the case of Google App Engine servlet :

http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123 [ Non exist ]

The "Object_Path" was generated by my app automatically. It can now get the object from my site by the above method like this :

My_Object Get_Object("http://nmjava.com","/Dir_My_App/Dir_ABC/My_Obj_123");

In the Google App Engine, my servlet is running and ready to serve the object, if the request comes in correctly, but since I don't want to design my app to know whether the object is in one site's directory or in other site's datastore, I need to design the servlet to catch the non exist Url, such as the one above, and be able to make a call :

My_Object Get_Object("http://nm-java.appspot.com/Check_License","/Dir_My_App/Dir_ABC/My_Obj_123");

So my question is : When a request comes into the servlet with a non exist Url, how should it catch it and analyze the url in order to respond properly, in my case it should know that :

http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123

is asking for the object "My_Obj_123" [ ignore the dirs ] and return the object from the datastore.

Now I'm getting this :

Error: Not Found

The requested URL /Check_License/Dir_My_App/Dir_ABC/My_Obj_123 was not found on this server.

Where in my servlet and how do I detect the request for this non exist Url ?

© Stack Overflow or respective owner

Related posts about catch

Related posts about non-exist