我开发了一个 Restlet 应用程序。我想通过 Restlet 返回一个关于 URL 请求的 JSP 文件。如何在不使用重定向的情况下实现这一目标?
即假设我在 mydomain.com 上有文件“contact.jsp”,我希望人们能够访问http://mydomain.com/contact上的contact.jsp
因此,在 Restlet 中,我会:
router.attach("/contact", MyResource.class);
但是我怎样才能返回“contact.jsp”页面呢?我知道重定向会起作用,但我不希望用户在“ http://mydomain.com/contact.jsp ”中看到“.jsp ”......或者是否有另一种策略可以在不使用的情况下工作休息?也许对我的 web.xml 文件进行了一些修改?
编辑(2009-08-14):
我在下面发布的答案不适用于 App-Engine 和 Restlet。但是,如果我不包含 Restlet,或者允许 Restlet 具有“/*”的 url 模式,它确实有效
理想的做法是拥有一个允许我这样做的路由器子类:
router.attach("/contact", "/contact.jsp");
谢谢!
编辑(2009-08-17):
我很惊讶自从我发布赏金以来我没有任何回应。如果我的问题/问题不清楚,有人会发表评论并告诉我吗?
编辑(2009-08-17):
有趣的观察。当使用下面“Rich Seller”描述的方法时,它在部署在 Google App-Engine 上而不是在本地时有效。此外,如果我在 Google App-Engine 上调用http://mydomain.com/contact.jsp,它会绕过 Restlet 并直接进入 JSP。但是,在本地,Restlet 接管了。即http://localhost:8080/contact.jsp不去JSP,去Restlet。已部署的应用程序引擎应用程序对 URL 的响应是否与其本地对应项不同?