NetBeans中Web应用的开发

14、深入探索Java Web服务开发:NetBeans的强大应用 本文深入探讨了如何在NetBeans中进行Java Web服务的开发,涵盖了从安装NetBeans企业版、创建Web服务及其客户端、基于WSDL生成服务,到添加消息处理器等关键操作。通过详细步骤和示例代码,帮助开发者快速掌握使用NetBeans和JAX-WS开发高效、健壮的Web服务应用。同时提供了常见问题的解决方法以及代码优化与功能扩展建议,为Java Web服务开发者提供全面的参考。 阅读详情

1.1       第一步:创建Web应用

选择【File】à【New Project】,进入新建工程界面。

在工程类别中选择【Web】,选择工程中的【Web Application】,进入Web工程设置界面。

各输入元素如下:

Project Name:工程的名字,本例使用WebTest。

Project Location:工程的位置,本例使用E:/lxc/idebook。

Server:Web应用的服务器,下拉框中列出了在服务器管理界面中添加的所有服务器,如果要使用其他服务器,可以通过服务器管理界面添加,本例使用默认的GlassFish V2作为服务器。

Java EE Version:Java EE的版本,下拉框中列出了IDE所支持的Java EE的版本,包括Java EE 5、J2EE 1.4和J2EE 1.3。本例选择Java EE 5作为应用所采用的Java EE版本。

Context Path:web应用的上下文,也就是访问web应用的方式,采用默认值即可。

Set as Main Project复选框:选中。

输入完之后,选择【Next】进入下一个界面。在下一个界面中,选择Web应用使用的框架,如果不选择,直接点击【Finish】。生成的工程的目录结构如图所示:

各文件夹说明如下:

u       Web Pages:存放所有的JSP文件、HTML文件等。在开发Web应用过程中,编写的JSP和HTML文件都应该放在这个文件夹中。

u       Configuration Files:存放配置文件,对于Web应用都需要一个配置文件web.xml,对于特定的应用服务器,可能会有相应的配置文件,此处使用GlassFish服务器,对应sun-web.xml配置文件。

u       Source Packages:存放所有的源文件,在应用开发过程中编写的Servlet和JavaBean都应该放在这个文件夹下。

u       Test Packages:存放测试文件。

u       Libraries:存放应用所涉及的类库。

u       Test Libraries:存放测试相关的类库。

1.2       创建包及JavaBean

选择【Source Packages】,点击右键,选择【New】à【Java Packges】,输入包名:com.idebook.web.model,点击【Finish】。

采用同样的过程创建包:com.idebook.web.controller。

创建JavaBean的过程与前面介绍的创建普通Java类的过程没有区别,生成的代码段如下:

文件名:UserBean.java                           备注:通过向导生成的部分代码

/*

 * 用于判断用户是否是合法的用户。

 */

 

package com.idebook.web.model;

 

/**

 *

 * @author 李绪成

 */

public class UserBean {

   

}

在类中添加两个成员变量,语句如下:

    private String username;

    private String userpass;  

 

把两个属性选中,然后点击右键,在弹出式菜单中选择【Refactor】à【Encapsulate Fields…】。如图所示。

之后弹出如图所示界面。

把需要生成的相应的方法前面的复选框选中,然后点击【Refactor】,在类中会生成如下代码:

文件名:UserBean.java                       备注:添加的setter方法和getter方法

 

    public String getUsername() {

        return username;

    }

 

    public void setUsername(String username) {

        this.username = username;

    }

 

 

    public String getUserpass() {

        return userpass;

    }

 

    public void setUserpass(String userpass) {

        this.userpass = userpass;

    }

然后添加业务方法,代码如下:

    public boolean getLogin() {

        return username.equals("zhangsan") && userpass.equals("wangwu");

    }

1.3       创建JSP文件

需要创建两个文件:登录界面和登录之后的界面。前者使用在创建工程的时候生成的index.jsp,后者需要单独创建。

生成的index.jsp文件的代码如下:

文件名:index.jsp

<%--

    文 件 名:index

    创建时间:2008-2-12, 11:10:44

    编 写 者:李绪成

--%>

 

<%@page contentType="text/html" pageEncoding="GB2312"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

 

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=GB2312">

        <title> </title>

    </head>

    <body>

        <h2>欢迎登录</h2>

    </body>

</html>

下面通过IDE提供的功能来编写界面。双击index.jsp文件,会在编辑器中打开该文件,并且会显示“Palette”窗口,“Palette”窗口如下图所示:

注意:如果看不到“Palette”窗口,从主菜单中选择【Window】à【Palette】,或者使用Ctrl+Shift+8。

在这个窗口中列出了常用的HTML标签和JSP标签。

下面完成JSP文件的编写。

u       在<title></title>中添加标题“登录界面”。

u       在<body></body>中添加“<h2>欢迎登录</h2>”

u       添加表单元素:

n         添加Form元素:从右边的中“Palette”窗口,选择HTML Forms类别下的Form,然后拖拽到“<h2>欢迎登录</h2>”的下面,弹出如图所示的窗口。因为没有编写处理文件,只需要把提交方式修改为POST即可。然后点击【OK】,IDE会生成表单的代码。

        <form method="POST">

        </form>

n         添加表格:从右边的 “Palette”窗口中选择HTML类别下面的Table,然后拖拽到“</form>”之前,弹出如图所示的窗口。把行数改为3,把Border Size修改为0,点击【OK】按钮就可以把表格添加到代码中。如果生成的代码格式不好看,可以在编辑器中点击右键,在弹出式菜单中选择【Format】格式化代码。

n         添加用户名输入框:从右边的“Palette”窗口,选择HTML Forms类别下的Text Input,然后拖拽到表格的第一行第二列位置,然后弹出如图所示的界面。在Name输入框中输入“username”,其他的元素采用默认值,注意类型为text,点击【OK】按钮即可。如果需要设置默认值,可以把值写在Initial Value输入框中。

n         采用同样的方法在第二行第二列的位置添加密码框,不同的是输入元素的类型,应该选择password而不是默认的text。

n         添加提交按钮:从右边的“Palette”窗口选择HTML Forms类别下的Button,然后拖拽到表格的第三行第一列的位置。弹出如图所示的界面,然后在Label输入框中输入“登录”,这是显示在按钮上的字。其他采用默认值,注意Type单选按钮的值为“submit”,下面将要添加的重置按钮会选择“reset”。点击【OK】按钮就可以把登录按钮添加到代码中。

n         添加重置按钮:添加过程与添加提交按钮基本相同,在Label输入框中输入“重写”,Type单选按钮选择“reset”即可。

n         删除表头:从“<thead>”开始,到“</thead>”结束的代码。

n         添加输入提示信息:在第一行第一列的位置输入“用户名:”,在第二行第一列的位置输入“口令”。

u       编写登录失败提示信息,如果登录失败则显示登录失败信息,需要使用表准标签库中的判断标签。

n         添加<c:if>标签:从右边的“Palette”窗口选择JSP类别下面的JSTL If标签,然后拖拽到<html>之前,弹出如图所示的界面。在Condition输入框中输入“not empty errorinfo”,其他的采用默认值即可。如果需要保存判断的结果,可以给出Variable Name的值以及作用范围Scope的值。点击【OK】按钮即可。

n         添加提示信息:在</c:if>之前添加如下代码:

    <script>

        alert("${errorinfo}");

    </script>

n         添加标准标签库:在工程下的Libraries目录上右键点击,在弹出菜单中选择【Add Library】,弹出如图所示界面。在该界面中选择JSTL1.1,然后点击【Add Library】按钮,jstl.jar和standard.jar两个压缩包会添加到工程中。

n         声明标准标签库中的核心标签库:可以使用IDE提供的JSP Completion功能完成。在“<%@page contentType="text/html" pageEncoding="GB2312"%>”代码的下面输入“<%”,会出现如图所示的界面,中间部分是可选的代码,下面部分是对相应代码的解释。使用上下箭头可以选择相应的代码,此处选择第三个。之后生成代码:<%@ taglib  %>。忽略错误提示。继续按空格键,会出现如图所示的界面,继续输入p,则帮助列表中只剩下一项,回车即可选择。生成的代码如下:<%@ taglib  prefix="" %>,在光标处输入c。然后把光标移动到“%>”之前,继续按空格键,采用同样的方法添加uri属性,然后在输入值的时候使用Ctrl+反斜线,之后会出现系统可以使用的值,选择“http://java.sun.com/jsp/jstl/core”。

通过上面的过程,登录界面就编写完了,完成后的代码如下:

文件名:index.jsp

<%--

    文 件 名:index

    创建时间:2008-2-12, 11:10:44

    编 写 者:李绪成

--%>

 

<%@page contentType="text/html" pageEncoding="GB2312"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<c:if test="${not empty errorinfo}">

    <script>

        alert("${errorinfo}");

    </script>

</c:if>

 

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=GB2312">

        <title>登录界面</title>

    </head>

    <body>

        <h2>欢迎登录</h2>

        <form method="POST" action="LoginServlet">

            <table>

                <tbody>

                    <tr>

                        <td>用户名:</td>

                        <td><input type="text" name="username" value="" /></td>

                    </tr>

                    <tr>

                        <td>口令:</td>

                        <td><input type="text" name="userpass" value="" /></td>

                    </tr>

                    <tr>

                        <td><input type="submit" value="登录" /></td>

                        <td><input type="reset" value="重写" /></td>

                    </tr>

                </tbody>

            </table>

        </form>    

       

    </body>

</html>

编写登录之后的界面,假设登录之后的界面为success.jsp,主要输出一句话即可,编写过程非常简单,不再介绍。

1.4       创建Servlet

在包com.idebook.web.controller上点击右键,在弹出的菜单中选择【New】à【Servlet】。如图所示,然后弹出如图所示的界面。

在Class Name输入框中输入LoginServlet,其他的采用默认值。然后点击【Next >】。进入到如图所示的界面:

采用默认值即可,如果需要添加初始化参数,可以点击右边的【Add】按钮。Servlet Name和URL Pattern都可以修改,前者在配置文件中应该惟一,后者确定了Servlet的访问方式。这些配置信息最终都会添加到配置文件web.xml中,如果之后需要修改也可以直接通过配置文件web.xml进行修改。

生成的代码如下:

文件名:LoginServlet.java

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

 

package com.idebook.web.controller;

 

import java.io.*;

import java.net.*;

 

import javax.servlet.*;

import javax.servlet.http.*;

 

/**

 *

 * @author Administrator

 */

public class LoginServlet extends HttpServlet {

  

    /**

    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.

    * @param request servlet request

    * @param response servlet response

    */

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();

        try {

            /* TODO output your page here

            out.println("<html>");

            out.println("<head>");

            out.println("<title>Servlet LoginServlet</title>"); 

            out.println("</head>");

            out.println("<body>");

            out.println("<h1>Servlet LoginServlet at " + request.getContextPath () + "</h1>");

            out.println("</body>");

            out.println("</html>");

            */

        } finally {

            out.close();

        }

    }

 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

    /**

    * Handles the HTTP <code>GET</code> method.

    * @param request servlet request

    * @param response servlet response

    */

    protected void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

 

    /**

    * Handles the HTTP <code>POST</code> method.

    * @param request servlet request

    * @param response servlet response

    */

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

        processRequest(request, response);

    }

 

    /**

    * Returns a short description of the servlet.

    */

    public String getServletInfo() {

        return "Short description";

    }

    // </editor-fold>

}

把processRequest方法中的代码替换成下面的代码:

processRequest中代码

        // 获取用户输入信息

        String username = request.getParameter("username");

        String userpass = request.getParameter("userpass");

 

        // 创建业务模型对象

        UserBean user = new UserBean();

        // 初始化

        user.setUsername(username);

        user.setUserpass(userpass);

        // 调用业务方法

        boolean login = user.getLogin();

 

        // 根据业务方法的执行结果选择界面对用户响应

        String forward;

        if (login) {

            forward = "success.jsp";

        } else {

            request.setAttribute("errorinfo", "用户名或者口令不正确!");

            forward = "login.jsp";

        }

        // 获取Dispatcher对象

        RequestDispatcher dispatcher = request.getRequestDispatcher(forward);

        // 完成跳转

        dispatcher.forward(request, response);

然后使用Ctrl+Shift+I引入UserBean所在的包。

最后需要修改index.jsp的Form表单元素的action属性。找到下面的代码:

        <form method="POST">

修改为:

        <form method="POST" action="LoginServlet">

1.5       部署和访问

在访问工程之前,需要把工程部署到服务器上。部署过程如下:选择工程,点击右键,选择【Undeploy and Deploy】,IDE会完成下面的工作:

u       如果服务器没有启动,会先启动服务器;

u       然后编译,并部署文件。

之后可以访问Web应用,访问过程如下:

打开浏览器;

在地址栏输入:http://localhost:8080/helloWeb/HelloServlet,弹出登录界面。

在登录界面输入用户名和口令,如果用户名输入“zhangsan”,口令输入“wangwu”,则进入success.jsp界面,否则返回登录界面并显示登录错误信息。

 

第一次使用netbeans及创建web应用程序 NULL 博文链接:https://javakeith.iteye.com/blog/954165 立即下载

相关推荐

《精通NetBeans——Java桌面、Web与企业级程序开发详解》光盘

《精通NetBeans——Java桌面、Web与企业级程序开发详解》光盘

如何使用 Netbeans 创建 Java Web 应用程序

在 Netbeans 的帮助下,Web 开发变得更加容易。在这篇如何使用 Netbeans创建 Java Web 应用程序中,我们将介绍从创建新项目到在浏览器上运行 Web 应用程序的所有分步教程。 1. 创建新的 Java Web 应用程序项目 要创建新的 Java Web 应用程序项目,只需打开 NetbeansIDE,然后打开 File -> New Project。然后在 Categories 列中选择 Java Web,在 Projects 列中选择 Web Application。..

allway2的博客 4948

Java中的学校课程管理系统使用NetBeans及源码.zip

Java中的学校课程管理系统使用NetBeans及源码 项目:Java中的学校课程管理系统 – 下载请向下滚动 简介 学校课程管理是一个简单的Java项目,用于管理学校和大学的时间和学习工作安排。该项目帮助教师管理他们的课堂时间表。在这里,你可以添加时间表以及大学课程。该项目使用NetBeans和Java编程语言开发。在这个项目中,我们附加了相关的库。 你可以下载此项目并根据你的项目需求进行编辑。 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

web后端——netbeans+jsp+servlet开发学习总结

HTTP Status 405 - HTTP method POST is not supported...... 解决 >servlet 代码中缺少 dopost方法

悟道子HD 1399

天线学习笔记——HFSS简单阵列天线

在HFSS15.0版本中使用 Radiation --> Antenna Array Setup 设置天线阵列的参数时的设计列表如下: 值得注意的是,在该版本中所定义的是:第一个阵元的位置坐标(First Cell Position)、阵元之间的间距(Directions)和阵元的数量(Number of Cells) 这些参数。 在ANSYS中的HFSS仿真中定义天线阵列如下: 与老版本不同的是:中心点坐标(Center Position)和布局设置(Layout Setting)。在布局设置中

Ethan的博客 1万+

集成电路设计笔记(七)UVLO设计

1. 什么是UVLO 欠压锁定(Undervoltage-Lockout)简称UVLO,是电子设备中在电源电压低于正常工程准位时,切断电源的电路。在嵌入式系统中常会用UVLO监控电池电压,若电压低于一定值,会直接切断电源,保护嵌入式系统的电路。 许多电子设备中都有UVLO的功能,例如在镇流器中就有UVLO电路,若电压过低时直接切断电源。 UVLO就是低电压锁定; 低压关断. 欠压关断模式是当供电电压低于IC的开启门限电压时的一种保护模式。欠压关断模式可保证IC在供电电压不足时不致于被损坏。一个低电压锁定(

ccbirds 2万+

如何使用 Maven 和 Netbeans 创建 Web 应用程序

本教程将指导您如何使用 maven 和 netbeans 创建 Web 应用程序。这将假设您已经在系统中安装了 maven。单击此处了解如何在 windows 上安装 maven。 1.在NetBeans中新建项目 单击创建新项目。在弹出的对话框中,在类别中选择 Maven,在项目列中选择 Web 应用程序。 点击下一步。输入您想要的项目名称。工件 id 和组 id 是使用基于您的项目名称的值预定义的。单击下一步继续。在设置页面上,选择您将使用的服务器,例如 tomcat 或 gl

allway2的博客 1441

DiffusionDriveV2 (1) : 端到端自动驾驶中受强化学习约束的截断扩散建模

DiffusionDriveV2:强化学习约束的截断扩散模型在端到端自动驾驶中的应用 本文针对端到端自动驾驶中扩散模型面临的模式崩溃问题,提出DiffusionDriveV2框架。该方法通过引入强化学习约束,解决了DiffusionDrive依赖模仿学习导致的多样性与持续高质量之间的困境。主要创新包括: 采用尺度自适应乘法噪声促进广泛探索 提出锚点内GRPO管理单个锚点样本间的优势估计 设计锚点间截断GRPO整合全局视角,避免不同驾驶意图间的不当比较 实验表明,该方法在NAVSIM基准测试中达到最先进水平(

@bangbang的博客 381

使用NetBeans开发WebService

本文旨在介绍如何使用NetBeans开发一个Web服务。 OS:windows Xp java IDE:NetBeans 7.0.1 日志记录:log4j 数据库:sqlserver2000 一、建立Web项目 1,新建JAVA Web项目 如图-1所示,选择“下一步” 图-1 2,在图-2中填入项目名称,选择正确的项目位置,然后点击下

Stone的专栏 9587

uniapp [全端兼容] - 详细实现人脸识别和活体检测功能,实时监测人脸是否进入区域及动作是否正确播报,免费自动提示引导动作及语音,提供提供实名认证、身份证识别、人脸信息采集、刷脸扫脸认证示例代码

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,人脸识别,扫脸认证,人脸认证,活体认证,身份认证,uni-app人脸识别详细教程,如何在app端实现免费人脸识别教程,如何在小程序端做,最好用的插件,安卓ios百度人脸识别、活体检测、人脸采集APP,H5人脸识别带前后摄像头,适合新手看的人脸识别功能教程,详细示例代码源码,有没有免费的,接入百度,阿里云人脸识别,百度,api,活体检测,数据采集,动作提示指引,语音提示指引,报错,无法核验一直出错,根本用

🏆 前端领域优质创作者 1万+

SolidWorks速成教程P3-5【零件 | 第五节】——异形孔向导&线性阵列&镜像

这节介绍异形孔向导、线性阵列、镜像。

嵌入式阿齐Archie 6074

使用NetBeans5.0开发一个简单的网站程序

使用NetBeans5.0开发一个简单的网站程序敬告:------------------------------------------------------------    本文作者希望本文可以在网络及任何媒体进行任何形式的传播、复制、引用、修改,在此过程中请保留此敬告内容。                                 谢谢!                      

liupopo的专栏 5504

HTML流光爱心(完整代码)

HTML语言实现红蓝色流光爱心效果的完整代码。

AIGC 1万+

在NetBeans下使用AppFuse开发Java Web应用

引言 大家知道,开发一个基于Java的Web应用越来越难了。尽管我们可以避开使用以其难度而著称的EJB来开发J2EE应用,在一个没有EJB的Java Web应用中,我们还有许多的棘手问题需要处理。如,从大的方面讲,我们要选择Spring + Hibernate + JavaServer Faces的组合,那么,我们必须花费许多时间来集成这些大的框架。尽管我们对这些框架可能已经非常熟悉,但要集...

yuanlanxiaup 196

第4章-07-将WebDriver获取的Cookie传递给Requests

在使用Selenium WebDriver获取了浏览器的Cookies之后,你可以将这些Cookies传递给requests库,以便在后续的HTTP请求中使用这些Cookies。这样做可以让你模拟浏览器会话,使得请求看起来像是从之前使用Selenium WebDriver控制的浏览器发出的。

黑夜开发者的博客 692

第95节:多模型多卡推理管理

多模型推理:在同一硬件平台上同时部署多个不同或相同的深度学习模型,满足多任务需求。多卡推理:利用多块 GPU 资源,提升推理吞吐量与并发能力。目标:合理分配 GPU 资源,实现高效、低延迟的推理服务。

yumeiguo的博客 218

NetBeans Web 应用程序开发简介

 要学习本教程,您需要具备以下软件和资源。软件或资源要求的版本NetBeans IDEWeb & Java EE 安装版本 6.1 或版本 6.0Java Development Kit (JDK)版本 6 或版本 5GlassFish 应用服务器 或 Tomcat Servlet 容器V2   版本 6.x注意:在执行 We

Mr. David 专栏 1538

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用 NetBeans IDE 进行 JSP Web 应用程序开发

在本文中,我将向您展示使用 NetBeans IDE创建和运行JSP Web 应用程序的分步过程。请阅读我们之前讨论过使用 MyEclipse IDE 进行 JSP Web 应用程序开发的文章。NetBeans IDE 使您可以使用 HTML、JavaScript 和 CSS 快速轻松地开发 Java 桌面、移动和 Web 应用程序,以及 HTML5 应用程序。IDE 还为 PHP 和 C/C++ 开发人员提供了一组很棒的工具。 从https://netbeans.org/downloads/6.1/in

allway2的博客 4123

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

NetBeans可视化Web开发之数据库应用开发

第9章 数据库操作本章学习目标:l         掌握NetBeans中数据库应用开发的基本过程;l         掌握NetBeans中数据库常用操作的实现。主要内容:l         创建应用需要的数据库表;l         通过可视化界面显示数据库表中所有的信息;l         在此基础上对这些信息进行修改和删除;l         实现添加功能;

李绪成的一亩三分地 7641
上一篇: 《Java Web程序设计基础教程》勘误表
下一篇: Java面试题——容器、JSP容器、JSP引擎
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值