2014-04-08 104 views
0

是否有人知道如何使用斜槓作爲查詢字符串。我想使用URL做什麼 :URL格式查詢字符串與/

http://sample.com/urltest/?id=23423ea342

顯示爲

http://sample.com/urltest/23423ea342

和韓德爾它放到Servlet或Struts Action類

+0

這就是所謂的URL重寫你的{id}參數,但你的問題的方式過於廣泛,SO。所以最好的做法是使用這些詞彙並從那裏學習更多。 –

+0

相反,您應該有正確的Servlet of Action類,它將方法映射到'http:// sample.com/urltest /'並接受'id'作爲請求參數 – xyz

+0

您可以使用正則表達式並替換{'?id ='}通過''(一個空字符串)。 http://www.vogella.com/tutorials/JavaRegularExpressions/article.html – user2718671

回答

0

它添加到.htaccess文件

RewriteEngine On 
RewriteRule ^(.*)$ /sample.com/urltest/?id=$1 [L] 
+2

你也應該解釋一下這個功能,否則OP從這個答案中什麼都不會了解。 – BackSlash

+0

除了上面的註釋之外,還應該提到上面的'RewriteRule'會重寫任何請求,因爲它是'。*'(在這種情況下不需要'''''''''''')。 – Rolice

+0

我見過很多使用這種URL方式的支付網關或reportieng工具,例如http://www.gateway.com/userauth/txn678257/reportxml/ –

0

好吧,如果我明白了什麼是OP要求,對我來說,做到這一點最簡單的方法是使用JAX-RS,用於REST Web服務

這裏也叫Java API是JAX-RS的Oracle教程:http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html

這裏是爲您的示例URL的例子服務類:

@Path("/") 
public class testClass { 

    @GET 
    @Path("/{id}/") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Response testMethod(@PathParam(value = "id") String id) { 

     return Response.ok().entity("HELLO! You sent me this id: " + id).build(); 

    } 

} 

假設/urltest是配置爲您的基本URL路徑,這項服務將使用以下URL來調用: http://sample.com/urltest/23423ea342

和「23423ea342」將是您的服務