簡體   English   中英

使用Response對象調度Web服務調用者

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM