Solved

Load an new HTML-page with Java

Posted on 1997-09-22
1
220 Views
Last Modified: 2010-05-18
Hallo,
I have built a java applet, where a user must fill out some fields. Then the user can press a button in the applet and the fields will be submit to a cgi-program. This cgi-prgram will be send back an new HTML-page. And this is my question: What must I do, do bring back this new site into the user-browser.
0
Comment
Question by:gans
1 Comment
 
LVL 1

Accepted Solution

by:
fadl earned 100 total points
ID: 1227278
You have to just two things:
1) to write the selection applet that show()'s URL of 2)
2) write cgi script that generates new HTML page.

As for 1) this is some example how to do this:
Note that the only important place to look at is the
show(url) // lines

-------------------------------------------------------------
import java.applet.*;
import java.awt.*;
import java.net.URL;
import java.net.MalformedURLException;

public class ShowDocument extends Applet {
    URLWindow urlWindow;

    public void init() {
        Button button = new Button("Bring up URL window");
        add(button);
        validate();

        urlWindow = new URLWindow(getAppletContext());
        urlWindow.pack();
    }

    public void destroy() {
        urlWindow.hide();
        urlWindow = null;
    }

    public boolean action(Event event, Object o) {
        urlWindow.show();
        return true;
    }
}

class URLWindow extends Frame {
    TextField urlField;
    Choice choice;
    AppletContext appletContext;

    public URLWindow(AppletContext appletContext) {
        super("Show a Document!");

        this.appletContext = appletContext;

        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints c = new GridBagConstraints();
        setLayout(gridBag);

        Label label1 = new Label("URL of document to show:", Label.RIGHT);
        gridBag.setConstraints(label1, c);
        add(label1);

        urlField = new TextField("http://java.sun.com/", 40);
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1.0;
        gridBag.setConstraints(urlField, c);
        add(urlField);

        Label label2 = new Label("Window/frame to show it in:", Label.RIGHT);
        c.gridwidth = 1;
        c.weightx = 0.0;
        gridBag.setConstraints(label2, c);
        add(label2);

        choice = new Choice();
        choice.addItem("(browser's choice)"); //don't specify
        choice.addItem("My Personal Window"); //a window named "My Personal Window"
        choice.addItem("_blank"); //a new, unnamed window
        choice.addItem("_self");
        choice.addItem("_parent");
        choice.addItem("_top"); //the Frame that contained this applet
        c.fill = GridBagConstraints.NONE;
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.anchor = GridBagConstraints.WEST;
        gridBag.setConstraints(choice, c);
        add(choice);

        Button button = new Button("Show document");
        c.weighty = 1.0;
        c.ipadx = 10;
        c.ipady = 10;
        c.insets = new Insets(5,0,0,0);
        c.anchor = GridBagConstraints.SOUTH;
        gridBag.setConstraints(button, c);
        add(button);
    }

    public boolean handleEvent(Event event) {
        if (event.id == Event.WINDOW_DESTROY) {
            hide();
            return true;
        }
        return super.handleEvent(event);
    }

    public boolean action(Event event, Object o) {
        if ((event.target instanceof Button) |
            (event.target instanceof TextField)) {
            String urlString = urlField.getText();
            URL url = null;
            try {
                url = new URL(urlString);
            } catch (MalformedURLException e) {
                System.out.println("Malformed URL: " + urlString);
                return true;
            }

            if (url != null) {
                if (choice.getSelectedIndex() == 0) {
                    appletContext.showDocument(url);
                } else {
                    appletContext.showDocument(url, choice.getSelectedItem());
                }
            }
        }
        return true;
    }
}
-------------------------------------------------------------

As for 2)
Generate new HTML page by simply writting it to Syste.out, e.g

System.out.println("Content-type: text/html");
System.out.println(""); // empty line required
System.out.println("<HTML>");
System.out.println("you page goes here");
System.out.println("</HTML>");

Hope it helped
Michal




0

Featured Post

ScreenConnect 6.0 Free Trial

Explore all the enhancements in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
HSSFWorkbook cannot be resolved error 10 72
tomcat startup error 5 66
null output 3 25
login form jsp example 2 26
For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

832 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