无法在ADF应用程序中的servlet中在会话范围内设置值

时间:2018-10-10 06:50:56

标签: java servlets session-variables oracle-adf google-oauth2

我在ADF应用程序中使用Google oath2.0。用户提供凭据后,它会转到Servlet(回调servlet),在那里我获取用户信息并将其保存在会话中。保存会话后,我会将响应重定向到我正在使用page1.jsf从会话范围显示用户信息的另一页(#{sessionScope.user_info})。 问题甚至是在将值保存到CallbackServlet.java中的会话范围之后,也无法获得这些值。它什么也不返回。

这是我的代码

@WebServlet(name = "CallbackServlet", urlPatterns = { "/callbackservlet" })
public class CallbackServlet extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        String state = request.getParameter("state");
        String code = request.getParameter("code");
        MyGoogleHelperClass ghc = new MyGoogleHelperClass();

        String json = ghc.getUserInfoJson(code);
        System.out.println(state+"-"+json);

        ADFContext.getCurrent().getSessionScope().put("user_info", json);


        response.sendRedirect("http://127.0.0.1:7101/GoogleAdf-ViewController-context-root/faces/page1.jsf");


    }
} 

在page1.jsf

<h:outputText value="#{sessionScope.user_info}" id="ot1"/>

我在这里做错了什么? servlet是我的adf应用程序的一部分。

0 个答案:

没有答案