You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Forms 12.2.1.4中web.show_document在JPI与JWS下的差异及检测问询

Oracle Forms 12.2.1.4中JPI与JWS的web.show_document行为差异及检测方案

问题1:JWS与JPI使用不同基础URL的原因

这是二者运行机制的本质差异导致的:

  • JPI(Java Plugin)作为浏览器插件运行,完全继承Forms Web部署根页面的上下文,默认以/forms/作为基础URL拼接web.show_document传入的URI。
  • JWS(Java Web Start)是独立启动的Java应用,其启动资源(JNLP文件、Forms客户端类库等)均从/forms/java/目录加载,运行时会默认将该目录作为基础URL的基准路径,因此拼接URI时会带上/forms/java/前缀。
    即便表面配置无差异,二者的运行环境上下文完全独立,导致基础URL的默认取值逻辑不同。

问题2:运行时检测JPI/JWS运行方式的方案

get_application_property()确实没有直接提供该属性,但可以通过读取Java系统属性实现检测:

  • JWS运行时会存在专属系统属性javawebstart.version,可在Forms中通过host()函数调用Java代码获取该属性值:
    DECLARE
      v_jws_version VARCHAR2(100);
    BEGIN
      v_jws_version := host('java.lang.System.getProperty("javawebstart.version")');
      IF v_jws_version IS NOT NULL THEN
        -- 当前为JWS运行模式
      ELSE
        -- 当前为JPI运行模式
      END IF;
    END;
    
  • 也可通过检查user.dir系统属性辅助判断:JWS的user.dir指向Java Web Start的临时缓存目录,而JPI的user.dir与浏览器运行路径相关,二者路径特征差异明显。

内容的提问来源于stack exchange,提问作者realpikolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 00:20:17