重定向到URL而不会丢失会话对象值

时间:2015-12-25 11:41:47

标签: java session struts2 http-post payment

经过多次尝试后,我已经陷入困境,现在已经没过了截止日期 开发支付流程系统。 详细信息:我正在开发一个Struts2 Web应用程序,在我的系统中从数据库进行所有初始验证之后,我需要调用已经由Bank Partner共享的URL并在同一浏览器上打开Bank url页面。在此页面中,用户将进行付款。现在我必须在我的应用程序中公开一个URL,银行合作伙伴将调用该URL,之后相同的用户将能够在同一浏览器中看到结果页面。所以我有两个任务,我被两个都困住了。对于所有这些,我使用Struts2会话在我的应用程序中成功登录后存储所有用户数据。

我尝试过: 用于呼叫银行URL //然后,我的应用程序验证代码成功 response.sendRedirect(银行网址)

这会损失会话,因此所有会话数据都会丢失。

对于结果页面的应用程序的URL是 ContextRootMyApp?TRXN_STATE = STEP4

当调用它时,我没有得到任何会话对象值。 sessionMap.get(" TRXN_STATE")为空。

请建议我在java中继续。

Code:

    Web Logic.xml
    <wls:weblogic-version>12.1.1</wls:weblogic-version>
        <wls:context-root>ContextRootMyApp</wls:context-root>

        <wls:container-descriptor>
            <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>
        </wls:container-descriptor>


        <session-descriptor>
            <url-rewriting-enabled>true</url-rewriting-enabled>
        </session-descriptor>

    Struts.xml
    <package name="default" extends="struts-default,json-default"
            namespace="/">
            <result-types>
                <result-type name="tiles"
                    class="org.apache.struts2.views.tiles.TilesResult" />
            </result-types>

            <default-action-ref name="pageNotFound" />



            <action name="navigateSystem" method="navigatePaySystem"
                class="com.action.PayConsultUserAction">
                <result name="success" type="redirectAction">pages/layout/consultUser.action</result>
                <result name="successForward" type="redirectAction">pages/layout/result.action</result>
                <result name="bankCalledPaySystem" type="redirectAction">pages/layout/bankInterfaceCallPay.action</result>          
            </action>

            <action name="bankInterfaceCallPay"
                class="com.action.PayConsultUserAction" method="bankCalledPaySystem">
            </action>
            <action name="result"
                class="com.action.PayConsultUserAction" method="getDataList1">
                <result name="success">/pages/pay/payName.jsp
                </result>
                <result name="error" type="tiles">consult</result>
                <result name="login">/pages/common/error.jsp
                </result>
            </action>
        </package>

    result.Action
    public void getDataList1() throws Exception {
                String url = bankurl;
                response.sendRedirect(response.encodeURL(url));

        }catch (Exception e) {
                LoggerUtil.logFlowErrorLevel(log, e);
                errorDescripion = ConstantesApp.TECHNICAL_ERROR;
            }


        }

Bank is calling my application url
ContextRootMyApp?TRXN_STATE=STEP4
index.jsp is hit as welcome file
index.jsp
<%
    pageContext.forward("/navigateSystem.action");
%>

navigatePySystem.Action
public String navigatePaySystem() {
        String TRXN_STATE = (String) request.getParameter("TRXN_STATE");
            System.out.println("Reached Username"+sessionMap.get("Username"));
            return "";
    }

sop结果:达到的用户名为null 会话丢失

0 个答案:

没有答案