Java 中文官方教程 2022 版(十一)(3)

简介: Java 中文官方教程 2022 版(十一)

Java 中文官方教程 2022 版(十一)(2)https://developer.aliyun.com/article/1486354

将核心功能与最终部署机制分离的好处

另一种创建 applet 的方法是只需移除抽象层(单独的顶部JPanel)并在 applet 的init方法中布置所有控件。直接在 applet 中创建 GUI 的缺点是,如果以后选择将功能部署为 Java Web Start 应用程序,则现在将更难部署您的功能。

在动态树演示示例中,核心功能位于DynamicTreePanel类中。现在,将DynamicTreePanel类放入JFrame并部署为 Java Web Start 应用程序变得轻而易举。

因此,为了保持可移植性并保持部署选项开放,请按照本页描述的基于组件的设计。

下载源代码以进一步实验动态树演示程序示例。

部署一个 Applet

译文:docs.oracle.com/javase/tutorial/deployment/applet/deployingApplet.html

要部署您的 Java applet,首先编译源代码,将其打包为 JAR 文件,并对 JAR 文件进行签名。

Java applet 可以以两种方式启动。

  • 您可以使用 Java 网络启动协议(JNLP)启动您的 applet。使用 JNLP 启动的 applet 可以访问强大的 JNLP API 和扩展。
  • 或者,您可以通过直接在 applet 标记中指定 applet 的启动属性来启动 applet。然而,这种部署 applet 的旧方法对 applet 施加了严格的安全限制。

部署工具包脚本包含可用于在网页中部署 applet 的有用 JavaScript 函数。

如果您对这些部署技术不熟悉,请在继续之前查看 深入部署 课程。

以下是一些逐步说明,用于打包和部署您的 applet。Dynamic Tree Demo applet 用于说明 applet 的部署。您可能希望设置构建脚本来执行以下一些步骤。

//


注意: 如果您看不到示例运行,请确保在浏览器中启用 JavaScript 解释器,以便部署工具包脚本能够正常运行。


  1. 编译您的 applet 的 Java 代码,并确保所有类文件和资源(如图像)位于单独的目录中。
    在 DynamicTree Demo applet 的情况下,编译后的类文件将放置在 build/classes/appletComponentArch 目录中。
  2. 创建一个包含您的 applet 需要的任何 JAR 文件清单属性的文本文件。
    对于 DynamicTree Demo applet,创建一个名为 mymanifest.txt 的文件在 build/classes 目录中,并添加 PermissionsCodebaseApplication-Name 属性。该 applet 不需要访问用户系统资源,因此对于权限使用 sandbox。对于代码库,使用您将加载示例的域,例如 myserver.com。将以下属性添加到 mymanifest.txt 文件中。
Permissions: sandbox
Codebase: myserver.com
Application-Name: Dynamic Tree Demo
  1. 其他清单属性可用于限制 applet 仅使用受信任的代码,并为需要在特权 Java 代码和沙箱 Java 代码之间进行调用,或者具有调用 applet 的 JavaScript 代码的 applet 提供安全性。请参阅 使用清单属性增强安全性 课程以了解更多可用的清单属性。
  2. 创建一个包含您 applet 的类文件和资源的 JAR 文件。在您之前创建的 mymanifest.txt 文件中包含清单属性。
    例如,以下命令将创建一个 JAR 文件,其中包含 build/classes/appletComponentArch 目录中的类文件和 build/classes 目录中的清单文件。
% cd build/classes
% jar cvfm DynamicTreeDemo.jar mymanifest.txt appletComponentArch
  1. 参阅 在 JAR 文件中打包程序 课程,了解有关创建和使用 JAR 文件的更多信息。
  2. 为您的 applet 签署 JAR 文件并为签名加上时间戳。使用由受信任的证书颁发机构颁发的有效的当前代码签名证书,向用户提供确保可以安全运行 applet 的保证。
    请参阅 签署 JAR 文件 课程以获取更多信息。
    如果您想要使用签名的 JNLP 文件以确保安全性,请按照下一步中描述的方式创建 JNLP 文件,并在签名 JAR 文件之前将其包含在 JAR 文件中。有关详细信息,请参阅 Java 平台标准版部署指南中的 签名的 JNLP 文件
  3. 创建描述您的 applet 应如何启动的 JNLP 文件。
    这是用于启动动态树演示 applet 的 JNLP 文件。
    dynamictree_applet.jnlp 的源代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>Dynamic Tree Demo</title>
        <vendor>Dynamic Team</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.7+"
            href="http://java.sun.com/products/autodl/j2se" />
        <jar href="DynamicTreeDemo.jar" main="true" />
    </resources>
    <applet-desc 
         name="Dynamic Tree Demo Applet"
         main-class="components.DynamicTreeApplet"
         width="300"
         height="300">
     </applet-desc>
     <update check="background"/>
</jnlp>   
  1. 请注意,JNLP 文件中不存在请求额外权限的安全元素,因此 applet 仅在安全沙箱中运行。
    主题,JNLP 文件的结构,描述了 JNLP 文件的语法和选项。
  2. 创建将显示 applet 的 HTML 页面。调用部署工具包函数以部署 applet。
    在我们的示例中,动态树演示 applet 部署在 AppletPage.html 中。
<body>
    <!-- ... -->
    <script src="https://www.java.com/js/deployJava.js"></script>
    <script> 
        var attributes = {
            code:'components.DynamicTreeApplet',  width:300, height:300} ; 
        var parameters = {jnlp_href: 'dynamictree_applet.jnlp'} ; 
        deployJava.runApplet(attributes, parameters, '1.7'); 
    </script>
    <!-- ... -->
</body>
  1. 将 applet 的 JAR 文件、JNLP 文件和 HTML 页面放置在适当的文件夹中。
    对于此示例,请将 DynamicTreeDemo.jardynamictree_applet.jnlpAppletPage.html 放置在本地计算机或 Web 服务器上的同一目录中。建议使用 Web 服务器。要从本地计算机运行,必须将应用程序添加到例外站点列表中,该列表可从 Java 控制面板的安全选项卡中管理。
  2. 在浏览器中打开 applet 的 HTML 页面以查看 applet。在提示时同意运行 applet。检查 Java 控制台日志以查看错误和调试消息。

下载源代码 以进一步尝试 动态树演示 applet 示例。

使用 Applet 标签部署

原文:docs.oracle.com/javase/tutorial/deployment/applet/html.html

如果您不确定最终用户的浏览器是否启用了 JavaScript 解释器,您可以通过手动编码 HTML 标签来部署您的 Java applet,而不是使用 Deployment Toolkit 函数。根据您需要支持的浏览器,您可能需要使用 HTML 标签来部署您的 Java applet。查看W3C HTML 规范以获取有关这些标签的使用详情。

您可以使用 Java 网络启动协议(JNLP)启动您的 applet,或者直接在 标签中指定启动属性。

部署准备

按照部署 applet 主题中描述的步骤编译您的源代码,创建并签名 JAR 文件,如有必要创建 JNLP 文件。部署的整体步骤仍然相关。只有包含 applet 的 HTML 页面的内容会发生变化。

手动编码 Applet 标签,使用 JNLP 启动

AppletPage_WithAppletTag.html 页面使用手动编码的 标签部署了 Dynamic Tree Demo applet(意味着该 applet 不是使用自动生成所需 HTML 的 Deployment Toolkit 部署的)。该 applet 仍然使用 JNLP 启动。JNLP 文件在 jnlp_href 属性中指定。

<applet code = 'appletComponentArch.DynamicTreeApplet' 
        jnlp_href = 'dynamictree_applet.jnlp'
        width = 300
        height = 300 />

手动编码 Applet 标签,无需使用 JNLP 启动

使用 JNLP 是部署 applet 的首选方式,但您也可以在没有 JNLP 文件的情况下部署您的 applet。

AppletPage_WithAppletTagNoJNLP.html 部署了 Dynamic Tree Demo applet,如下面的代码片段所示。

<applet code = 'appletComponentArch.DynamicTreeApplet' 
    archive = 'DynamicTreeDemo.jar'
    width = 300
    height = 300>
    <param name="permissions" value="sandbox" />
</applet>

其中

  • code 是 applet 类的名称。
  • archive 是包含 applet 及其资源的 jar 文件的名称。
  • width 是 applet 的宽度。
  • height 是 applet 的高度。
  • permissions 表示 applet 是否在安全沙箱中运行。将值指定为"sandbox"以在沙箱中运行。将值指定为"all-permissions"以在沙箱外运行。如果未提供 permissions 参数,则签名的 applet 默认为"all-permissions",未签名的 applet 默认为"sandbox"。

进一步使用小程序

原文:docs.oracle.com/javase/tutorial/deployment/applet/doingMoreWithApplets.html

Java 小程序 API 使您能够充分利用小程序与浏览器之间的密切关系。该 API 由javax.swing.JApplet类和java.applet.AppletContext接口提供。小程序执行架构使小程序能够与其环境交互,从而产生丰富的用户体验。小程序可以操纵其父网页,与网页中的 JavaScript 代码交互,查找在同一网页中运行的其他小程序等等。

探索 Java 小程序的高级功能在后续主题中。

有关常见小程序和 Java Web 启动应用程序的高级主题的进一步信息,请参阅使用 Java 丰富互联网应用程序做更多事情(例如设置参数和属性,使用 Java 网络启动协议 API)。

查找和加载数据文件

原文:docs.oracle.com/javase/tutorial/deployment/applet/data.html

每当 Java applet 需要从指定了相对 URL 的文件加载数据(指定了文件位置但不完全指定的 URL),applet 通常使用代码库或文档库来形成完整的 URL。

JAppletgetCodeBase 方法返回的代码库是一个 URL,指定了 applet 的类加载的目录。对于本地部署的 applet,getCodeBase 方法返回 null。

JAppletgetDocumentBase 方法返回的文档库指定包含 applet 的 HTML 页面的目录。对于本地部署的 applet,getDocumentBase 方法返回 null。

除非 标签指定了代码库,否则代码库和文档库都指向同一服务器上的同一目录。

applet 可能需要的数据,或者需要依赖的备份数据,通常相对于代码库指定。通常由 applet 开发人员指定的数据,通常通过使用参数指定,通常相对于文档库指定。


**注意:**出于安全原因,浏览器限制了不受信任的 applet 可以读取的 URL。例如,大多数浏览器不允许不受信任的 applet 使用 “…” 访问代码库或文档库上面的目录。此外,由于不受信任的 applet 不能读取除了位于 applet 源主机上的文件之外的文件,因此如果文档和不受信任的 applet 位于不同的服务器上,则文档库通常是无用的。


JApplet 类定义了方便的图像加载和声音加载方法,使您能够相对于基本 URL 指定图像和声音。例如,假设 applet 设置为以下图中显示的其中一个目录结构。

要创建一个使用 imgDir 下的 a.gif 图像文件的 Image 对象,applet 可以使用以下代码:

Image image = getImage(getCodeBase(), "imgDir/a.gif");

定义和使用 Applet 参数

原文:docs.oracle.com/javase/tutorial/deployment/applet/param.html

参数对于 Java applet 就像命令行参数对于应用程序一样重要。它们使用户能够自定义 applet 的操作。通过定义参数,你可以增加 applet 的灵活性,使其在多种情况下工作而无需重新编码和重新编译。

指定 Applet 的输入参数

你可以在 applet 的 Java 网络启动协议(JNLP)文件或 标签的 元素中指定 applet 的输入参数。通常最好在 applet 的 JNLP 文件中指定参数,这样即使 applet 部署在多个网页上,参数也可以一致提供。如果 applet 的参数会因网页而异,则应在 标签的 元素中指定参数。

如果你对 JNLP 不熟悉,请查看 Java 网络启动协议 主题获取更多信息。

考虑一个需要三个参数的 applet。paramStrparamInt 参数在 applet 的 JNLP 文件中指定,applettakesparams.jnlp

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <!-- ... -->
    <applet-desc
         name="Applet Takes Params"
         main-class="AppletTakesParams"
         width="800"
         height="50">
             <param name="paramStr"
                 value="someString"/>
             <param name="paramInt" value="22"/>
     </applet-desc>
     <!-- ... -->
</jnlp>

paramOutsideJNLPFile 参数在传递给部署工具包脚本的 runApplet 函数的 parameters 变量中指定在 AppletPage.html

<html>
  <head>
    <title>Applet Takes Params</title>
    <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
  </head>
  <body>
    <h1>Applet Takes Params</h1>
    <script
      src="https://www.java.com/js/deployJava.js"></script>
    <script>
        var attributes = { code:'AppletTakesParams.class',
            archive:'applet_AppletWithParameters.jar',
            width:800, height:50 };
        var parameters = {jnlp_href: 'applettakesparams.jnlp',
            paramOutsideJNLPFile: 'fooOutsideJNLP' };
        deployJava.runApplet(attributes, parameters, '1.7');
    </script>
  </body>
</html>

查看 部署 Applet 获取有关 runApplet 函数的更多信息。

检索 Applet 的输入参数

你可以使用 Applet 类的 getParameter 方法来检索 applet 的输入参数。AppletTakesParams.java applet 检索并显示其所有输入参数(paramStrparamIntparamOutsideJNLPFile)。

import javax.swing.JApplet;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;
public class AppletTakesParams extends JApplet {
    public void init() {
        final String  inputStr = getParameter("paramStr");        
        final int inputInt = Integer.parseInt(getParameter("paramInt"));
        final String inputOutsideJNLPFile = getParameter("paramOutsideJNLPFile");
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    createGUI(inputStr, inputInt, inputOutsideJNLPFile);
                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't successfully complete");
        }
    }
    private void createGUI(String inputStr, int inputInt, String inputOutsideJNLPFile) {
        String text = "Applet's parameters are -- inputStr: " + inputStr +
                ",   inputInt: " + inputInt +
                ",   paramOutsideJNLPFile: " + inputOutsideJNLPFile;
        JLabel lbl = new JLabel(text);
        add(lbl);
    }
}

下面显示了 AppletTakesParams applet。

//


注意: 如果你看不到 applet 运行,你需要安装至少 Java SE Development Kit (JDK) 6 update 10 版本。



注意: 如果你看不到示例运行,可能需要在浏览器中启用 JavaScript 解释器,以便部署工具包脚本能够正常运行。


下载源代码 以进一步进行实验。

显示短状态字符串

原文:docs.oracle.com/javase/tutorial/deployment/applet/showStatus.html

所有浏览器都允许 Java applets 显示一个简短的状态字符串。页面上的所有 Java applets 以及浏览器本身共享同一状态行。

永远不要将关键信息放在状态行中。如果许多用户可能需要该信息,请在 applet 区域内显示该信息。如果只有少数精通的用户可能需要该信息,请考虑将信息发送到标准输出(参见将诊断信息写入标准输出和错误流)。

状态行通常不太显眼,并且可能被其他 applets 或浏览器覆盖。因此,最好将其用于偶发的、短暂的信息。例如,一个加载多个图像文件的 applet 可能会显示当前正在加载的图像文件的名称。

Applets 使用showStatus方法显示状态行,该方法从Applet类继承到JApplet类。

这里是其使用示例:

showStatus("MyApplet: Loading image file " + file);

注意: 不要在状态行中放置滚动文本。浏览器用户会觉得这种行为非常恼人。


在浏览器中显示文档

原文:docs.oracle.com/javase/tutorial/deployment/applet/browser.html

一个 Java 小程序可以使用 java.applet.AppletContext 类中的 showDocument 方法在浏览器窗口中加载网页。

以下是 showDocument 的两种形式:

public void showDocument(java.net.URL *url*)
public void showDocument(java.net.URL *url*, String *targetWindow*)

showDocument 的单参数形式简单地指示浏览器显示指定 URL 的文档,而不指定显示文档的窗口。

showDocument 的双参数形式允许您指定显示文档的窗口或 HTML 框架。第二个参数可以有以下值之一:

  • "_blank" – 在一个新的、无名称的窗口中显示文档。
  • "*windowName*" – 在名为 windowName 的窗口中显示文档。如有必要,将创建此窗口。
  • "_self" – 在包含小程序的窗口和框架中显示文档。
  • "_parent" – 在小程序框架的父框架中显示文档。如果小程序框架没有父框架,则与 "_self" 相同。
  • "_top" – 在顶层框架中显示文档。如果小程序框架是顶层框架,则与 "_self" 相同。

注意: 在这个讨论中,frame 指的不是一个 Swing JFrame,而是浏览器窗口内的 HTML 框架。


以下小程序使您可以尝试 showDocument 两种形式的每个参数。该小程序打开一个窗口,让您输入 URL 并选择 targetWindow 参数的选项。当您按下 Return 键或点击显示文档按钮时,小程序调用 showDocument

//


注意: 如果您看不到示例运行,可能需要在浏览器中启用 JavaScript 解释器,以便部署工具包脚本能够正常运行。


以下是调用 showDocument 的小程序代码。这是整个程序,ShowDocument

*...//In an Applet subclass:*
        urlWindow = new URLWindow(getAppletContext());
        . . .
class URLWindow extends Frame {
    ...
    public URLWindow(AppletContext appletContext) {
        ...
        this.appletContext = appletContext;
        ...
    }
    ...
    public boolean action(Event event, Object o) {
        ...
            String urlString =
                */* user-entered string */*;
            URL url = null;
            try {
                url = new URL(urlString);
            } catch (MalformedURLException e) {
                *...//Inform the user and return...*
            }
            if (url != null) {
                if (*/* user doesn't want to specify
                           the window */*) {
                    appletContext.showDocument(url);
                } else {
                    appletContext.showDocument(url,
                        */* user-specified window */*);
                }
            }
        ...

下载源代码 以进一步尝试 Show Document 示例。

从小程序调用 JavaScript 代码

原文:docs.oracle.com/javase/tutorial/deployment/applet/invokingJavaScriptFromApplet.html

Java 小程序可以调用与小程序在同一网页中的 JavaScript 函数。LiveConnect 规范描述了 JavaScript 代码如何与 Java 代码通信的详细信息。

netscape.javascript.JSObject类使 Java 小程序能够检索对 JavaScript 对象的引用并与网页交互。接下来描述的数据摘要小程序调用 JavaScript 代码从网页中检索信息,并将数据摘要写回网页。

假设您有一个带有几个 JavaScript 函数的网页。示例AppletPage.html具有用于检索年龄、地址和电话号码的 JavaScript 函数。还有一个名为userName的变量,一开始没有值。

<head>
<title>Data Summary Applet Page - Java to JavaScript LiveConnect</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<script language="javascript">
    var userName = "";
    // returns number
    function getAge() { 
        return 25;
    }
    // returns an object
    function address() { 
        this.street = "1 Example Lane";
        this.city = "Santa Clara";
        this.state = "CA";
    }
    // returns an array
    function getPhoneNums() { 
        return ["408-555-0100", "408-555-0102"];
    } 
    function writeSummary(summary) {
        summaryElem =
            document.getElementById("summary");
        summaryElem.innerHTML = summary;
    }
    </script>
    <!-- ... -->      
</head>
<body>
    <script src =
      "https://www.java.com/js/deployJava.js"></script>
    <script> 
        <!-- ... -->
        deployJava.runApplet(attributes, parameters, '1.6'); 
    </script>          
    <!-- ... -->
    <p id="summary"/>  // this HTML element contains
                             // the summary 
    <!-- ... -->
</body>


Java 中文官方教程 2022 版(十一)(4)https://developer.aliyun.com/article/1486356

相关文章
|
9天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
【4月更文挑战第21天】本文介绍了Selenium中处理特殊测试场景的方法,如鼠标悬停。Selenium的Actions类提供了鼠标悬停功能,用于模拟用户在网页元素上的悬停行为。文中通过实例展示了如何使用Actions悬停并展开下拉菜单,以及在搜索时选择自动补全的字段。代码示例包括了打开百度首页,悬停在“更多”元素上显示下拉菜单并点击“音乐”,以及在搜索框输入关键词并自动补全的过程。
33 0
|
2天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
【4月更文挑战第28天】本文简要介绍了自动化测试的实战应用,通过一个在线问卷调查(&lt;https://www.sojump.com/m/2792226.aspx/&gt;)为例,展示了如何遍历并点击问卷中的选项。测试思路包括找到单选和多选按钮的共性以定位元素,然后使用for循环进行点击操作。代码设计方面,提供了Java+Selenium的示例代码,通过WebDriver实现自动答题。运行代码后,可以看到控制台输出和浏览器的相应动作。文章最后做了简单的小结,强调了本次实践是对之前单选多选操作的巩固。
10 0
|
2天前
|
Java 测试技术 项目管理
Java基础教程(22)-构建工具Maven的基本使用
【4月更文挑战第22天】Maven是Java项目管理及构建工具,简化构建、测试、打包和部署等任务。遵循约定优于配置原则,核心是`pom.xml`配置文件,用于管理依赖和项目信息。安装涉及下载、解压、配置环境变量。在IDEA中使用Maven创建项目,通过`pom.xml`添加依赖和管理版本。常用命令包括`clean`、`compile`、`test`、`package`、`install`和`deploy`。IDEA支持直接执行这些命令。
|
2天前
|
NoSQL Java 关系型数据库
Java基础教程(21)-Java连接MongoDB
【4月更文挑战第21天】MongoDB是开源的NoSQL数据库,强调高性能和灵活性。Java应用通过MongoDB Java驱动与之交互,涉及MongoClient、MongoDatabase、MongoCollection和Document等组件。连接MongoDB的步骤包括:配置连接字符串、创建MongoClient、选择数据库和集合。伪代码示例展示了如何建立连接、插入和查询数据。
|
3天前
|
存储 前端开发 测试技术
《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
【4月更文挑战第27天】本文介绍了使用Java+Selenium进行Web自动化测试时,如何遍历和操作多选按钮的方法。文章分为两个部分,首先是一个本地HTML页面的示例,展示了多选按钮的HTML代码和页面效果,并详细解释了遍历多选按钮的思路:找到所有多选按钮的共同点,通过定位这些元素并放入list容器中,然后使用for循环遍历并操作。 第二部分介绍了在JQueryUI网站上的实战,给出了被测网址,展示了代码设计,同样使用了findElements()方法获取所有多选按钮并存储到list中,然后遍历并进行点击操作。最后,文章对整个过程进行了小结,并推荐了作者的其他自动化测试教程资源。
11 0
|
3天前
|
Java 关系型数据库 MySQL
Java基础教程(20)-Java连接mysql数据库CURD
【4月更文挑战第19天】MySQL是流行的关系型数据库管理系统,支持SQL语法。在IDEA中加载jar包到项目类路径:右击项目,选择“Open Module Settings”,添加库文件。使用JDBC连接MySQL,首先下载JDBC驱动,然后通过`Class.forName()`加载驱动,`DriverManager.getConnection()`建立连接。执行CRUD操作,例如创建表、插入数据和查询,使用`Statement`或`PreparedStatement`,并确保正确关闭数据库资源。
|
4天前
|
设计模式 算法 Java
Java基础教程(19)-设计模式简述
【4月更文挑战第19天】设计模式是软件设计中反复使用的代码设计经验,旨在提升代码的可重用性、可扩展性和可维护性。23种模式分为创建型、结构型和行为型三类。创建型模式如工厂方法、抽象工厂、建造者、原型和单例,关注对象创建与使用的分离。结构型模式涉及对象组合,如适配器、装饰器、外观等,增强结构灵活性。行为型模式专注于对象间职责分配和算法合作,包括责任链、命令、观察者等。设计模式提供标准化解决方案,促进代码交流和复用。
|
5天前
|
前端开发 测试技术 Python
《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)
【4月更文挑战第25天】本文介绍了自动化测试中如何处理单选和多选按钮的操作,包括它们的定义、HTML代码示例以及如何判断和操作这些元素。文章通过一个简单的HTML页面展示了单选和多选框的示例,并提供了Java+Selenium实现的代码示例,演示了如何检查单选框是否选中以及如何进行全选操作。
11 0
|
5天前
|
网络协议 Java 网络架构
Java基础教程(18)-Java中的网络编程
【4月更文挑战第18天】Java网络编程简化了底层协议处理,利用Java标准库接口进行TCP/IP通信。TCP协议提供可靠传输,常用于HTTP、SMTP等协议;UDP协议则更高效但不保证可靠性。在TCP编程中,ServerSocket用于监听客户端连接,Socket实现双进程间通信。UDP编程中,DatagramSocket处理无连接的数据报文。HTTP编程可以通过HttpURLConnection发送请求并接收响应。
|
6天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)
【4月更文挑战第24天】本文介绍了在自动化测试中处理HTML下拉选择(select)的方法。使用Selenium的Select类,可以通过index、value或visible text三种方式选择选项,并提供了相应的取消选择的方法。此外,文章还提供了一个示例HTML页面(select.html)和相关代码实战,演示了如何使用Selenium进行选择和取消选择操作。最后,文章提到了现代网页中类似下拉框的新设计,如12306网站的出发地选择,并给出了相应的代码示例,展示了如何定位并选择特定选项。
16 0