<转载>springmvc(29):spring默认欢迎页设置

welcome-file-list 与SpringMvc 的 DispatcherServlet 在SpringMVC中 所有的请求都由dispatcherServlet处理(url-pattern配置的是/),当配置文件中有对静态资源的处理   时候  ,先匹配 welcome-file-list 中的文件,依次查找,找到了就 返回,如果没有找到就继续匹配到controller 例如附件例子,webapp下有test.html 和index.html两个文件,访问仅仅输入 工程名称 ,首先会返回test.html .如果此文件不存在 则返回index.html,如果都不存在则 进入controller 立即下载
  1. 简单配置的方式,直接展示静态网页,不经过Controller。 
    web.xml 中什么没有配置任何有关欢迎页的信息!其实这时等效于如下配置:这个会由Web容器最先访问!

//-未指定欢迎页时,缺省等于如下配置。这个应该不同的Web服务器可以设置,但大多数都如此-。

<welcome-file-list>
 <welcome-file>index.html</welcome-file>
 <welcome-file>index.htm</welcome-file>
 <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
 
  • 1
  • 2
  • 3
  • 4
  • 5

在web.xml中什么都不写的时候,默认访问WebContent目录下的index页面,不管是index.html还是index.jsp页面。但是这个页面不经过Controller的处理,相当于静态的页面。

此外也可以通过如下的方式,指定首页要显示的视图页面:

<welcome-file-list>
       <welcome-file>/WEB-INF/jsp/hello.jsp</welcome-file>
    </welcome-file-list>
 
  • 1
  • 2
  • 3

以上方式,在浏览器中输入http://localhost:8080/工程名/,即可返回指定的页面。

2.在静态页面上进行跳转。核心 代码:<meta http-equiv="Refresh" content="0; URL=spring/"> 
项目目录下,有个index.html文件,加入如下内容进行跳转:

<html> 
<head>
  <meta http-equiv="Refresh" content="0; URL=spring/">
</head>
</html>
 
  • 1
  • 2
  • 3
  • 4
  • 5

跳转到的url全路径就相当于 http://localhost:8080/项目名/spring/。这个路径就会由mvc 的DispatcherServlet来处理。为什么呢,是因为web.xml中进行了如下url配置:

<servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/app/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/spring/*</url-pattern>
</servlet-mapping>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

此时在浏览器输入http://localhost:8080/项目名时候,浏览器的地址会自动的跳转到 http://localhost:8080/项目名/spring/,根据此规则,就会对应为MVC 路径路由中的 /。也就是HomeController。

@Controller
public class HomeController
{
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Model model)
    {        
        return "home";
    }
}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然后找到对应的home.jsp。

整个流程如此。其实缺省为什么设置这么一个spring路径。主要目的是为了提升spring对url的处理效率。spring/下的分支都交由spring来处理,其它的就可以交由web 服务器。

如果一切都交给spring处理,我们就要将 / 进行拦截。嗯,一定会由很多静态资源、或者其它动态jsp是另有用途,也会先被spring拦截,然后再当做另外来处理。可以是可以,但是效率上就会觉得多了一步。

但是,另一方面,我们在规划url时,可能会尽可能的减短,以方便用户的输入;同时,规划url时,才不会考虑spring的效率呢,也就是url设计先行。这个时候,通常不会有spring这个特定的路径;也就是spring要将就url的规划。也就是要对 / 进行拦截了。

3.配置servlet。 
之前的SpingMVC配置控制器的代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <!-- 为spring配置监听器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml,
                 <!-- /WEB-INF/hello-dao.xml,
                 /WEB-INF/hello-service.xml, -->
    </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 默认首页定义 --> 
    <welcome-file-list>
       <welcome-file>/WEB-INF/jsp/hello.jsp</welcome-file> 
    </welcome-file-list>
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 通过初始化参数声明配置文件位置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/hello-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>


</web-app>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

此时浏览器中输入http://localhost:8080/Hello/即可进入到指定的静态首页。

问题的由来: 
welcome-file-list一般情况下只能使用静态网页,如果非要把他配置成SpringMVC的控制器URL就会报错

解决的方法: 
仔细看了一些资料,发现welcome-file-list可以转向到servlet,但是!!!前提是servlet不能有扩展名,否则就当成静态文件处理了,那么这样的话就尝试了定义个没有扩展名的SpringMVC控制器URL。修改配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <!-- 为spring配置监听器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml,
                 <!-- /WEB-INF/hello-dao.xml,
                 /WEB-INF/hello-service.xml, -->
    </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 指定welcome-file-list要转向的servlet -->
    <welcome-file-list>
       <welcome-file>index</welcome-file>  <!-- 注意 -->
    </welcome-file-list>
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 通过初始化参数声明配置文件位置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/hello-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/index</url-pattern>     <!-- 注意 -->
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>


</web-app>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

注意:welcome-file-list配置的是没有 / 的 index,下面为SpringMVC控制器单独注册了一个 /index 的URL(这个有 “/”) 
Controller写法:

@Controller
public class Shouye {
    @RequestMapping(value = "/index") 
    public String index(){  
        System.out.print("333shouye");
            return "index";  
    }  


}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

此时浏览器中输入http://localhost:8080/Hello/,即可进入到Shouye 返回的视图。

4.直接对根路径进行拦截 
必须在web.xml中加入如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <!-- 为spring配置监听器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml,
                 <!-- /WEB-INF/hello-dao.xml,
                 /WEB-INF/hello-service.xml, -->
    </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 指定默认页面 -->
    <welcome-file-list>
       <welcome-file></welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 通过初始化参数声明配置文件位置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/hello-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>


</web-app>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

此时,web服务器就知道,根路径不要web服务器来处理,而是由程序自身来处理。这时,index.html也就不起作用了。

然后,根路径就被 Shouye 这个Controller拦截了;因为其中配置了对”/”的映射。

@Controller
public class Shouye {
    @RequestMapping(value = "/") 
    public String index(){  
        System.out.print("333shouye");
            return "index";  
    }  


}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

此时浏览器中输入http://localhost:8080/Hello/,即可进入到Shouye 返回的视图。

将AD域服务从windows server 2008 R2 迁移到windows server 2019 添加一台windows 2019 的服务器并加入现有林的域中,并将角色升级为域控制器。然后迁移FSMO角色,使其成为PDC,然后降级旧DC,并提升域和林的功能级别。最后还要说下,Server 2008 R2我们还可以删除角色并退出当前域,这里就不做操作了。2)右键 mingling.com(我的域为mingling.com)--提升域级别功能。勾选 将域控制器添加到现有域,使用域管理员将DC2加入到现有的AD域。1)打开服务器管理器---工具---AD域和信任关系。2)运行域安装服务向导,选择下一步。 阅读详情

相关推荐

LabVIEW内存泄漏诊断与优化:从报错到高效运行

本文深入探讨LabVIEW内存泄漏的诊断与优化方法,从理解内存泄漏本质到使用专业工具链进行问题定位,再到高频场景的解决方案和高级优化策略。通过实战案例展示如何解决工业数据采集系统中的内存不足问题,帮助开发者提升LabVIEW应用的稳定性和效率。

moon9的博客 197

spring默认欢迎页设置

简单配置的方式,直接展示静态网页,不经过Controller。 web.xml 中什么没有配置任何有关欢迎页的信息!其实这时等效于如下配置:这个会由Web容器最先访问! //-未指定欢迎页时,缺省等于如下配置。这个应该不同的Web服务器可以设置,但大多数都如此-。<welcome-file-list> <welcome-file>index.html</welcome-file> <welco

cs408的博客 1万+

无人机频谱侦测与智能识别技术实战解析

本文深入解析无人机频谱侦测与智能识别技术实战应用,涵盖无线电侦测、信号处理和定位技术等核心内容。通过频谱分析、特征提取和机器学习算法优化,实现高精度无人机识别与定位,并分享复杂环境下的应对策略和系统集成经验。

weixin_28419039的博客 488

23SpringBoot的欢迎页

在SSM中一般启动服务器后,会自动跳转到 默认的欢迎页或者通过web.xml中的welcome-file-list指定的欢迎页。但在Springboot中则无法自动跳转,因此需要自定义一个controller来实现,实现代码如下: @Component public class JumpController implements ApplicationRunner{ @Override public void run(ApplicationArguments args) throws E

qq_41946216的博客 1071

新版CKA2020-2020-10-13-真题试卷

2020年10月13日 真题 新版CKA考试已于2020年9月1日正式上线! 考试模式:线上考试 考试时间:2小时 认证有效期:3年 软件版本:Kubernetes v1.19 重考政策:可接受1次重考 经验水平:中級 题目数量:17题 01 Task - 英文 Create a new ClusterRole named deployment-clusterrole that only allows the creation of the following resource types: Depl

随笔记录-分享&记忆 2394

挂载(Mount)是什么意思

挂载 = 把一个存储设备或文件系统“接入”到现有的目录树,使其内容能够被访问。

天赐好车的博客 287

spring boot 首页配置

spring mvc中首页的配置是通过在web.xml中增加 &lt;welcome-file-list&gt; 实现的,其中 welcome-file 指向的是controller中的路径 spring mvc 最终会返回一个index页面 在spring boot中,也是可以配置首页的,不过配置的方式不一样,下面讲解一下: 最终解析到login页面...

T2080305的博客 1255

第一篇:APS智能排产理论核心与求解器选型指南

本文系统解析了APS(高级计划与排程)系统的核心功能与技术实现。APS作为融合生产计划与排程的智能决策系统,通过运筹优化算法实现全局最优,平衡交付与效率。重点探讨了混合整数线性规划(MILP)在APS中的应用,包括设备分配、生产批量和人员班次优化等场景,并分析了其局限性与其他算法(如启发式算法)的互补性。文章还提供了APS实施策略建议和优化建模技巧,强调从简单模型开始迭代验证的重要性。最后介绍了甘特图在APS中的多维可视化作用,包括计划调整和决策支持功能。全文为理解APS系统原理及实践应用提供了全面指导。

算法工程师 544

SpringMVC默认访问路径配置

SpringMVC默认访问路径配置 需求:只访问域名,不加任何action路径,想访问默认的一个action. 比如www.jd.com,就跳到京东首页,会加载出辣么多东西来 关于这个的方法,网上有千千万种,在这里只是记录一种常用的, 亲测这个可以用,而且我们的项目一直都是这个套路. 第一步,web.xml中配置: &lt;web-app&gt; ...前面的配置... ...

zhangsir的博客 2万+

【教程4>第8章>第44节】本章整体思维导图与学习总结

本教程系列提供FPGA/MATLAB/Simulink学习资源,包含《MATLAB入门100例》、《FPGA入门100例》、《Simulink入门60例》等基础教程,以及《FPGA/MATLAB/Simulink联合开发》进阶教程和《人工智能基础应用研究》专题,适合不同层次的学习者系统掌握相关技术。

FPGA/MATLAB学习教程/源码/项目合作开发 448

C++软件调试与异常排查从入门到精通专栏介绍与文章汇总

根据近几年排查软件异常的实践与经验,系统地讲解了C++软件异常常见原因与常用排查方法,以图文并茂的方式给出具体的分析实例,带领大家逐步掌握C++软件异常排查的相关技术与要领。

dvlinker的技术专栏 23万+

<转载>springmvc(31):Spring中的 ContextLoaderListener

2018年2月22日 ------------------blog 1 Spring之ContextLoaderListener的作用 Spring org.springframework.web.context.ContextLoaderListener public class ContextLoaderListener extends O

Diligence is the mother of success. 237

OpenCV实现文档扫描OCR识别(基于Python + OpenCV,含完整代码)

在当今数字化时代,文档处理的自动化需求日益增长。文档扫描OCR(Optical Character Recognition,光学字符识别)技术成为了将纸质文档转换为可编辑电子文本的关键手段。通过Python与OpenCV库的结合,我们能够实现高效、准确的文档扫描OCR识别。这一技术在办公自动化、数字图书馆、档案管理等众多领域都有着广泛的应用。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2030

<转载>springmvc(30):springmvc的字符编码过滤器CharacterEncodingFilter相关的几篇博文

<转载>springmvc(30):springmvc的字符编码过滤器CharacterEncodingFilter相关的几篇博文

Diligence is the mother of success. 362

温度PID控制PLC程序

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

<转>SpringMVC与Struts2 比较总结

原链接:http://blog.youkuaiyun.com/chenleixing/article/details/44570681 个人整理: 1.级别不同:SpringMVC :方法 Struts是 类级别 SpingMVC 级别更细; 2.请求处理复杂程度:SpringMVC 方法独立,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap返回,St...

weixin_30894389的博客 84

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

<转载>SpringMVC(7): 对Class.getResourceAsStream和ClassLoader.getResourceAsStream方法所使用的资源路径的解释

<转载>SpringMVC(7): 对Class.getResourceAsStream和ClassLoader.getResourceAsStream方法所使用的资源路径的解释

Diligence is the mother of success. 1294

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SpringMVC01-->SpringMVC框架环境搭建(注解方式)

1.导入jar包 2.在web.xml中配置前端控制器DispatcherServlet   2.1 如果不配置<init-param>,则默认找/WEB-INF/<servlet-name>-servlet.xml.配置<init-param>是为了改变默认加载的配置文件名称和路径    <?xml version="1.0" ...

114

一次web请求:DNS->TCP连接->Nginx->SpringMVC->TCP断开

DNS域名解析 简单的说就是把域名翻译成 IP 地址,但如果在浏览器直接输入IP,则跳过这个步骤。 DNS寻找解析顺序: 浏览器缓存解析 操作系统缓存解析 公共域名服务器解析(根域名服务器/Root Server,主域名服务器) TCP三次握手连接 Client 端发送一个同步位SYN = 1,初始序号seq = x的报文段到Server端。TCP规定SYN报文段不能携带数据,但...

BigBug_500的博客 1132

JAVA资深架构师成长路线->开源框架解读->SpringMVC框架源码解读

文章目录JAVA资深架构师成长路线大纲SpringMVC框架源码解读Servlet3.0ServletContainerInitializer容器初始化ServletRegistration注册FilterRegistration过滤器ServletContext性能实战基于Servlet3.0异步Callable异步DeferredResult异步SpringMVC面试锦囊 JAVA资深架构师成...

weixin_42213903的博客 462

Spring mvc 的静态资源映射

访问资源报404的话,原因是静态资源被spring mvc的dispatcher servlet拦截。 解决办法:加入静态资源映射的配置:(以图片资源为例) &lt;mvc:resources mapping="/images/**" location="/images/" /&gt; ...

jackzee的博客 564

springmvc避免IE执行AJAX时,返回JSON出现下载文件

text/html;charset=UTF-8

tao_wei162的博客 269

SpringBoot学习日志之DAY05springboot默认首页设置

目录 什么是默认首页 配置springboot默认首页 方式一:通过controller指定RequestMapping路径为(/) 方式二:通过自定义配置类实现WebMvcConfigurer进行设置 方式三:直接将index.html页面放在templates下面就行了 方式四 直接将index.html文件放在static目录下面 什么是默认首页     在启动WEB项目之后...

光滑的秃头 859

关于welcome-file-list(欢迎页)不起作用的解决办法

welcome-file-list是一个配置在web.xml中的一个欢迎页,用于当用户在url中输入工程名称或者输入web容器url(如http://localhost:8080/)时直接跳转的页面. 例如:         index.html         index.jsp         index.action      今天我遇到了一个问题,就是直接输入lo

FruitHardCandy的专栏 3万+

spring mvc 默认首页设置

一般我们通过 http://www.xxx.com 直接访问站点首页,而不是通过http://www.xxx.com/home/index 去访问首页,那么spring MVC首页应该如何设置? 我们发现在spring MVC 中的welcome-file-list无法正常设置默认首页 <welcome-file-list> <welcome-file>...

suncsf的博客 595

SpringBoot之web.xml文件

web.xml的作用 还记得我们在写Java Web的时候吗,那个时候需要Web工程都需要在WEB-INF下,放置一个web.xml文件,其大概格式如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

猎户星座 6268

web.xml中的welcome-file-list标签作用

welcome-file-list是一个配置在web.xml中的一个欢迎页,用于当用户在url中输入项目名称或者输入web容器url(如http://localhost:8080/)时直接跳转的页面. 例如: <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file>

ningmeng666_c的博客 4919
上一篇: Spring+Springmvc+Mybatis(1):项目的整合实例与解释
下一篇: <转载>springmvc(30):springmvc的字符编码过滤器CharacterEncodingFilter相关的几篇博文
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值