?
Solved

Load an new HTML-page with Java

Posted on 1997-09-22
1
Medium Priority
?
241 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
[X]
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
1 Comment
 
LVL 1

Accepted Solution

by:
fadl earned 200 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

Technology Partners: 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!

Question has a verified solution.

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

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
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…
Suggested Courses
Course of the Month9 days, 23 hours left to enroll

762 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