如何在Javaservlet中捕获不存在的请求URL?
我的对象在线存储在两个不同的位置: 在我的nmjava.com网站上,我可以将它们放在一个名为Dir\u my\u App/Dir\u ABC的目录中/ 关于谷歌应用引擎数据存储 当我的Java应用程序运行时,它会在两个地方检查对象,我设计了应用程序,以便它尝试从Url获取对象,它不关心它是目录中的对象还是servlet返回的对象如何在Javaservlet中捕获不存在的请求URL?,java,url,servlets,Java,Url,Servlets,我的对象在线存储在两个不同的位置: 在我的nmjava.com网站上,我可以将它们放在一个名为Dir\u my\u App/Dir\u ABC的目录中/ 关于谷歌应用引擎数据存储 当我的Java应用程序运行时,它会在两个地方检查对象,我设计了应用程序,以便它尝试从Url获取对象,它不关心它是目录中的对象还是servlet返回的对象 My_Object Get_Object(String Site_Url,String Object_Path) { ... get object by th
My_Object Get_Object(String Site_Url,String Object_Path)
{
... get object by the name of Object_Path from the Site_Url ...
}
现在,我的网站nmjava.com的请求Url可能如下所示:
[目录中]
或者对于Google应用程序引擎servlet:
[不存在]
对象路径由我的应用程序自动生成。它现在可以通过上述方法从我的站点获取对象,如下所示:
My_Object Get_Object,/Dir_My_App/Dir_ABC/My_Obj_123
在Google App Engine中,如果请求正确,我的servlet正在运行并准备为对象提供服务,但是由于我不想设计我的应用程序来知道对象是在一个站点的目录中还是在另一个站点的数据存储中,我需要设计servlet来捕获不存在的Url,比如上面的Url,并且能够打电话:
My_Object Get_Object,/Dir_My_App/Dir_ABC/My_Obj_123
所以我的问题是:当一个请求以一个不存在的Url进入servlet时,它应该如何捕获它并分析Url以便正确响应,在我的情况下,它应该知道:
正在请求对象My_Obj_123[忽略dirs]并从数据存储返回该对象
现在我明白了:
错误:找不到
在此服务器上找不到请求的URL/Check_License/Dir_My_App/Dir_ABC/My_Obj_123
我的servlet在哪里?我如何检测对这个不存在的Url的请求 首先想到的是创建一个在web.xml中配置的ServletFilter,以查看每个请求,并在满足特定条件的情况下重新路由请求。请参见此处。谢谢,我已经阅读了教程,还找到了另一个信息来源:[],第一个太简单,第二个太复杂,答案介于两者之间。如何使用筛选器将传入请求url从更改为?