昨天回文時 ptt 速度太慢,
亂按了一些鍵之後就放著沒動了,
沒想到居然還發出去了 Orz
※ 引述《tjpu4 (香吉蒜)》之銘言:
: ※ 引述《tkcn (小安)》之銘言:
: : 找不到 class: javax/comm/CommPortIdentifier
: : comm.jar 呢?
: 不好意思 我放成comm.jar的捷徑了
其實我昨天這樣回答有一點誤導,
雖然錯誤訊息是因為 comm.jar,
但即使放了正確的 library,
這支 applet 程式還是無法執行。
: 所以現在 Java主控台的錯誤訊息就跟appletviewer顯示的錯誤訊息類似了(見下)
: 那想請問的是
: "Caused by...."的錯誤訊息是代表什麼意思呢?
: java.lang.ExceptionInInitializerError
: at TransmitterApplet.init(TransmitterApplet.java:25)
: at sun.applet.AppletPanel.run(Unknown Source)
: at java.lang.Thread.run(Unknown Source)
: Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission javax.comm.properties read)
存取被拒絕,原因就是 sandbox
applet 是用於網頁上的小程式,
基於安全理由,它不允許你做任何的 IO 操作,
(存取本機電腦 及 網路連線...等,只有網頁 server 例外)
否則一旦開了惡意的 applet,
電腦就如同中了木馬一般。
sandbox 的概念就是,
只允許你在盒子裡面操作,
所以無論你在盒子裡做了什麼事,
都不會影響到盒子外的世界。
如果有特殊的需求,
可以使用 sign applet,
再開啟程式前會先出現確認視窗,
待使用者同意後,
程式便能夠有較高的存取權限。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.78.239