We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

input string to form url to read a file from a server

boksi1
boksi1 asked
on
Medium Priority
244 Views
Last Modified: 2010-04-16
I have been trying to write an applet which allows the user to input 4 digits and take the input string to form a url
with it.
         I have an applet which can get a file from the server and one which can echo user input but I am stuck.
     
        The url is http://abcdefg/hijkl/m_nnnn.txt 
The user is to input "nnnn" and my applet is supposed to
form the url and display the file in their browser.
I have tried to combime these two programs but the  getfile
program is not quite right because it depends upon having an url in the applettag
The textfield program merely echos the user input.
I want to take that input and then form the url to read the file. Can anyone please help me. Thank you. Joseph Ruisi
        the code to echo user input is -
import java.awt.*;

public class TextFieldTest extends java.applet.Applet {

public void init() {
   
       MyTextField text = new MyTextField();
     add(text);
    }
 }
  class MyTextField extends TextField {
   
       public MyTextField() {
   super("Type Your Text",20);
}
}
and the program to get the file is

import java.awt.*;
import java.net.*;
import java.io.*;


public class getFile extends java.applet.Applet {

TextArea text;
String URLString;

public void init() {
URLString = getParameter("url");
setLayout(new BorderLayout());
}

public void start() {
text = new TextArea();

add("Center",text);
add("South", new Button("press"));
try {
int nread;
byte buffer[] = new byte[1024];
URL url = new URL(URLString);
InputStream is = url.openStream();
while ((nread = is.read (buffer)) > 0) {
text.appendText(new String(buffer, 0));
}
}
catch (Exception exp) {
text.setText("Cannot Load: " + URLString  + "\n" + exp.toString());
}
}

}

Comment
Watch Question

Commented:
You only need one applet... something like the following, should do what you are asking for.  You may also want to add code to restrict what is entered into the TextArea.


import java.awt.*;
import java.net.*;
import java.io.*;

public class getFile extends java.applet.Applet {
   
    TextArea text       = new TextArea();
    Button   btnOk      = new Button("Ok");
    String   server     = "abcdefg",
             url_prefix = "/hijkl/m_",
             url_suffix = ".txt";

    public void init() {
        setLayout(new BorderLayout());
        add("Center",text);
        add("South", btnOk);
    }
   
    public boolean action(Event event, Object what) {
        if (event.target == btnOk)
        {
   
            try {
                URL url = new URL ("http", server,
                    url_prefix + text.getText() + url_suffix);
                getAppletContext.showDocument(url);
            }
            catch (Exception exp) {
                text.setText("Cannot Load");
            }
   
            return true;
        }
        else
            return super.action(event, what);
    }

}

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Edited text of question

Author

Commented:
Yes First and simply thank you - your approach in one applet is straightforward and I think I understand it. I apologize for my ignorance, but when I compile it in JDK1.1.1 I get,
...undefined variable or class name; getAppletContext
the statement which is flagged is
    try {
                      URL url = new URL ("http", server,
                      url_prefix + text.getText() + url_suffix);
              ----->  getAppletContext.showDocument(url);
                      }
I would like to eliminate this error, I agree with your single applet design, truly portable, and neat. Can you help with the compile message- I really want to test this - it is a pleasure to
talk with someone as knowledgeable as yourself amd I am grateful for your help. I want to use this if I can eliminate the compiler message. Thank you. Yours truly, Joseph Ruisi

Author

Commented:
Yes I am hoping that mlimotte will add a further comment
and I can eliminate the compiler error. Thanks so much, Joseph Ruisi

Author

Commented:
Sorry, that was my fault.  getAppletContext is a method, not a property of Applet.  Therefore it should be accessed with () as in:

 ...

URL url = new URL ("http", server,                         url_prefix + text.getText() + url_suffix);
getAppletContext().showDocument(url);

 ...

Commented:
I left the () out of the original code.  Simply add the parens () after the word getAppletContext and before the period.


Commented:
Yes - getFile has compiled successfully and I will be testing it
Thank you for the help- I am now on the right track-
Mlimotte- THANK YOU!!

Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.