2013-02-25 47 views
1

我有一個網址:我怎麼在GWT重新映射一個URL AppEngine上

http://myserver.appspot.com/service/exec?key=0AkG

如何將我把它重新映射到:

http://myserver.appspot.com/webapp.html?key=0AkG

,其中 「關鍵」 是每一個不同時間。

選項: 1)「* .gwt.xml」或「web.xml」 - 可能能夠做地圖,但沒有找到正確的選項 - (過濾器看起來是最好的選擇,但需要代碼) 。 我也嘗試創建一個名爲「exec」的文件,但它不喜歡缺少「.html」並且瀏覽器下載該文件。

2)URL重寫器。很難知道哪些將在GWT + GAE上起作用,但還沒有找到。

回答

0

將它添加到web.xml中,它的工作:爲

<servlet> 
<servlet-name>oldProxy</servlet-name> 
<jsp-file>/proxy.jsp</jsp-file> 
</servlet> 

<servlet-mapping> 
<servlet-name>oldProxy</servlet-name> 
<url-pattern>/service/exec</url-pattern> 
</servlet-mapping> 

文檔:

<jsp-file> 

http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1039287

+0

是的,這是處理路徑的正常方式,但'servlet的mapping'語法是非常有限的,你需要一些額外的代碼重寫某些情況下, ,或重定向爬蟲等。 – 2013-02-26 06:41:26

+0

這不是最合適的答案,爲什麼不選擇另一個呢? – 2013-03-08 09:00:58

+0

@emecedo我選擇了已被確認爲正在工作的答案。我知道上面的jsp文件解決方案的工作原理,並且很容易設置。我沒有與URL重寫器運氣。馬諾洛給出了一個很好的答案,我確實贊成它。我仍然有興趣確認GWT是否適用於UrlRewriteFilter或其他URL重寫器。 – eddyparkinson 2013-03-11 23:25:37

0

你需要一些URL重寫器。

GAE運行碼頭,它有它自己的rewriter handler,但由於它seems no possible to extend他們jetty.xml配置出於安全考慮,需要在在互聯網你web.xml

有許多過濾器示例配置過濾器,但什麼我發現容易設置和配置是UrlRewriteFilter

你有tutorial來設置UrlRewriterFilter在GAE

+0

你知道,如果UrlRewriteFilter。適用於GWT + GAE?我試過pretyfaces,但沒有得到它的工作。有幾個人在這裏建議URL重寫者:http://stackoverflow.com/questions/2297056/pretty-urls-in-google-app-engine/6529643#comment21174035_6529643但很難知道GWT + GAE上的哪些工作。 – eddyparkinson 2013-02-25 22:57:51

+1

是的,UrlRewriteFilter在GAE中工作,請參閱:http://aaronjlynch.com/2009/11/25/url-rewriting-on-google-app-engine/ – 2013-02-26 06:37:31

+0

和GWT? - 我懷疑這是GWT導致pretyfaces問題。 – eddyparkinson 2013-02-26 07:31:12