JSP简介

合集下载

JSP程序的设计课程设计方案

JSP程序的设计课程设计方案

JSP程序设计课程设计方案1 概述1.1 JSP简介和运行原理JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。

它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。

JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。

每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。

JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。

在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。

当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。

如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet 引擎执行。

1.2 开发背景随着网络与计算机信息技术的发展,信息技术作为工具被引入商务活动的领域从而产生了电子商务。

电子商务就是利用信息技术将商务活动的各实体通过互联网络结合从而实现商务活动过程。

目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。

作为一个虚拟的商店,网上商店具有很多新的特性,以下这些是它的优势:其营业成本完全有理由比传统意义上的商店低得多,不需支持昂贵的店铺租金,花费浩大的装修,不需要将大笔的流动资金作为货物而沉积在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周期。

JSP技术简介

JSP技术简介

第1章JSP技术简介JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。

它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。

在国内,JSP 现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。

本章就对JSP及其相关技术进行简单的介绍。

1.1 认识HTTP协议HTTP协议(Hypertext Transfer Protocol,超文本传送协议)是WWW服务器使用的主要协议,对HTTP协议细节的基本理解是编写JSP或Java小程序的开发人员所必需的。

因此在学习JSP技术之前有必要更加仔细地研究一下HTTP消息的格式(这里的讨论源自HTTP/1.1协议规范。

参见规范2616,网址为/rfc/rfc2616.txt)。

HTTP 协议的关键部分有HTTP请求和HTTP响应,以及客户端Web程序设计的一些基础知识,在第4章4.4节将会具体介绍。

1.2 客户端Web程序设计介绍Web浏览器现已成为深受大多数用户喜爱的用户界面。

HTML语言提供了丰富的控件,第三方厂商提供了Visual Basic编写的数百个额外的控件,这些都使得Web浏览器独具特色。

虽然Web浏览器与传统的GUI界面有一定的差距,但它提供了一种独立而又简单的方法来访问分布式资源,尤其是Internet资源。

而且越来越多的客户端Web程序扩展技术变得更加成熟,出现了包括CSS、JavaScript、VBScript、动态HTML、Java1.1.Applet应用程序等技术在内的客户端Web程序设计技术,它们的相互结合使得Web程序更加迷人。

下面简单介绍几种常用的客户端Web程序设计技术的特点。

本书假定读者对这些技术都有一定的了解,不对这些技术作详细介绍。

1.2.1 CSSCSS(Cascading Style Sheets)称为层叠样式表,是动态HTML技术的一个部分,但可以和HTML结合使用。

1jsp简介

1jsp简介

4
演示示例1
JSP 页面元素 3-1
JSP 页面的元素
静态内容 指令 表达式 HTML静态文本 以“<%@ ” 开始,以“%> ” 结束。比如: <%@ include file = " Filename" %> <%=Java表达式 %>
JSP 页面
Scriptlet 声明 动作 注释
5
<% Java 代码 %> <%! 函数或方法 %>
23
21
使用My eclipse开发JSP 9-9
选择“Run” Web Run “areaofrect.jsp” using “areaofrect” 运行JSP页面
22
总结
JSP 页面使用 HTML 显示静态内容,并使用 Java 代码生成动态内容 JSP 页面的元素为静态内容、JSP 指令、JSP 表 达式、JSP Scriptlet和注释 可以使用标准开发工具创建 JSP 页面 JSP 使用可重用的跨平台组件(如 JavaBean) JSP 允许创建自定义标签,使 JSP 开发更容易 JSP 执行过程的各个阶段为转译、编译和执行
以“<jsp: 动作名 ” 开始,以“</jsp:动作名> ” 结束 比如:<jsp:include page=" Filename" /> <!-- 这是注释,但客户端可以查看到 --> <%-- 这也是注释,但客户端不能查看到 --%>
JSP 页面元素 3-2
JSP 指令 <%@page contentType="text/html; charset=GBK" language="java" import="java.util.Calendar"%>

jsp简介

jsp简介

jsp文件放入其中。 然后通过
http://localhost:8080/ jspexample /*.jsp 访问.
3安装MyEclipse6.0 All In One,里面集成了 JRE, Eclipse3.3,简易的web服务器 MyEclipse Tomcat和数据库服务器
MyEclipse Derby。
Jsp简介
• JSP工作原理
• JSP运行及开发环境的搭建
什么是Jsp
• JSP(Java Server Pages):
(1)基于Java 语言的一种动态网页技术 (2) Jsp页面部署在Web服务器端(Server)供客户端通过 浏览器(Browser)访问。
Jsp页面的主要构成
(1)HTML、CSS标记、JavaScript脚本代码等 (2)Java代码、JSP指令、JSP标记、EL表达式等 其中 (1) 是由浏览器解释执行,属于页面的“静态”元素; (2)在服务器端执行,属于页面的“动态”元素。
Myeclipse6.0的使用步骤
(1)启动Myeclipse6.0 (2)选择工作空间 (3)设置应用服务器(Tomcat6.x) (4)创建Web工程 (5)添加、编辑JSP程序 (6)部署JSP程序 (7)启动tomcat (8)在浏览器中测试JSP程序
Step(3)设置应用服务器(Tomcat6.x): Window-preferences-MyEclipse-ServersTomcat-Tomcat6.x ① 启用(Enable) ②设置tomcat安装目录c:\tomcat6 ③设置tomcat启动所用jdk:使用默认的 myeclipse6.0即可。 Step(5)右击webroot文件夹来创建jsp页面。

JSP技术介绍

JSP技术介绍
有非常快的响应(这避免了CGI-BIN为每个HTTP请求生
成一个新的进程的问题)。

JSP页面可以包含在多种不同的应用体系结构或 者模型中,可以用于由不同协议、组件和格式所组成 的联合体中。基于JSP的动态信息发布技术是一个开放 的、可扩展的建立动态Web页面的标准。不论采用什 么创建工具,开发人员都可以使用JSP页面来创建可移 植的Web应用,在不同的Web应用服务器上运行。

JSP页面通常被编译成为Java Servlets,这是一个标 准的Java扩展。页面开发人员能够访问全部的Java应用 环境,以利用Java技术的扩展性和可移植性。

当JSP页面第一次被调用时,如果它还不存在,就会
被编译成为一个Java Servlets类,并且存储在服务器的内
存中。这就使得在接下来的对该页面的调用中,服务器会
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运 行Servlet/JSP,到由多台服务器进行集群和负载均衡,到 多台Application进行事务处理,消息处理,一台服务器
到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很
像,Java已经有了许多非常优秀的开发工具,而且许多可

由于JSP页面的内置脚本语言是基于Java的,而 且所有的JSP页面都被编译成为Java Servlets,所以 JSP页面具有Java技术的所有好处,包括健壮的存储 管理和安全性。作为Java平台的一部分,JSP拥有 Java编程语言“一次编写,各处运行”的特点。
JSP的应用模型
利用JSP技术,动态信息由JSP页面来表现,JSP 页面由安装在Web服务器或者使用JSP的应用服务器 上的JSP引擎执行。JSP引擎接受客户端对JSP页面的 请求,并且生成JSP页面作为对客户端的响应。

Jsp、MySQL和B S模式简介

Jsp、MySQL和B S模式简介

Jsp、MySQL和B/S模式简介1 Jsp简介1.1 什么是Java Server Pages?JSP全称Java Server Pages,是一种动态网页开发技术。

它使用JSP标签在HTML 网页中插入Java代码。

标签通常以<%开头以%>结束。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。

网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

1.2 为什么使用JSP?JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:(1)性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。

(2)服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。

(3)JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。

(4)JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。

这意味着JSP可以用最简单的方式来实现最复杂的应用。

1.3 JSP的优势以下列出了使用JSP带来的其他好处:(1)与ASP相比:JSP有两大优势。

首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。

第二点就是JSP易于移植到非MS平台上。

(2)与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。

《JSP编程》JSP简介


JSP与Servlet的关系
Java Servlet就是编写在服务器端创建对象的Java类,习 惯上称之为Servlet类,Servlet类的对象习惯上称之为一个 Servlet。 JSP技术就是以Java Servlet为基础,提供了Java Servlet 的几乎所有好处。但是JSP技术不是Java Servlet技术的全 部,它只是Java Servlet技术的一个成功应用。 对于某些Web应用,就可能需要JSP+Javabean+Servlet来 完成,即需要服务器再创建一些Servlet对象,配合JSP页 面来完成整个Web应用程序的工作。
安装配置JSP运行环境
2、安装和启动Tomcat服务器 Tomcat目录结构
安装配置JSP运行环境
3、测试Tomcat服务器 如果在浏览器的地址栏中输入http://localhost:8080或 http://127.0.0.1:8080,会出现如图所示的Tomcat服务 器的测试页面。
测试Tomcat服务器
安装配置JSP运行环境
1、安装和配置JDK 配置环境变量的意义
使其它相关环境变量 的配置更加方便简洁 JAVA_HOME
告诉java虚拟机所有可执 行的.class文件所在目录
帮助系统操作java,先将 源码编译为.class文件,然 后再调用java命令让程序 去执行。因此,配置path
环境变量可以帮助系统找 到并调用java.exe或者是 javac.exe程序,两者均在 bin目录下。
一个服务器上可以有很多基于JSP的Web应用程序,以满 足各种用户的需求。这些Web应用程序必须有一个软件 来统一管理和运行,这样的软件被称作JSP引擎或JSP容 器,而安装JSP引擎的计算机被称作一个支持JSP的Web 服务器。

JSP技术简介

JSP技术简介⼀、 JSP 技术概述 在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应⽤开发技术很快引起了⼈们的关注。

JSP 为创建⾼度动态的 Web 应⽤提供了⼀个独特的开发环境。

按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer 、 IIS4.0 在内的 85% 的服务器产品。

即使您对 ASP "⼀往情深",我们认为,关注 JSP 的发展仍旧很有必要。

㈠ JSP 与 ASP 的简单⽐较 JSP 与 Microsoft 的 ASP 技术⾮常相似。

两者都提供在 HTML 代码中混合某种程序代码、由语⾔引擎解释执⾏程序代码的能⼒。

在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显⽰样式,⽽程序代码则⽤来描述处理逻辑。

普通的HTML 页⾯只依赖于 Web 服务器,⽽ ASP 和 JSP 页⾯需要附加的语⾔引擎分析和执⾏程序代码。

程序代码的执⾏结果被重新嵌⼊到 HTML 代码中,然后⼀起发送给浏览器。

ASP 和 JSP 都是⾯向 Web 服务器的技术,客户端浏览器不需要任何附加的软件⽀持。

ASP 的编程语⾔是 VBScript 之类的脚本语⾔, JSP 使⽤的是 Java ,这是两者最明显的区别。

此外, ASP 与 JSP 还有⼀个更为本质的区别:两种语⾔引擎⽤完全不同的⽅式处理页⾯中嵌⼊的程序代码。

在 ASP 下, VBScript 代码被 ASP 引擎解释执⾏;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执⾏,这种编译操作仅在对 JSP 页⾯的第⼀次请求时发⽣。

㈡运⾏环境 Sun 公司的 JSP 主页在 /products/jsp/index.html ,从这⾥还可以下载 JSP 规范,这些规范定义了供应商在创建 JSP 引擎时所必须遵从的⼀些规则。

Jsp详解

Jsp详解1.简介2.Jsp的运行原理3.Jsp的语法1.Jsp模板元素2.Jsp中的脚本表达式3.Jsp中的脚本片段4.Jsp的声明5.Jsp注释6.Jsp指令1.首先我们来看一下page指令的用法2.下面在来看一下include指令3.最后来看一下taglib指令7.Jsp中内置的9个隐式对象8.JSP标签库1.jspinclude标签2.jspforward标签3.jspparam或者jspparams标签4.jspuseBean标签jspsetProperty标签jspgetProperty标签9.Jsp中怎么排查错误简介:JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

不管是JSP还是Servlet,虽然都可以用于开发动态web资源。

但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:目标:Web服务器是如何调用并执行一个jsp页面的?Jsp页面中的html排版标签是如何被发送到客户端的?Jsp页面中的java代码服务器是如何执行的?Web服务器在调用jsp时,会给jsp提供一些什么java对象?思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>2.3.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">4.<html>5.<head>6.7.<title>My JSP 'MyJsp.jsp' starting page</title>8.9.</head>10.11.<body>12. This is my JSP page. <br>13.</body>14.</html>1.package org.apache.jsp;2.3.import javax.servlet.*;4.import javax.servlet.http.*;5.import javax.servlet.jsp.*;6.import java.util.*;7.8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase9.implements org.apache.jasper.runtime.JspSourceDependent {10.11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();12.13.private static java.util.List _jspx_dependants;14.15.private javax.el.ExpressionFactory _el_expressionfactory;16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;17.18.public Object getDependants() {19.return _jspx_dependants;20. }21.22.public void _jspInit() {23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());25. }26.27.public void _jspDestroy() {28. }29.30.public void _jspService(HttpServletRequest request, HttpServletResponse response)31.throws java.io.IOException, ServletException {32.33. PageContext pageContext = null;34. HttpSession session = null;35. ServletContext application = null;36. ServletConfig config = null;37. JspWriter out = null;38. Object page = this;39. JspWriter _jspx_out = null;40. PageContext _jspx_page_context = null;41.42.43.try {44. response.setContentType("text/html;charset=utf-8");45. pageContext = _jspxFactory.getPageContext(this, request, response,46.null, true, 8192, true);47. _jspx_page_context = pageContext;48. application = pageContext.getServletContext();49. config = pageContext.getServletConfig();50. session = pageContext.getSession();51. out = pageContext.getOut();52. _jspx_out = out;53.54. out.write("\r\n");55. out.write("\r\n");56. out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");57. out.write("<html>\r\n");58. out.write(" <head>\r\n");59. out.write(" \r\n");60. out.write(" <title>My JSP 'MyJsp.jsp' starting page</title>\r\n");61. out.write(" \r\n");62. out.write(" </head>\r\n");63. out.write(" \r\n");64. out.write(" <body>\r\n");65. out.write(" This is my JSP page. <br>\r\n");66. out.write(" </body>\r\n");67. out.write("</html>\r\n");68. } catch (Throwable t) {69.if (!(t instanceof SkipPageException)){70. out = _jspx_out;71.if (out != null && out.getBufferSize() != 0)72.try { out.clearBuffer(); } catch (java.io.IOException e) {}73.if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);74. }75. } finally {76. _jspxFactory.releasePageContext(_jspx_page_context);77. }78. }79.}我们看到,这个类继承了org.apache.jasper.runtime.HttpJspBase,要想看到这个类的源码,我1./*2. * Licensed to the Apache Software Foundation (ASF) under one or more3. * contributor license agreements. See the NOTICE file distributed with4. * this work for additional information regarding copyright ownership.5. * The ASF licenses this file to You under the Apache License, Version 2.06. * (the "License"); you may not use this file except in compliance with7. * the License. You may obtain a copy of the License at8. *9. * /licenses/LICENSE-2.010. *11. * Unless required by applicable law or agreed to in writing, software12. * distributed under the License is distributed on an "AS IS" BASIS,13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14. * See the License for the specific language governing permissions and15. * limitations under the License.16. */17.18.package org.apache.jasper.runtime;19.20.import java.io.IOException;21.22.import javax.servlet.ServletConfig;23.import javax.servlet.ServletException;24.import javax.servlet.http.HttpServlet;25.import javax.servlet.http.HttpServletRequest;26.import javax.servlet.http.HttpServletResponse;27.import javax.servlet.jsp.HttpJspPage;28.import javax.servlet.jsp.JspFactory;29.30.import piler.Localizer;31.32./**33. * This is the super class of all JSP-generated servlets.34. *35. * @author Anil K. Vijendran36. */37.public abstract class HttpJspBase38.extends HttpServlet39.implements HttpJspPage40.41.42.{43.44.protected HttpJspBase() {45. }46.47.public final void init(ServletConfig config)48.throws ServletException49. {50.super.init(config);51. jspInit();52. _jspInit();53. }54.55.public String getServletInfo() {56.return Localizer.getMessage("");57. }58.59.public final void destroy() {60. jspDestroy();61. _jspDestroy();62. }63.64./**65. * Entry point into service.66. */67.public final void service(HttpServletRequest request, HttpServletResponse response)68.throws ServletException, IOException69. {70. _jspService(request, response);71. }72.73.public void jspInit() {74. }75.76.public void _jspInit() {77. }78.79.public void jspDestroy() {80. }81.82.protected void _jspDestroy() {83. }84.85.public abstract void _jspService(HttpServletRequest request,86. HttpServletResponse response)87.throws ServletException, IOException;88.}好吧,看到了,继承了HttpServlet类,所以说其实Jsp就是一个ServletJsp的语法:1.JSP模版元素2.JSP表达式3.JSP脚本片段4.JSP注释5.JSP指令6.JSP标签7.JSP内置对象8.如何查找JSP页面中的错误Jsp模板元素JSP页面中的HTML内容称之为JSP模版元素。

Recoverd_ppt_file(17)


⒊初始化:调用由JSP页面转化而来的Servlet 的jspinit方法。 ⒋执行:执行由JSP页面转化而来的Servlet的 _jspService方法。 ⒌清理:调用由JSP页面转化而来的Servlet的 jspDestroy方法。
四、JSP的基本应用模式 与Java Servlet相结合,大大地扩展JSP的功能。 Java Servlet运行在支持Java的Web服务器上并 扩展了服务器的能力,再采用JDBC、 JavaBeans等J2EE的相关内容,形成一个比较 完整的Internet下的技术链条,还可以进一步 地使用RMI、JNI、Java IDL等技术。
⒋拥有Java语言的优势,JSP采用Java语言作 为脚本语言,而Java语言是成熟的、易扩充 的、稳固的语言,本身Байду номын сангаас能十分强大,较之 其它脚本语言有很明显的优势。 ⒌强大的数据库支持,由于可以在JSP中使用 JDBC,可以和任何支持JDBC的数据库建立 连接,可以访问一些主流数据服务器诸如 Oracle、IBM DB2、Microsoft SQL Server、 MySQL、Sybase、Microsoft Access等。 ⒍支持多种网页格式HTML、WML、XML。
JSP代码的运行步骤
转化 JSP程序 Servlet程序 编译 Java字节码 驻留
以Servlet形式存在
二、JSP的特点和优势 ⒈一次编写,处处运行,具有Java语言的平 台无关性的特点。 ⒉程序的执行效率高,JSP中的代码被编译成 Servlet并由Java虚拟机执行,编译过程只在程 序第一次执行时进行,之后无需再编译,执 行效率较高。 ⒊具有强大的服务器端组件,JSP中可以使用 JavaBean组件、EJB组件等来增强功能,这些 技术已经十分成熟,有大量的资源可供使用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档