经过多次尝试后,我已经陷入困境,现在已经没过了截止日期 开发支付流程系统。 详细信息:我正在开发一个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 会话丢失