2014-12-03 74 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获取更多信息。

希望这会有所帮助。

相关问题