2014-12-03 76 views
0

我是REST webservice的新手。我正在嘗試,我有一個HTML頁面中的文本框。文本框的內容將使用url發送。這裏是代碼 -如何發送來自其他web服務的響應

<body> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 
    function restCall(){    
     var user=$('#name').val(); 
     var psw=$('#pswd').val();   
     var url="http://localhost:8080/JAXRS-HelloWorld/rest/helloWorldREST/"+user+"?value="+psw+";"; 
     alert(url); 
     $(location).attr('href',url); 
    } 
</script> 
<div style="padding-left: 300px; padding-top: 200px;"> 
    <input type="text" value="" id="name" /><br><br> 
    <input type="password" value="" id="pswd" /><br><br> 
    <input type="button" value="Show" onclick="restCall()"/> 
</div> 
</body> 

現在的servlet的Java代碼如下 -

@Path("/helloWorldREST") 
public class HelloWorldREST { 

@GET 
@Path("/{parameter}") 
public Response responseMsg(@PathParam("parameter") String parameter, 
     @DefaultValue("Nothing to say") @QueryParam("value") String value) { 
    String output = "Hello from: " + parameter + " : " + value;  

    return Response.status(200).entity(output).build(); 
    } 
} 

此代碼將使輸出=>從你好:Subho:Subho

現在我不想展示這一點。此msg可以在控制檯中顯示,但我想調用另一個web服務或從此處的任何鏈接。我的意思是讓我在HTML頁面文本框中編寫Facebook,這個頁面將Facebook寫入控制檯,然後解鎖www.Facebook.com鏈接並轉到那裏。我怎樣才能做到這一點。請幫助...

+0

'window.location.href =「www.facebook.com」;' – 2014-12-03 06:36:32

+0

爲什麼你需要擊中服務器_at all_才能滿足此要求?我不明白。似乎這可以通過一些簡單的Javascript來完成,比如上面的註釋或者jQuery,你已經知道了。 – 2014-12-03 07:22:14

回答

0

我知道它晚了,但發佈這個答案,希望這個答案可以幫助其他人。

我想你想重定向到你的web服務方法中指定的URL。如果是這種情況,那麼你可以使用下面的反應方法

- Response.temporaryRedirect(URI) 
- Response.seeOther(URI) 

下面是示例代碼

java.net.URI location = new java.net.URI("www.sometarget.com"); 
return Response.temporaryRedirect(location).build(); 

有幾種類型的重定向,

  • 301 Moved Permanently303 See Other307 Temporary Redirect

Click Here獲取更多信息。

希望這會有所幫助。

相關問題