访问控制异常(java.net.SocketPermission 127.0.0.1:8080连接,解析)

访问控制异常(java.net.SocketPermission 127.0.0.1:8080连接,解析),java,html,applet,permission-denied,Java,Html,Applet,Permission Denied,我正在尝试使用小程序读取远程pdf文件。当我从IDE中只运行applet时,它可以正常工作,但当我将它嵌入html的对象标记时,它会抛出SocketPermission异常。。。 下面是访问小程序的html <object type="application/x-java-applet" height="300" width="550"> <param name="code" value="MyApplet" /> <param na

我正在尝试使用小程序读取远程pdf文件。当我从IDE中只运行applet时,它可以正常工作,但当我将它嵌入html的对象标记时,它会抛出SocketPermission异常。。。 下面是访问小程序的html

<object type="application/x-java-applet" height="300" width="550">
        <param name="code" value="MyApplet" />
        <param name="archive" value="applet.jar" />
        <param name="filePath" value="https:path_to_pdf.pdf">
        Applet failed to run.  No Java plug-in was found.
    </object>
迄今为止已完成: 我已经在java例外列表中添加了我的本地url,用于证书问题。 我还创建了策略文件来授予所有权限并将其放入主目录

以下是例外情况的详细信息

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied ("java.net.SocketPermission" "example.com:443" "connect,resolve")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1051)
at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source)
at sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:510)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1038)
at MyApplet.printPdf(MyApplet.java:162)
at MyApplet.actionPerformed(MyApplet.java:118)
at java.awt.Button.processActionEvent(Button.java:409)
at java.awt.Button.processEvent(Button.java:377)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
线程“AWT-EventQueue-2”java.security.AccessControlException中的异常:拒绝访问(“java.net.SocketPermission”“example.com:443”“连接,解析”) 位于java.security.AccessControlContext.checkPermission(AccessControlContext.java:457) 位于java.security.AccessController.checkPermission(AccessController.java:884) 位于java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 位于java.lang.SecurityManager.checkConnect(SecurityManager.java:1051) 位于sun.plugin2.applet.SecurityManager.checkConnectHelper(未知源) 位于sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(未知源) 位于sun.net.www.http.HttpClient.openServer(HttpClient.java:510) 在sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:275) 位于sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371) 位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) 位于sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) 位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) 位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) 位于sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512) 位于sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440) 位于sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) 在java.net.URL.openStream(URL.java:1038) 在MyApplet.printPdf(MyApplet.java:162)上 在MyApplet.actionPerformed(MyApplet.java:118) 位于java.awt.Button.processActionEvent(Button.java:409) 位于java.awt.Button.processEvent(Button.java:377) 位于java.awt.Component.dispatchEventImpl(Component.java:4881) 位于java.awt.Component.dispatchEvent(Component.java:4703) 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 在java.awt.EventQueue.access$500(EventQueue.java:97) 在java.awt.EventQueue$3.run(EventQueue.java:709) 在java.awt.EventQueue$3.run(EventQueue.java:703) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) 在java.awt.EventQueue$4.run(EventQueue.java:731) 在java.awt.EventQueue$4.run(EventQueue.java:729) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中 位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
您正在本地计算机上运行小程序。您不使用https。您可以使用
文件://

file://path/to/your/pdf/file.pdf

您正在本地计算机上运行小程序。您不使用https。您可以使用
文件://

file://path/to/your/pdf/file.pdf

2015年不要使用小程序!使用JNLP(又名JavaWebStart)我正在检查JNLP,因为我对它不熟悉。但我认为它再次使用html的applet标记,根据我的信息,applet标记是不推荐的。fgeDon't use applet in 2015!使用JNLP(又名JavaWebStart)我正在检查JNLP,因为我对它不熟悉。但我认为它再次使用html的applet标记,根据我的信息,applet标记是不推荐的。fgeI正在访问远程pdf文件而不是本地pdf文件。我正在访问远程pdf文件而不是本地pdf文件。