社区
Web 开发
帖子详情
tomcat下,控件不能正常显示??
wzw200
2009-07-20 11:19:14
我做了一个CAB包 在我本机上写好HTML代码的WEB网页,运行这个可以自动安装好CAB包 显示正常
现在我把这个WEB放到tomcat下,访问这个WEB,它能自动安装CAB包,可是不能显示里面的控件。
我用本地代码(html)调用这个装好的控件没什么问题,显示正常
我想问那位见过这样的情况吗 。
我在CSND上看到有个帖子和我问要一模一样,不过回贴没有答案,这里再发一次,希望那位能给个解决方
案。谢谢
...全文
155
12
打赏
收藏
tomcat下,控件不能正常显示??
我做了一个CAB包 在我本机上写好HTML代码的WEB网页,运行这个可以自动安装好CAB包 显示正常 现在我把这个WEB放到tomcat下,访问这个WEB,它能自动安装CAB包,可是不能显示里面的控件。 我用本地代码(html)调用这个装好的控件没什么问题,显示正常 我想问那位见过这样的情况吗 。 我在CSND上看到有个帖子和我问要一模一样,不过回贴没有答案,这里再发一次,希望那位能给个解决方 案。谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anhy
2009-07-27
打赏
举报
回复
一般的说来“受信任的站点”的默认级别本身比internet低不少。
签名与不签名在安全设置也是分开的,很多时候,如果控件没有签名的话,可能浏览器就不会下载控件
wzw200
2009-07-27
打赏
举报
回复
哎 知道问题了 搞好了 OK 下面的我按别人的网页做的
http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=7710
Web发布cab文件打包的ActiveX控件总结
来源:SupeSite/X-Space 作者:Sutra.ZHOU 时间:2008-01-22 点击:4747 次 一、程序描述:
程序环境:windows Xp sp2, ie 6, tomcat 5.5, vc++6.0
程序过程:控件做成ocx文件,用于客户端调用本地硬件,其中有用到第三方几个.dll文件。采用windows自带iexpress.exe 打包成cab文件,在服务器端jsp页面进行控件调用,下载cab文件并自动注册。
二、程序问题:
遇到问题:
1. cab文件无法下载,而且根本不加提示。
2. 下载好的cab文件在system32中能够看到,但是页面仍然不能显示,一把红叉,并且无法使用。
问题测试:
1. 浏览器页面根本没有下载提示,考虑应该是cab的路径问题,也曾考虑是ie浏览器的安全问题。将安全降到最低测试。反复更改cab路径。
2. 这个问题最郁闷,搞了很久。考虑首先是安全问题,然后在网上搜索之后说是sp2调高了安全策略,有说降低安全,有说需要对程序进行数字签名。
问题解决:
1. 确实是路径不对,与安全无关。当在jsp中代码为:
<OBJECT id=pos codebase="TestCAB.CAB#version=1,0,0,1" height=100 width=100 classid="CLSID:719A1D6E-7099-4123-9D63-F0118AFF2D61" VIEWASTEXT> </OBJECT>
TestCAB.CAB文件应该放置在tomcat5.5安装目录Tomcat 5.5\webapps下该调用jsp所在的工程下。
2. 不需要更改安全级别,而应该在Internet选项-〉安全-〉受信任的站点-〉站点 中添加服务器地址。注意:不要选复选框“对该区域中的所有站点要求服务器验证”。
三、总结:
1. 将ocx文件以及第三方dll文件打包成cab文件:
Internet 软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。一个分发单位也可以包含软件组件,如 ActiveX 控件(.OCX)、.DLL文件、.EXE文件、Java类文件或小程序。当Web页上OBJECT元素的CODEBASE特性引用包含.INF文件的. CAB文件时,Internet Explorer将自动把.CAB文件作为软件分发单位下载并安装,每次访问时还会自动检测版本并进行更新。
INF文件是一个文本文件,指定运行控件所需要下载或者呈交的文件(比如.DLL或者其它.OCX)。一个.INF文件就捆绑了.CAB压缩文件所有的必须文件。 缺省情况下,与现有硬盘中文件版本号相同的文件不被下载。
先自己写了一个inf文件,其中信息包括将.ocx文件,以及相关的.dll文件打包,并下载到文件夹:\WINDOWS\system32,详细标注如下:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[DefaultInstall]
CopyFiles=install.files
RegisterOCXs=RegisterFiles
[RInstallApplicationFiles]
CopyFiles=install.files
RegisterOCXs=RegisterFiles
[DestinationDirs]
install.files=11
[SourceDisksNames]
1=%DiskName%,TestCAB.CAB,1
[Add.Code]
pcpos.ocx=pcpos.ocx
Comm.dll=comm.dll
pcpos.dll=pcpos.dll
TCPCLNT.dll=TCPCLNT.dll
[install.files]
pcpos.ocx=pcpos.ocx
Comm.dll=comm.dll
pcpos.dll=pcpos.dll
TCPCLNT.dll=TCPCLNT.dll
[SourceDisksFiles]
pcpos.ocx=1
Comm.dll=1
pcpos.dll=1
TCPCLNT.dll=1
[pcpos.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={719A1D6E-7099-4123-9D63-F0118AFF2D61}
DestDir=11
FileVersion=1,0,0,1
[Comm.dll]
file-win32-x86=thiscab
RegisterServer=yes
DestDir=11
FileVersion=1,0,0,1
[pcpos.dll]
file-win32-x86=thiscab
RegisterServer=yes
DestDir=11
FileVersion=1,0,0,1
[TCPCLNT.dll]
file-win32-x86=thiscab
RegisterServer=yes
DestDir=11
FileVersion=1,0,0,1
[RegisterFiles]
%11%\pcpos.ocx
注释:
"thiscab" 是一个关键字,意指包含该INF的CAB文件。也可以从网上下载所需要的DLL文件,只要指定一个HTTP 网址即可,如:
file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL
关键字"file-win32-x86" 指定平台是 x86。
文件版本号可见属性。
"DestDir"指的是装载目录或者文件的地址: 11 指定为系统目录 WINDOWS/ /SYSTEM32;
"clsid" 指的是要安装控件的CLSID。
制作cab:
使用\WINDOWS\system32\iexpress.exe。
1) 选择“Create new Self Extraction Directive file”,点击下一步。
2) 选择“Create compressed files only(ActiveX Installs)”,点击下一步。
3) 点击Add,文件添加(pcpos.ocx,pcpos.dll,comm.dll,tcpclnt.dll),点击下一步。
4) 点击Browse,输入.CAB文件的存放地址(包含所取文件名),这里取TestCAB.CAB,并且要选中 “Store files using Long File Name inside Package”。点击下一步。
5) 选择“Don’t save”,一直点击下一步,直到完成。
注意:
如果控件已经在客户机注册,并且不是通过.CAB的方式注册,那么通过.CAB自动注册的时候,该控件将无法被更新。必须先手动删除该文件。
2. 对CAB文件进行数字签名
传说中数字签名之后就可以不出现提示而自动下载,所以也试试:
在\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin 中间有三个小工具,就用他们来实现数字签名。
1.Makecert.exe ---证书创建工具
2.Cert2Spc.exe ---发行者证书测试工具
3.Signcode.exe ---文件签名工具
步骤:
1) makecert -ss name -n "CN=公司名" -sv d:\pos.pvk -r d:\pos.cer 其中sk-表示主题的密钥容器位置,ss-主题的证书存储名称, n-证书颁发对象,r-证书存储位置,-sv 导出私钥文件(为了签名使用)。注意:这个时候会让输入三次密码,三次要完全一致。
2) 使用Cert2Spc生成spc发行者证书(可选):cert2spc d:\pos.cer c:\pos.spc
3) 双击signcode,不带参数会启动签名向导。先选择要签名文件,下一步,选择“自定义”,下一步,选择“从文件选择”,添加刚生成的pos.cer证书,下一步,选择刚生成的私钥pos.pvk,再下一步,可spc证书,再一直下一步。添加时间戳,在时间戳填入http: //timestamp.verisign.com/scripts/timstamp.dll TestCAB.CAB,再下一步完成。
这样就对CAB文件进行了签名,但是这个时候点击这个文件会发现证书不可用,原因是证书没有安转。文件属性->数字证书->详细信息-〉查看证书-〉安装证书,进入安装证书向导,存放区域选择“受信任的根证书颁发机构”,点击完成即可。
在客户端测试:
1) 加入证书,浏览器-〉工具-〉Internet选项-〉内容-〉证书-〉受信任的颁发机构-〉导入证书。
2) 在有证书的情况下,如果服务器没有加入“可信任网址”,提示下载的时候会显示证书所签内容,没有证书则提示为“未知”。
3) 如果服务器已加入“可信任网址”,并且已导入证书,则不提示任何信息,在用户毫无感觉情况下下载。如果没有加入“可信任网址“,控件可以正常下载但仍然不能正常使用,与是否签名无关。
四、问题:
1.是否可以不添加“可信任网址”。
2.数字签名的作用,授权证书与不授权证书的区别。
wzw200
2009-07-27
打赏
举报
回复
谢谢楼上的那位了,我去看看 ,我学过点JAVA,用过tomcat,不过现在一直用C++写东西,好久没用JAVA了
Defonds
2009-07-27
打赏
举报
回复
我的资源里有本 MyEclipse 中文教程,楼主可以去看看
wzw200
2009-07-27
打赏
举报
回复
我的其他没什么问题 ,就是按那贴子 的红色字说明的做,可以了,我搞了几天时间,又是这样,又是那样,最后也不行
wzw200
2009-07-25
打赏
举报
回复
apache上可以自动安装显示 ,tomcat上不行?
为什么呢
money8899
2009-07-20
打赏
举报
回复
应该是浏览器安全级别的问题
anhy
2009-07-20
打赏
举报
回复
[Quote=引用 2 楼 wzw200 的回复:]
浏览器安全级别
我都重新设置了一下
“我用本地代码(html)调用这个装好的控件没什么问题,显示正常 ”
[/Quote]
有些控件在本地运行的时候,不会有问题。但是放在服务器上运行,如果里面有些控件没有签名或者标识为安全的,因为安全问题,这些控件可能就运行不正常。这个时候一般需要修改浏览器安全级别。
1.将tomcat服务器地址加入受信任站点
2.修改该区域安全级别,注意没有签名和没有标记为安全的选项进行修改,有些改为提示就可以,但有些必须改为启用。为了统一建议都改为“启用”
jinchun1234
2009-07-20
打赏
举报
回复
没有遇到过呀
wzw200
2009-07-20
打赏
举报
回复
浏览器安全级别
我都重新设置了一下
“我用本地代码(html)调用这个装好的控件没什么问题,显示正常 ”
anhy
2009-07-20
打赏
举报
回复
应该是浏览器安全级别的问题
wzw200
2009-07-20
打赏
举报
回复
看了网上很多这样的情况,也没解决哎 真难啊 这个问题 我再看看
Ext3.2的TreePanel和GridPanel的分页与Hibernate的分页功能的影射
环境:Windows XP sp3、IE 7.0、MS SQL Server 2000、MyEclipse5.5、 Ext 3.2、
Tomcat
6.0 使用步骤: 1、下载解压之后,使用IDE打开工程 2、在工程中找到“数据库脚本.sql”文档,然后在查询分析器中生成数据与测试...
jpivot学习总结.doc
创建一个图表组件,这个图表组件的标签
不能
直接产生可见输出,它必须通过 WCF 的渲染标签才行。 chart 标签的主要属性如下: 属性名 必须 数据类型 是否能动态计算指定 描述 id 是 String 是 标签的 ID ...
手写
TomCat
服务器
在工作中,我们经常会把写好的代码打包放在
Tomcat
里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么
Tomcat
是如何工作的? 通过手写
Tomcat
服务器,让学员了解服务器的底层代码,...
JAVA上百实例源码以及开源项目
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
JAVA上百实例源码以及开源项目源代码
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章