起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 454|回复: 3

目前单点登陆百分百导致ie退出崩溃

[复制链接]
发表于 2010-12-24 20:21:17 | 显示全部楼层 |阅读模式
如题:原因找的不容易,发到bbs上来给大家分享,期待立即解决,很急。
附business.jsp正文 罪魁祸首

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.lang.reflect.Method" %>
<%@ page import="com.justep.loader.LibContext"%>

<%
  Class pclass = LibContext.getInstance().getLoader().loadClass("com.justep.web.SysServerProvider");
  Object pobj = pclass.newInstance();
  Method getBXClassIDMethod = pclass.getMethod("getBXClassID",new Class[]{});
  Method getBXCodeMethod = pclass.getMethod("getBXCodebase",new Class[]{});
        //目前采用参数方式传递登录信息,不安全
        String url = "http://" + request.getServerName() + ":" + Integer.toString(request.getServerPort()) + "/x3/bizserver";
        String funcurl = null;
        String user = request.getParameter("user");
        String pass = request.getParameter("pass");
  String classId = (String)getBXClassIDMethod.invoke(pobj,new Object[]{});
  String codeBase = (String)getBXCodeMethod.invoke(pobj,new Object[]{});
        if (funcurl == null) {
                funcurl = "Biz:\\SYSTEM\\INIT.FUNC";
        }
        if (user == null) {
                user = "system";
        }
        if (pass == null) {
                pass = "justep!@#";
        }
%>
<HTML>
<HEAD>
        <title>X3 协同管理系统</title>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <script type="text/javascript">
                /**
                 * 下列代码用于关闭页面时销毁x3xa.ocx
                 */
                window.recycler=(function(){ var t=document.createElement('div');t.id="recycler";return t;})();
                function newRemove1(id) {   
                        return typeof(id)=='string'?document.getElementById(id):id;
                }   
                function newRemove(el) {
                        el=newRemove1(el);
                        if (el && window.recycler){
                                window.recycler.appendChild(el);
                                window.recycler.innerHTML="";
                                el.removeNode(true);
                                el = null;
                                delete el;
                        }               
                        CollectGarbage();
                }
                //页面关闭时触发,用于销毁x3xa.ocx对象
                function dounload() {       
                        //alert("x3xa.jsp is unloading..!");
                        X3X.Run2("", "");                        //terminate x3xa.ocx
                        var obj = document.getElementById("X3X");
                        obj.style.display = "none";
                        newRemove("X3X");
                }

                /**
                 * 下列代码供其他页面调用,打开代办任务或业务功能
                 */
                function runTask(taskGUID, showModal) {
                        X3X.Invokemethod('RunTask', taskGUID);
                }       
                function runFunc(funcUrl, showModal) {
                        X3X.Invokemethod('RunFunc', funcUrl);
                }       
        </script>
</HEAD>

<BODY leftmargin="0" topmargin="0" scroll="no" onUnload="dounload()">

        <OBJECT id = "X3X"
                classid="<%=classId%>"
                codebase="<%=codeBase%>"
                width="100%"
                height="100%"
                align=center
                hspace=0
                vspace=0>
        </OBJECT>

        <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>

        <script ID="BusinessCloseEventHandler" language="javascript" FOR="X3X" EVENT="OnTerminate">
                //WebBrowser.ExecWB(45,1); // close window
        </script>
        <script ID="RTEventHandler" language="javascript" FOR="X3X" EVENT="OnRTEvent(Param)">
                //X3脚本事件
                //可以在脚本中执行RTEvent.Execute('Param1');最终调用会执行到这里,Param1的内容格式可以自定义
                //Param变量的内容就是传出的字符串(Param1)。
        </script>

        <script type="text/javascript">
                function BeforeClose() {
                        //alert("Business_ext.jsp beforeunload");
                    if(!X3X.TerminateQuery())        {
                                event.returnValue = "";
                    }
                  }
    //alert("<%= funcurl%>");
                X3X.ServerURL = "<%= url%>";
          X3X.UpdateVersion();
          //设置此属性,允许在ie中运行多个ocx
    X3X.MultiWindow=true;
          X3X.Init();
          X3X.Logon("<%= user%>","<%= pass%>");
          X3X.Run("<%= funcurl%>","","","");
          //X3X.Run2("<%= funcurl%>","user=<%= user%>;pass=<%= pass%>");
          document.body.onbeforeunload=BeforeClose;
          document.title = X3X.DisplayName;       
        </script>

</BODY>
</HTML>

upload_9.png

3.74 KB, 下载次数: 167

回复

使用道具 举报

 楼主| 发表于 2010-12-27 11:51:28 | 显示全部楼层
麻烦哪位jsp大大给改个正确的文件吧,我jsp实在杯具
回复 支持 反对

使用道具 举报

发表于 2010-12-27 13:38:01 | 显示全部楼层
楼主,只能这么建议一下:
用原来的jsp,然后参考这个,一点点加代码。看到底是哪个代码导致的问题。需反复测试下。。
回复 支持 反对

使用道具 举报

发表于 2010-12-27 13:43:21 | 显示全部楼层
还有就是 jsp中加一些调试的手段,比如 alert输出一些提示信息,看他到底执行到哪里出问题了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 18:27 , Processed in 0.040907 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表