test.jar이라는 .jar 파일을 만들고 login.html (모두 로컬)이라는 웹 페이지에 넣으려고합니다. 애플릿 태그 안에 mysqlconnector.jar과 test.jar을 아카이브 섹션에 넣었다.Java Applet with mySQL
내가 사용하는 애플릿을 실행하려고하면 : 애플릿 뷰어를 "파일 : /// C : /test/login.html"애플릿로드하지만 난 로그인 나는 다음과 같은 오류가 확인을 클릭 할 때
Exception in thread "AWT-EventQueue-1" java.lang.ExceptionInInitializerError
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:286)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at staffDatabase.queryStaffID(staffDatabase.java:76)
at searchStaff.readFromLogin(searchStaff.java:14)
at loginFrame$1.actionPerformed(loginFrame.java:65)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19
95)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.security.AccessControlException: access denied (java.util.Proper
tyPermission file.encoding read)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:323)
at java.security.AccessController.checkPermission(AccessController.java:
546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:12
85)
at java.lang.System.getProperty(System.java:650)
at com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:70)
... 30 more
가 나는
Caused by: java.security.AccessControlException: access denied (java.util.Proper
tyPermission file.encoding read)
가의 policytool에서 읽기 권한이 부족한 때문이다 제안 몇 가지 다른 웹 사이트에서 검토 한 결과,하지만 난 이미 모든 권한을 넣어 가지고이 어떤 차이를 만들어 없다.
도움이 될 것입니다. 지금까지 행운이없이 도처에 보았습니다, 고마워요!
서명해야 함 – Alfabravo
애플릿 및 JWS 앱에 사용되는 보안 샌드 박스입니다. 사용 된 정책에 약간의 차이점 만 있지만 동일합니다. 차이점의 예는 1) 서명 된 애플릿이'System.exit (n)'을 호출 할 수 없다. 2) JWS 앱. 'all-permissions'와 sand-boxed뿐만 아니라 사이에 또 다른 레벨을 가지고있다. 그렇지 않으면 +1. 정책 파일을 피하십시오. 필요하다면 빌드에서 Jars에 서명을하지만, 난해한 상황 (예 : 개발과 같은)에만 유용합니다. –
@AndrewThompson - JNLP는 OP가 서명하지 않고 데이터베이스에 연결할 수있는 권한을 실제로 부여하지 않습니다. 내 대답을 업데이트 할게. – Perception