一尘不染

配置Restlet以在Google App Engine上返回JSP?

jsp

我已经开发了一个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的子类,该子类允许我执行以下操作:

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的响应是否与本地响应不同?


阅读 255

收藏
2020-06-08

共1个答案

一尘不染

“我想通过Restlet在URL请求上返回一个JSP文件”-我的理解是JSP被转换为servlet。由于Servlet对Restlets是正交的,因此不确定如何通过Restlet返回JSP文件。

假设您要求除Restlet之外还使用JSP的方法,最好的方法是将Restlet映射到/ rest而不是/ *等根路径,并照常使用.jsp。

2020-06-08