I've created a page which asks user to fill some form fields and when he submits, the form is sent to a Restful method which you can see below:
@POST
@Path("addUser")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void addUser(@FormParam("username") String username,
@FormParam("password") String password,
@FormParam("id") String id,
@FormParam("group_name") String groupName,
@FormParam("authority_name") String authorityName,
@FormParam("authority_id") String authorityId
)
{
//Something will be done here
}
How can I redirect the user at the end of this function to (let's say) index.jsp?
Create a URI using javax.ws.rs.core.UriBuilder
that maps the parameters and other data you want to preserve. Then use Response.temporaryRedirect
to return a redirect to the client and pass it the URI you’ve built.
change your code like this, the addUser() should return a Response Object
public Response addUser(@FormParam("username") String username,
@FormParam("password") String password,
@FormParam("id") String id,
@FormParam("group_name") String groupName,
@FormParam("authority_name") String authorityName,
@FormParam("authority_id") String authorityId
)
{
//Something will be done here
java.net.URI location = new java.net.URI("../index.jsp?msg=A_User_Added");
return Response.temporaryRedirect(location).build()
}
See below the usage of redirecting in web services:
public class LoginWebService {
@POST
@Path("/check")
public Response checkDetails(@FormParam("name") String name,@FormParam("pass") String pass ) throws URISyntaxException {
URI uri = new URI("/login/success");
URI uri2= new URI("http://localhost:9090/NewWebServiceproject/new/login/failure");
if(name.equals("admin") && pass.equals("pass"))
//@Path("http://localhost:8010/NewWebServiceproject/new/login/success");
{
return Response.temporaryRedirect(uri).build();
//Response.seeOther(uri);
//return Response.status(200).entity("user successfully login").build();
}
else
{
return Response.temporaryRedirect(uri2).build();
//Response.seeOther(uri2);
//return Response.status(200).entity("user logon failed").build();
}
}
@POST
@Path("/success")
public Response successpage()
{
return Response.status(200).entity("user successfully login").build();
}
@POST
@Path("/failure")
public Response failurepage()
{
return Response.status(200).entity("user logon failed").build();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With