JApplet not working - page becomes unresponsive when plugin enabled - java

I am trying to run an Applet in a browser. I have three libraries, commons-net.jar, Jsch.jar (referenced) and MyApplet.jar, in the same folder on my local machine.
I created the following HTML file try.html:
<html>
<head>
<title>
HelloApplet by Aditya Jain
</title>
</head>
<body>
<Applet Code = 'com.cisco.fastforward.main/Main_Applet.class'
Archive = 'MyApplet.jar,commons-net-3.3.jar,jsch-0.1.51.jar'
Width =900 height = 900>
</Applet>
</body>
</html>
When I load the HTML file, it initially says "plug-in blocked". After I enable the plugin and reload, the page becomes unresponsive and I don't get any console output.
Update - The browser i was using was Chrome and Safari , When i switched to Firefox 25.0 , it worked after a few permissions.
I dont know why this happened.
Any reasons?(latest Chrome and Safari used)

Sign your jar. Set your system path to java path in cmd. Then run jarsigner, create a keystore and sign your jar. Make sure you have a proper manifest in your jar as well for permissions purposes. Also set java security to low and add your local html file to the java security exception list. This is the only way to make an applet work right now.

Related

Class not found exception Applet.jar in html file

I am trying to run an .jar file with a class in it that extends Applet in an html file. The .jar is called DocScrabble.jar, html is DocScrabble.html, and .class file is ScrabbleSolver.class. ScrabbleSolver.class also references a file called EnglishWords.txt, and I included that in the default package in which I placed ScrabbleSolver.class when I exported the file to a .jar. DocScrabble.jar and DocScrabble.html are located in the same directory. The applet works fine in eclipse, so I am assuming that my html file is the problem. THere is the html code.
<!DOCTYPE html>
<html>
<head>
<title>Doc Scrabble></title>
</head>
<body>
<APPLET CODE="ScrabbleSolver.class"
ARCIHVE="DocScrabble.jar"
WIDTH="400"
HEIGHT="200"
</Applet>
</body>
</html>
When i try to run the html, it gives me an error that says ClassNotFoundException ScrabbleSolver.class. Could someone please tell me what's wrong? I'm relatively new to programming.
It is highly advisable to check HTML using a validation service or DTD.
I typically rely on the W3C HTML validation service to check HTML.
Note that the applet element was last valid in HTML 3.2. It was deprecated in HTML 4.01. Without declaring any version, that mark-up would be presumed to be HTML 5.
The best way to deploy an applet is to use the Deployment Toolkit Script. On the other hand mistakes in spelling the attribute names in the script would not be picked up by an HTML validation service, since it concentrates on the HTML, rather than JavaScript embedded in the HTML.
For that reason it is a good idea to see the applet work when loaded using 'pure HTML' first.
Is your ScrabbleSolver class in a package? if so then it should be packagename.ScrabbleSolver.class
See Also: http://download.java.net/jdk8/docs/technotes/guides/jweb/applet/using_tags.html

Embedding multi-class applet with .jar

I have a multi-class applet that has been exported using Eclipse as a .jar file. The jar file is called chess.jar, and the class I compiled and ran from in Eclipse is called Chess.java, and the binaries are Chess.class. The following code is the HTML I am trying to use to embed this applet into my website.
<APPLET CODE=Chess.class
ARCHIVE="chess.jar"
WIDTH=700
HEIGHT=700
CODEBASE="mywebsitewherethefilesarebeinghosted.com/"
ALT="Your browser understands the <APPLET> tag but isn't running the applet, for some reason.">
Your browser is ignoring the <APPLET> tag!
</APPLET>
I get the error ClassNotFoundException Chess.class
I have done applets before that have only one class successfully here , and I am using almost exactly the same HTML except for the CODEBASE and I have added the ARCHIVE tag.
As an applet, it has no main class. I am not very familiar with the MANIFEST.MF file, and I'm not sure if I need to utilize it for this purpose. My Chess.class calls some other classes like Pawn.class and Knight.class and they are all in chess.jar. Any help would be greatly appreciated.
EDIT
I created a local HTML file that runs the .jar locally and it runs perfectly.
<html>
<applet code=Chess.class
archive="chess.jar"
width=700 height=700>
</applet>
</html>
I think it is a simple matter of the contents of your HTML. I see you have a second start tag that I think would be confusing the browser. The browser would think the first one does not have an end tag and that may be the reason it is being ignored. Remove that and try again.
Even if this isn't the problem it's bad practice to leave tags open like that. Your error message should also be a bit more meaningful for poor users who don't know what an applet tag is.
It seems that CODEBASE follows / as directory separator unlike . in case of CODE attribute
so try replacing your CODEBASE value with proper directory structure separated by /
check example here and here also

Java applet runs locally but not on the host

I have written an applet application and integrate it to run under a webpage. It runs properly when I am running the webpage as local HTML file (using file:/// protocol). But when I am running it on a host (tested with http://localhost using XAMPP), it does not work anymore and through exception of ClassNotFound.
My applet classes are packaged under a *.jar file. Is not the jar file loaded in this case? Can anyone give me a suggestion that what can I do to deal with this problem?
Update
I have uploaded the jar file into the same folder as the HTML file. In my case, they are in the DocumentRoot of the Apache server. I can double-click on the HTML file, it works.
But when I query like: localhost/test.html, it does not. My code:
<applet
code="package/ClassName.class"
archive="appletfile.jar">
</applet>
I can able load the jar file by: localhost/appletfile.jar
Html document (in which <applet/> tag is used to deploy an applet) and .jar file must be in the same folder.
<applet code ="package.AppletClassName"
archive = "Sample.jar"
width = "200"
height ="200">
</applet>
I do not know why but when I change the name of *.jar file to lowercase (all lower case), then it works.
yes!!
Applets able to run in Apache PHP server.The applet is loading from server when you called the html file the applet execute in browser and gives the out put.must and should update your java plugin before run the applet in browser.put your entire applet folder in to apache htdocs folder ,then access that applet in browser....!!It will work.I am sure..
All the Best
Only self signed applets are able to access in browser with security other wise applet not execute with security.You have to signed the applet to execute.

Standalone .jar runs great, but when embedded in HTML, framerate drops to 1 fps

I have a single .jar file that I create by using the runnable .jar file export function in Eclipse. This file runs flawlessly when you just download it and run it. Now I'm trying to embed it in an HTML file, but having trouble.
Here is the standalone jar
Here is the page where I attempt to embed the .jar file. I could not make it run on it's own, but If I took the Main.class file from the bin/ directory of my Project and included that too, it almost works.
<html>
<head><title>Voronoi Cells</title></head>
<body>
<applet code="Main.class" archive="Voronoi_Standalone_Local.jar" width="600" Height="500">
</applet>
</body>
</html>
Here is that page online
With this arrangement, in Chrome, the applet shows, but the framerate is only around 1 fps.
It crashes Firefox.
It works fine it Safari!
Who cares what it does in IE.
What is the correct applet tag I should use? I would prefer to reference only the single standalone .jar file if possible. Why is the framerate so bad in Chrome?
Nice one there.
I would suggest adding a frame number counter and displaying it overlaid on the frame.
My guess is that you will find that the update frequency putting the Java frame data inside the page is too low, so you have plenty of updates, but they don't make it to the page.
I would suggest opening a new JFrame and display in that to see if that helps. If yes, then this is a plugin issue to the "hole" in the browser page.

Java applet won't load

I am building a small applet in java. It works fine (really!) when I run it in eclipse as an applet. Problems start when I export it as a jar and than try to load it through an html page.
Here's the html code:
<body>
<applet archive="myJar.jar" width=650 height=850>
</applet>
</body>
Now when I run other jar files in this way they work fine, for example if you view the source page of this niffty demo
<body>
<applet code="org.niffty.Niffty.class" archive="niffty.jar" width=650 height=850>
<param name="file" value="prelude.nif">
</applet>
</body>
Thank you!
You're missing the code attribute in your applet tag. Without it, the browser doesn't know which class in your JAR file is the applet it should display.
You've specified the archive, but no code attribute so the applet runner doesn't know which class to use as the entry point. You have to either specify code or specify the object attribute to give a serialized applet instance - but code is much more likely to be appropriate for you.
See the documentation for the applet tag for more information.

Categories