Plugins and Java

Posted on 1998-12-04
Last Modified: 2013-11-23
I have some questions about plugi-ns:

1. Is it possble to code plug-ins with Java?

2. Do I have to make different versions of my plug-in for IE and NS browsers?

3. Can you give me some pointers to resources about plug-in programming.
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 16

Expert Comment

ID: 1228752
what is plugin ?

Author Comment

by:Christoffer Swanström
ID: 1228753
Plug-ins are programs that enable web browsers to handle data types that it cannot natively handle. Examples are Shockwave, RealPlayer and Acrobat.

Author Comment

by:Christoffer Swanström
ID: 1228754
Edited text of question
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 16

Expert Comment

ID: 1228755
>> Plug-ins are programs that enable web browsers to handle data types that it cannot natively handle.

Plug-ins are web-browser extensions (probably written in their native platform language)
JAva applets are small programs written in platform independent (and browser independend) code. So java applets does not extend browser behaviour, but the HTML code itself. If your clients have Java enabled browser they can use all kinds of applets. Some applets may render PDF files, other applets can act as news group readers or even participate in real-time  multiplayer games ...

applets are much more than simple browser extensions

>> 2. Do I have to make different versions of my APPLET for IE and NS browsers?
no you write only one version of the applet and every Java enabled browser will handle it.

3. Can you give me some pointers to resources about APPLET programming.

Author Comment

by:Christoffer Swanström
ID: 1228756
Yes, the difference between Java applets, applications and browser plug-ins are all crystal clear to me.

What I'm interested in is _plug-ins_, mind you. I'm just trying to find out if there is anything that stops me from writing the plug-in in Java instead of C/C++. Also I'm interested in the differences between plug-ins for Navigator and Explorer, ie. do I have to put in a considerable amount of extra work to get the plug-in work in both browsers. I would like to somehow assess the amount of work needed for a plug-in before actually starting the project.


Expert Comment

ID: 1228757
Here is the Procedure for using Java Plugin (I have used a Jar file in this example and will be signing the Jar file using javakey ) . The plugin will work both for Netscape and IE .

you can find more information at the javasoft site

1. Create a JAR file to archive your class files: use the jar tool from the JDK.
All your applet's files have to be located in a single directory, or in subdirectories of that directory.
From within the applet's main directory, use the command:
> jar cvf myjarfile.jar *.class images
to create a new JAR archive (myjarfile.jar) with all the class files and the subdirectory images.

JavaSoft Resources: jar - The Java archive tool


2. Modify the applet tag that refers to your applet to preload the JAR file.
Add the ARCHIVE field in your HTML file as follows:
<APPLET CODE=applet_name ARCHIVE=archive_name> ... </APPLET>

JavaSoft Resources: jar Guide


3. Sign the JAR file: use the javakey tool from the JDK.
The javakey tool handles the creation and management of identities, public and private keys, and certificates.
To be able to sign your JAR file, you first need to get a certificate: you can either buy one ( or make one using javakey.

JavaSoft Resources: Using javakey

3.1 Create an identity in the identity database:
> javakey -cs "myName" true

3.2 Generate DSA key pair (public and private) for the identity:
> javakey -gk "myName" DSA 512 my_pub my_priv

3.3 Create a certificate directive file using your preferred editor and save it as a text file (myNameCertDir.txt).
This file contains critical arguments for creating the certificate: = myName
issuer.cert = 1 = myName = myName = My Comany = Company = USA = 1 Jan 1998 = 1 Jan 2000
serial.number = 1001
out.file = myNamecert.cer (file where to output the certificate - optional)

3.4 Generate a certificate:
> javakey -gc myNameCertDir.txt

3.5 Create a signing directive file using your preferred editor and save it as a text file(myNameSignDir.txt):
signer = myName
cert = 1
chain = 0 (always set to 0 in JDK 1.1)
signature.file = myNameSig

3.6 Sign the JAR archive:
> javakey -gs  myNameSignDir.txt myjarfile.jar


4. Install the Java Plug-in 1.1.1 from Sun
Netscape Navigator (Communicator) and Microsoft Internet Explorer 4.0 still do not support the Java Platform 1.1 to full extent like the security features.  To launch a signed applet from your favorite browser, you need to install the Java Plug-in 1.1.1 from JavaSoft.  This Plug-in allows users to specify an alternative JVM which can then be used instead of the browser's in-built virtual machine.

For documentation and free download, check the Plug-in web site:

After installation, make sure that the file NPJava32.DLL is correctly installed in the Plugins directory of Netscape Navigator and Internet Explorer.


5. Convert your HTML file for the Java Plug-in 1.1.1
You need to modify your HTML file in order for the browsers to detect the request for the Plug-in to be executed.
Along with the Java Plug-in 1.1.1, Sun also provides a free tool that will automate the required changes in your HTML file: the HTML Converter.
This tool is free for download from the Plug-in web site:

Example - Applet code before modification:
<applet archive="Counter.jar" code="Counter.class" width="600" height="300">

Example - Applet code after modification (for Internet Explorer and Netscape Navigator):

(<object> tag for Internet Explorer)
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="600" HEIGHT="300" codebase=",1,1,0">
<param name="CODE" value="Counter.class">
<param name="ARCHIVE" value="Counter.jar">
<param name="type" value="application/x-java-applet;version=1.1">

(<embed> tag for Netscape Navigator)
<embed type="application/x-java-applet;version=1.1"
WIDTH="600" HEIGHT="300"


<APPLET CODE = "Counter.class" ARCHIVE = "Counter.jar" WIDTH = "600" HEIGHT = "300" >



LVL 16

Expert Comment

ID: 1228758
... and maybe you are interested in writing plug-ins for Windows, Macintosh, Solaris etc.
plug-ins for a particular browser are programs written i native platform language that support some kind of (native) plug-in protocol
trying to write in a Java program that will support some native plug-in protocol is not an easy task (if possible). Java is designed for writing cross-platform applications (and applets) - not extensions to native once ....
if you really want to write plug-ins - not applets (which is the better choice) you'd better post this question on the "browsers" forum.

hope this helps

LVL 16

Expert Comment

ID: 1228759
and if you really want to write plug-ins in Java instead of C/C++ you sure need to use Microsoft J++ (so that you can access Win platform)

(note: Microsoft J++ is not Java ...)

Author Comment

by:Christoffer Swanström
ID: 1228760
Sorry, but this really isn't the information I was looking for. Once again, what I'm going to do is write a plug-in and I just want to know if I can do it with Java or do I have to use C/C++. Netscape at least has an SDK for C/C++. Also, I'd like to know if there are any major differences in implementing a plug-in for Microsoft Internet Explorer and Netscape Navigator.

Please read the question and understand what I'm looking for before answering.
LVL 16

Accepted Solution

heyhey_ earned 80 total points
ID: 1228761
    1. Is it possble to code plug-ins with Java?
plug-ins for Windows version of NN  / IE ? No - that is not possible (or maybe possible, but MUCH TOO HARD - that is almost impossible)

    2. Do I have to make different versions of my plug-in for IE and NS browsers?
if you can use only ActiveX (which is NOT plug-in) - no. Generally you need different plug-in versions for both browsers.

    3. Can you give me some pointers to resources about plug-in programming.
please ask this question at the "Browser Forum"

hope this helps

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
maven module vs maven project 3 73
Bot application - advice 3 60
web project error add remove 1 51
What browser will run Java? 7 125
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
The viewer will learn how to implement Singleton Design Pattern in Java.

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question