SpringMVC的请求和相应

树莓派国内镜像源一键配置指南 本文提供树莓派国内镜像源一键配置指南,解决默认国外源访问缓慢问题。通过自动检测系统版本并支持清华、阿里云、中科大等主流镜像站选择,大幅提升软件更新与安装速度。包含详细的手动配置方法和常见问题排查,帮助用户快速完成树莓派换源优化。 阅读详情

Hidden adj.隐藏的

SpringMVC数据响应

数据相应方式:
1.页面跳转
1.1直接返回字符串
1.2通过ModelAndView对象返回
2.回写数据
2.1返回字符串
2.2返回对象或集合

1.页面跳转-返回字符串形式

@RequestMapping(value="/quick1")
public String save1(){
 //转发:forward:/jsp/sucess.jsp
 //重定向:redirect:/jsp/success.jsp
	return"forward:/jsp/success.jsp";
}

2.页面跳转-ModelAndView自己new ModelAndView

@ResquestMapping(value="/quick2")
public ModelAdnView save2(){
	ModelAndView modelAndView = new ModelAndView();
	//设置视图名称
	modelAndView.setViewName("success");
	//设置数据模型
	modelAndView.addObject("username","itcast");
	return modelAndView;
}

EL表达式在web3.0前默认没有开启,可在jsp中增加设置<%@ page contentType=“text/html;charset=UTF-8” language=“java” isELIgnored=“false” %>,或直接使用web3.0版本,默认开启。
3.页面跳转-在形参上传入参数(ModelAndView/Model)

@RequestMapping(value="/quick3")
public ModelAndView save3(ModelAndView modelAndView){
        modelAndView.addObject("username","itheima");
        modelAndView.setViewName("success");
        return modelAndView;
}

@RequestMapping(value="/quick4")
public String save4(Model model){
        model.addAttribute("username","博学谷");
        return "success";
}

4.页面跳转-传参HttpServletRequest 使用原生的HttpServletRequest对象

@RequestMapping(value="/quick5")
public String save5(HttpServletRequest request){
        request.setAttribute("username","酷丁鱼");
        return "success";
}

5.回写数据-直接回写字符串
5.1 传参HttpServletResponse

@RequestMapping(value="/quick6")
public void save6(HttpServletResponse response) throws IOException {
        response.getWriter().print("hello itcast");
}

5.2直接写回字符串

@RequestMapping(value="/quick7")
@ResponseBody  //告知SpringMVC框架 不进行视图跳转 直接进行数据响应
public String save7() throws IOException {
   return "hello itheima";
}

6 回写json类型字符串
6.1自己手动拼接json类型字符串

@RequestMapping(value="/quick8")
@ResponseBody
public String save8() throws IOException {
  	return "{\"username\":\"zhangsan\",\"age\":18}";
}

6.2使用json转换工具jackson 导入需要的jar包

@RequestMapping(value="/quick9")
@ResponseBody
public String save9() throws IOException {
        User user = new User();
        user.setUsername("lisi");
        user.setAge(30);
        //使用json的转换工具将对象转换成json格式字符串在返回
        ObjectMapper objectMapper = new ObjectMapper();
        String json = objectMapper.writeValueAsString(user);

        return json;
}

7.回写数据-返回对象或集合
通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
            </list>
        </property>
    </bean>

7.1 自动封装为对象

public User save10() throws IOException {
        User user = new User();
        user.setUsername("lisi2");
        user.setAge(32);
        return user;
}

7.2封装集合

@RequestMapping(value="/quick11")
@ResponseBody
    //期望SpringMVC自动将User转换成json格式的字符串
public List<User> save11() throws IOException {

        List<User> list = new ArrayList<>();

        User user = new User();
        user.setUsername("lisi2");
        user.setAge(32);

        User user1 = new User();
        user1.setUsername("lisi3");
        user1.setAge(66);

        list.add(user);
        list.add(user1);

        return list;
}

mvc:annotation-driven/:
在 SpringMVC 的各个组件中,处理器映射器、处理器适配器、视图解析器称为 SpringMVC 的三大组件。使用<mvc:annotation-driven />自动加载 RequestMapping、HandlerMapping(处理映射器)和RequestMappingHandlerAdapter( 处 理 适 配 器 ),可用在Spring-xml.xml配置文件中使用<mvc:annotation-driven />替代注解处理器和适配器的配置。同时使用<mvc:annotation-driven />默认底层就会集成jackson进行对象或集合的json格式字符串的转换

SpringMVC的请求

客户端请求参数的格式是:name=value&name=value……
可获取的请求参数类型:
1.基本类型参数
2.POJO类型参数
3.数组类型参数
4.集合类型参数

1.获得请求参数-获得基本数据类型参数
Controller中的业务方法的参数名称要与请求参数的名称一致,参数值会自动映射。并可以自动转换类型

@RequestMapping(value="/quick11")
    @ResponseBody
    public void save11(String username,int age) throws IOException {
        System.out.println(username);
        System.out.println(age);
    }

2.获取请求参数-获得POJO类型参数:Controller中的业务方法的POJO参数的属性的setXXX的XXX名与请求参数的name一致,参数值会自动映射匹配。在POJO类

@RequestMapping(value="/quick12")
    @ResponseBody
    public void save12(User user) throws IOException {
        System.out.println(user);
    }

3.获得请求参数-获得数组类型参数:Controller中的业务方法数组名称与请求参数的name一致,参数值会自动映射匹配。

@RequestMapping(value="/quick13")
@ResponseBody
public void save13(String[] strs) throws IOException {
    System.out.println(Arrays.asList(strs));
}

4.获得请求参数-获取集合类型参数
4.1表数据提交 获得集合参数时,要将集合参数包装到一个POJO中才可以。 POJO类需要存在(不写了)

<form action="${pageContext.request.contextPath}/user/quick14" method="post">
        <%--表明是第一个User对象的username age--%>
        <input type="text" name="userList[0].username"><br/>
        <input type="text" name="userList[0].age"><br/>
        <input type="text" name="userList[1].username"><br/>
        <input type="text" name="userList[1].age"><br/>
        <input type="submit" value="提交">
    </form>
@RequestMapping(value="/quick14")
    @ResponseBody
    public void save14(VO vo) throws IOException {
        System.out.println(vo);
    }

4.2 ajax类型提交 当使用ajax提交时,可以指定contentType为json形式,那么在方法参数位置使用@RequestBody可以直接接收集合数据而无需使用POJO进行包装

<script src="${pageContext.request.contextPath}/js/jquery-3.3.1.js"></script>
    <script>
        var u = new Array();
        userList.push({username:"zhangsan",age:18});
        userList.push({username:"lisi",age:28});

        $.ajax({
            type:"POST",
            url:"${pageContext.request.contextPath}/user/quick15",
            data:JSON.stringify(userList),
            contentType:"application/json;charset=utf-8"
        });

    </script>
@RequestMapping(value="/quick15")
@ResponseBody
public void save15(@RequestBody List<User> userList) throws IOException {
        System.out.println(userList);
}

乱入1:静态资源访问开启:
SpringMVC的前端控制器DispatcherServlet的url-pattern配置的是/,代表对所有的资源都进行过滤操作,所以访问不到jquery,可以通过一下两种方法指定放行静态资源
1.在spring-mvc.xml中配置指定的放行文件 <mvc:resources mapping="/js/**“location=”/js/"/>
2.使用mvc:default-servlet-handler/`标签

5.获取请求参数-参数绑定注解@RequestParam。当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示的绑定

@RequestMapping(value="/quick16")
@ResponseBody
public void save16(@RequestParam(value="name",required = false,defaultValue = "itcast") String username) throws IOException {
  System.out.println(username);
}

乱入2:Restful风格
常规请求路径写法:http://localhost/user/quick17?id=1
RestFul风格请求路径写法:http://localhost/user/quick17/1
Restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
Restful风格的请求是使用“url+请求方式”表示一次请求目的,HTTP 协议里面四个表示操作方式的动词如下:
GET:用于获取资源
POST:用于新建资源
PUT:用于更新资源
DELETE:用于删除资源
例如:
/user/1 GET : 得到 id = 1 的 user
/user DELETE: 删除user
/user PUT: 更新user
/user POST: 新增 user
上述url地址/user/1中的1就是要获得的请求参数,在SpringMVC中可以使用占位符进行参数绑定。地址/user/1可以写成/user/{id},占位符{id}对应的就是1的值。在业务方法中我们可以使用@PathVariable注解进行占位符的匹配获取工作。
hiddenHttpMethodFilter Restful只支持Post(新建、增加)和get获取方式,如果使用delete或者put(修改)方式 需要配置HiddenHttpMethodFilter。

<!-- 隐藏域filter -->
<filter>
   <filter-name>HiddenHttpMethodFilter</filter-name>
   <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>HiddenHttpMethodFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
@DeleteMapping(value="/quick17")
    @ResponseBody
    public void save20(String username) throws IOException {
        System.out.println("RestFul.....DELETE");
        System.out.println(username);
    }

    //请求参数方式七:RestFul风格 - PutMapping    //更新
    @PutMapping(value="/quick17")
    @ResponseBody
    public void save19(String username) throws IOException {
        System.out.println("RestFul.....PUT");
        System.out.println(username);
    }

    //请求参数方式七:RestFul风格 - PostMapping    //增加
    @PostMapping(value="/quick17")
    @ResponseBody
    public void save18(String username) throws IOException {
        System.out.println("RestFul.....POST");
        System.out.println(username);
    }

    
    //@GetMapping(value="/quick17/{name}")    获取
    //@PostMapping(value="/quick18")          增加
    //@PutMapping(value="/quick17")           更新
    //@DeleteMapping(value="/quick17")        删除

	//请求参数方式七:RestFul风格-requestmapping / getmapping     获取
    // localhost:8080/user/quick17/zhangsan
    @RequestMapping(value="/quick17/{name}") //可以通过method控制请求方式
    @ResponseBody
    public void save17(@PathVariable(value="name") String username) throws IOException {
        System.out.println("RestFul.....GET");
        System.out.println(username);
    }
VC中sqlite的使用 在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示 立即下载

相关推荐

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5804

过滤器FIlter & 动态代理 & 监听器Listener

Filter 概念: -web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 -过滤器的作用:一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤… 定义格式: 1. 定义一个类,实现接口Filter 2. 复写方法 3. 配置拦截路径 @WebFilter("/*")//访问所有资源之前,都会执行该过滤器 public class FilterDemo1 implements Filter { @Override public void ini

java_juxiang的博客 361

Tushare Pro的安装使用——“抱歉,您没有访问该接口的权限,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108”问题

最近做毕设关于量化交易的, 因此一直使用tushare作数据源,但是过程中到一些问题,因此这里写篇文章,供大家一起交流下。 Tushare简介 Tushare是一个免费、开源的python财经数据接口包。拥有如股票、基金、期货等行情数据,公司财务、基金经理等基本面数据,以及债券、外汇、行业、大数据、区块链。Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,因此非常方便...

sinat_40875078的博客 1万+

SpringBoot中与http请求相关的注解。

@RequestMapping 和 @GetMapping @PostMapping 区别 @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。 如果我们想使用传统的...

roshy的专栏 966

给大一新生的蓝桥杯EDA备赛规划:从电路分析到立创EDA,如何用一年时间高效备赛?

本文为大一新生提供了一份系统的蓝桥杯EDA备赛规划,从电路分析基础到立创EDA实战操作,分阶段指导如何高效备赛。内容涵盖理论学习、软件操作、PCB设计专项提升及冲刺优化策略,帮助学生在一年内全面提升电子设计能力,为竞赛做好充分准备。

weixin_31476015的博客 290

告别激活烦恼:Lattice Diamond 3.13 永久免费License申请与配置全攻略(Windows 64位)

本文详细介绍了Lattice Diamond 3.13永久免费License的申请与配置全流程,特别针对Windows 64位系统用户。从官网导航的隐藏路径到Host ID的获取方式,再到License文件的高级处理技巧和环境变量的深度配置,提供了全面的安装教程和疑难问题解决方案,帮助开发者彻底告别激活烦恼。

weixin_28736335的博客 429

SpringMVC处理请求或响应数据

SpringMVC处理请求数据或响应数据: 请求处理方法签名 Spring MVC 通过分析处理方法的签名,HTTP请求信息绑定到处理方法的相应人参中。 Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。 必要时可以对方法及方法入参标注相应的注解( @PathVariable 、@Req...

测试 1300

BEVFormer vs BEVFusion:5个关键差异点帮你选对环视感知方案

本文深入对比了自动驾驶领域两大主流环视感知方案BEVFormer与BEVFusion。BEVFormer作为纯视觉BEV感知的标杆,通过注意力机制隐式学习深度,成本较低;而BEVFusion作为多模态融合典范,融合激光雷达与摄像头数据,在性能、小目标检测及极端环境鲁棒性上优势显著。文章从计算效率、部署成本、数据依赖性等五个核心维度提供选型指南,帮助技术决策者根据自身算力预算与传感器配置做出明智选择。

weixin_29306011的博客 124

使用@RequestBody传对象参数时碰到的坑

工作中需要使用到http接口传一个对象数组,网上找到某博客:springmvc参数为对象,数组 但是测试还是不对,报错: 2019-02-21 23:44:37.168 WARN 34133 --- [nio-7001-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.spr...

青鱼入云的博客 4万+

EtherCAT主站SOEM -- 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈

以上就是EtherCAT主站SOEM – 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 1998

打开 AI 投研新时代 —— 深度解析 GitHub 高星项目 daily_stock_analysis

GitHub热门开源项目"daily_stock_analysis"是一款AI驱动的智能股票分析工具,能自动抓取行情数据、分析新闻语义并生成结构化报告。该项目采用Python开发,通过GitHub Actions实现全自动运行,支持邮件、企业微信等多渠道推送。核心功能包括AI决策仪表盘、多数据源整合和零成本部署方案,特别适合需要自动化投研辅助的个人投资者。项目强调其仅为分析工具而非投资建议,提醒用户注意AI模型的潜在误差。该工具通过智能化处理重复工作,帮助投资者提升决策效率,成为量化投资

陈奕昆的博客 1527

B02 SpringMVC的请求和相应

但是不是所有的数据类型都提供了转换器,没有提供的就需要自定义转换器,例如:日期类型的数据就需要自定义转换器。required:此在指定的请求参数是否必须包括,默认是true,提交时如果没有此参数则报错defaultValue:当没有指定请求参数时,则使用指定的默认值赋值。当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示的绑定。Controller中的业务方法的POJO参数的属性名与请求参数的name一致,参数值会自动映射匹配。

遇见你 的博客 270

YOLO11 改进、魔改|分组残差自注意力GRSA,通过分组残差优化 QKV 计算、指数空间映射优化位置偏差,在大幅降低自注意力模块参数和计算量的同时,增强特征关系与位置信息的表征能力

【摘要】研究人员提出GRSA(分组残差自注意力)机制,解决Transformer在图像超分辨率任务中效率与性能难以兼顾的问题。GRSA通过分组残差层减少自注意力参数冗余,同时采用指数空间相对位置偏差优化位置信息表征。实验表明,GRSA在降低50%参数量的同时保持模型性能,适用于目标检测和图像分割任务。在YOLO系列模型中集成GRSA可提升小目标检测精度,代码实现已开源,详细部署教程见相关视频与GitHub资源。该机制为轻量化Transformer模型提供了高效解决方案。

qq_64693987的博客 798

【SpringMVC】SpringMVC关于请求报文和相应报文提供的两个注解和两个类型操作对应报文

HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型: @RequestBody,@ResponseBody,RequestEntity,ResponseEntity 这四个注解主要@ResponseBody重点注意

HXY19的博客 505

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SpringMVC常用的请求传参和相应传值方式

请求传参的方式有六种常用的有RequestParam注解和对象传参: 情况一:最传统的方式,方法参数中带入request,通过request.getParameter("参数名"),再封装到JavaBean中. 情况二:简单类型参数和RequestParam注解. 一:如果请求参数和Controller方法的形参同名. 可以直接接收. 二:如果请求参数和Controller方法的形参不同名...

Hard_farmer的博客 741

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

源码剖析Spring MVC如何将请求映射到Controller?

SpringMVC 请求映射原理,如果根据请求路径找到具体的Controller、Method

健身变秃,coding变强 4519

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

解决axios发送post请求,springMVC接收不到数据问题

SpringMVC 中 @PathVariable、@RequestBody、@RequestParam的使用场景以及对应的前端axios写法是什么呢?

svygh123的专栏 1544

SpringMVC 接收请求参数

文章目录一、接收请求参数1、提交的域名称和处理方法的参数名一致2、提交的域名称和处理方法的参数名不一致3、提交的是一个对象 在开始之前,应该先新建一个maven工程,注入SpringMVC以及Servlet依赖,再使用注解配置一下Controller,可以点击这些字查看详细配置过程! 一、接收请求参数 1、提交的域名称和处理方法的参数名一致 首先在前台的index.jsp写一个表单,然后提交一个username: <html> <head> <title>$Ti

lesileqin的博客 252

SpringMVC 控制器 和 Servlet的理解

Servlet 和 SpringMVC的核心:控制器 作用一样,都是转发控制器。将请求名字,和请求要执行的服务层程序对应起来。 Servlet 如: 例一: @WebServlet("/ ") public class LoginServlet extends HttpServlet { protected void doGet(HttpSer...

feizai1208917009的博客 2329

SpringMVC获取几种请求参数数据

SpringMVC获取请求数据 1、获取请求参数的几种类型 客户端请求参数的格式是:name=value&name=value… 服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数: 基本类型参数 POJO类型参数 数组类型参数 集合类型参数 2、获取基本类型参数 @Controller @RequestMapping("/user") public class UserController { // ------ 以下是:获取基本数据类型请求数

我要记录学习博客 557

springmvc之dispatcherServlet请求过程

springmvc处理请求逻辑 只看这张图,总觉得对这个过程不是很了解;因此决定通过debug的方式来看dispatcherServlet处理请求的流程; 我们通过debug可以看到handlerMapping到底是什么? 怎么通过url找到对应的handlerMapping? handlerAdapter适配器做了什么,怎么适配? dispatcherServlet在收到请求后,会先执行doService方法,在这个方法中会调用doDispatch;请求的主要过程就是在这个方法中完成的; 1.进入到do

Myd 431

SpringMVC获取请求参数

所使用的的注解说明 @RequestMapping: 此注解是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 @responseBody: 此注解的作用是将controller的方法返回的对象,通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。 注意: 在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指

qq_1243443888的博客 299

SpringMVC解决请求乱码

一:解决表单post请求汉字乱码问题 配置在web.xml的web-app标签内,即最外层的标签 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-ap

AtlanticYu的博客 165

springMVC获取请求参数

服务器获取请求参数的类型有以下四种: 1、基本类型 2、POJO(没有业务逻辑的简单对象)类型 3、数组类型 4、集合类型 一、基本类型 业务方法的参数名与请求参数的name一致,参数值会自动匹配。 业务方法如下: @RequestMapping("/testControll9") @ResponseBody /* 告诉springmvc函数要返回的是一个普通数据,而非要跳转的页面名,这里无返回值, 即不做处理,如果不添加该注解,服务器会找不到要返回的页面 */ public v

飓风2060 247

【SpringMVC】SpringMVC系列2之@RequestMapping 映射约束请求

@RequestMapping 映射约束请求 2.1、映射请求URL Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注。 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。若类定义处未标注 @RequestMapping,则方...

weixin_30457065的博客 86

springmvc配置中get请求与post请求参数乱码问题

post 请求方式: <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <i...

weixin_41374755的博客 212
上一篇: SpringMVC配置入门
下一篇: 自己的练习
ClassGoldenSea
博客等级 码龄7年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值