问题和练习的答案:Servlets

Questions

  • 问题:Servlets 可以扩展哪些类?

答:Servlets 可以扩展java.applet.Applet类或java.swing.JApplet类。

java.applet.Applet类扩展了java.awt.Panel类,并使您能够使用 AWT 包中的 GUI 工具。

java.swing.JApplet类是java.applet.Applet的子类,它也使您能够使用 Swing GUI 工具。

  • 问题:您使用start()方法是什么?

答案:当小应用程序必须在初始化之后必须执行一个任务,然后再接收用户 Importing 时,才使用start()方法。 start()方法或者执行 applet 的工作,或者(更有可能)启动一个或多个线程来执行该工作。

  • 问题:对或错:Servlets 可以与 Internet 上的任何主机构建网络连接。

答案: 错误 :Servlets 只能连接到它来自的主机。

  • 问题:如何从 applet 的代码中获取 JNLP 文件中指定的参数的值?

答:您使用getParameter("Parameter name")方法,该方法返回参数的 String 值。

  • 问题:哪个类使 applet 能够与 applet 的网页中的 JavaScript 代码进行交互?

答案:netscape.javascript.JSObject类使 applet 能够与 applet 网页中的 JavaScript 代码进行交互。

  • 问题:对或错:Servlets 可以修改父网页的内容。

答: :Applets 可以使用com.sun.java.browser.plugin2.DOM类的getDocument方法和 Common DOM API 来修改父网页的内容。

Exercises

  • 练习:Exercise applet 的父网页具有一个名为memberId的 JavaScript 变量。编写代码以将 Servlets 的start方法中的memberId的值设置为等于“ 123489”。

Answer:

import java.applet.Applet;
import netscape.javascript.*; // add plugin.jar to
                              // classpath during
                              // compilation

public class Exercise extends Applet {
    public void start() {
        try {
            JSObject window =
                JSObject.getWindow(this);
            window.setMember("memberId", "123489");
        } catch (JSException jse) {
            jse.printStackTrace();
        }
    }
}