[英]Dispatching web service caller with Response object
我需要使用Response對象將Web服務調用者分派到新頁面:
@Path("controller")
@Stateless
public class ControllerEJB {
HttpSession session;
User user;
String url;
@POST
public Response registerUser(
@QueryParam("fornamn") String fornamn,
@QueryParam("efternamn") String efternamn,
@QueryParam("epost") String epost,
@QueryParam("epost2") String epost2,
@QueryParam("password") String password,
@Context HttpServletRequest request
){
session = request.getSession();
if(user == null)
user = new User();
user.setEmail(epost);
user.setPassword(password);
user.setFornamn(fornamn);
user.setEfternamn(efternamn);
session.setAttribute("user", user);
return Response.status(200)...... // e.g. url is a .jsp
}
我應該使用哪種方法?
JAX-RS旨在構建REST服務。 REST服務應返回通常使用XML或JSON序列化的數據。 我不建議將JAX-RS請求轉發到諸如JSP或JSF的視圖層。
也就是說,我不確定您是否可以轉發與RequestDispatcher.forward(req,res)相同的方式。 但是您可以使用以下命令發送重定向:
return Response.seeOther(new URI("/path/to/your/resource")).build();
但是正如文檔所述,應該在POST /重定向/ GET模式中使用:您可以使用GET方法將POST請求重定向到另一個REST資源。
但是,再次將REST資源重定向到JSP頁面是一個尷尬的設計。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.