Solved

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

Posted on 1997-05-07
7
208 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());
}
}

}

0
Comment
Question by:boksi1
  • 3
  • 3
7 Comments
 
LVL 1

Accepted Solution

by:
mlimotte earned 100 total points
Comment Utility
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);
    }

}

0
 
LVL 6

Expert Comment

by:jpk041897
Comment Utility
Edited text of question
0
 

Author Comment

by:boksi1
Comment Utility
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

0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

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

Author Comment

by:boksi1
Comment Utility
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);

 ...

0
 
LVL 1

Expert Comment

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


0
 
LVL 1

Expert Comment

by:mlimotte
Comment Utility
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!!

0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

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…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This video teaches viewers about errors in exception handling.

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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now