Java - Kan oprette forbindelse til mysql-server i netbeans, men fungerer ikke som applet

Indlæg af Hanne Mølgaard Plasc

Problem



jeg forsøger at oprette forbindelse til en mysql-server (som er på samme maskine lige nu, som i jeg har forbindelse til localost (jeg bruger Windows og har Apache, PHP, Mysql og phpmyadmin installeret), men jeg kan forbinde fint til serveren, der kører programmet i Netbeans, men hvis jeg kører appleten i browseren, fejler den ikke at oprette forbindelse, jeg får denne fejl:


com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Kunne ikke oprette forbindelse til databaseserver. Forsøg at genoprette 3 gange. Giver op.


Har du nogen ide om, hvad der kan forårsage dette? Så vidt jeg ved, er det hele tiden forbundet med min lokale maskine. Hvad kunne være problemet, MySQL-serveren eller apache eller Java-applikationen, og hvordan kunne jeg løse det? Tak.


Jeg forsøgte at underskrive appleten, og jeg tror, ​​at den underskrev det, men det er dog til at give mig denne fejl. Tak.

Bedste reference


Java fortryder som standard noget, der ligner Javascript. Samme oprindelsespolitik: Ikke-trodsede applets kan kun åbne en netværksforbindelse til den server, hvorfra de blev downloadet, men adgang på tværs af domæner er forbudt.


For at overvinde dette er det nødvendigt at underskrive appletet, men det er ikke tilstrækkeligt nok til at give udvidede tilladelser, men du skal også udtrykkeligt angive hvilke tilladelser du har brug for. For at teste om det virker, skal du prøve at give AllPermission først, du kan finjustere det efterfølgende. [3]


En nem måde at give AllPermission på er at implementere appletet ved hjælp af JNLP, tilføj [4]


<security> 
  <all-permissions/>
</security>


til din JNLP-implementeringsbeskrivelse.


Herefter skal du sikre dig, at alle krukker, der refereres af appleten, underskrives ved hjælp af samme certifikatet. Det er ikke nok til kun at underskrive applet Jar-filen.


I 'Java Control Panel' skal du sørge for at i 'Advanced/Security' dig


Allow user to grant permissions to signed content


Det skal løse det.





En simpel check for at se, om underskrivelsen var rigtig succesfuld:


Åbn Jar-filen med noget som WinZip, gå til mappen META-INF og kontroller, om der findes to yderligere filer ved siden af ​​MANIFEST.MF - en ender i .SF, den anden sandsynligvis i .RSA.