基于SSH2与MVC的网上购物系统典型功能模块开发_第1页
基于SSH2与MVC的网上购物系统典型功能模块开发_第2页
基于SSH2与MVC的网上购物系统典型功能模块开发_第3页
基于SSH2与MVC的网上购物系统典型功能模块开发_第4页
基于SSH2与MVC的网上购物系统典型功能模块开发_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java WebJava Web应用程序开发任务驱动教程应用程序开发任务驱动教程 陈陈承欢承欢单元单元9 9基于基于SSH2SSH2与与MVCMVC的网上的网上购物购物 系统系统典型功能模块开发典型功能模块开发【问题探析问题探析】【问题【问题1 1】应用程序的三层架构与】应用程序的三层架构与MVCMVC模式有何区别和联系?模式有何区别和联系?【问题【问题2 2】SSHSSH框架与框架与MVCMVC模式有何联系?模式有何联系?1 1SSHSSH框架框架 SSH SSH框架就是指框架就是指StrutsStruts、SpringSpring、HibernateHibernate这三大流行框架的集成。

2、这三大流行框架的集成。 Struts Struts主要负责表示层的实现,它提供的丰富标签用于主要负责表示层的实现,它提供的丰富标签用于ViewView,同时,同时strutsstruts也充当了实现也充当了实现ControlControl的功能,实现接收参数和视图分发功能。的功能,实现接收参数和视图分发功能。 Spring Spring利用它的利用它的IoCIoC和和AOPAOP来处理控制业务(负责对数据库的操作),来处理控制业务(负责对数据库的操作),用于降低层与层间耦合度的,所有的类都可以由用于降低层与层间耦合度的,所有的类都可以由SpringSpring统一创建,用统一创建,用时只需注入

3、即可(时只需注入即可(IoCIoC)。)。 Hibernate Hibernate主要是数据的持久化到数据库,是底层基于主要是数据的持久化到数据库,是底层基于JDBCJDBC的的ORMORM(对象关系映射)持久化框架,即表与类的映射,字段与属性的映射,(对象关系映射)持久化框架,即表与类的映射,字段与属性的映射,记录与对象的映射。记录与对象的映射。【知识必备知识必备】2 2StrutsStruts Struts Struts是一个在是一个在JSP Model2JSP Model2基础上实现的基础上实现的MVCMVC框架,框架,主要是采用主要是采用ServletServlet和和JSPJSP技术

4、来实现的。技术来实现的。StrutsStruts能充分能充分满足应用开发的需求,且简单易用、敏捷迅速。满足应用开发的需求,且简单易用、敏捷迅速。StrutsStruts把把ServletServlet、JSPJSP、自定义标签和信息资源(、自定义标签和信息资源(message message resourcesresources)整合到一个统一的框架中,开发人员利用)整合到一个统一的框架中,开发人员利用其进行开发时不用自己编码实现全套其进行开发时不用自己编码实现全套MVCMVC模式,极大的模式,极大的节省了时间,所以说节省了时间,所以说StrutsStruts是一个非常不错的应用框架是一个非常

5、不错的应用框架。【知识必备知识必备】3 3SpringSpring Spring Spring是一个解决了许多是一个解决了许多Java EEJava EE开发中常见问题并开发中常见问题并能够替代能够替代EJBEJB技术的强大的轻量级框架。这里所说的轻量技术的强大的轻量级框架。这里所说的轻量级指的是级指的是SpringSpring框架本身,而不是指框架本身,而不是指SpringSpring只能用于轻量只能用于轻量级的应用开发。级的应用开发。SpringSpring的轻盈体现在其框架本身的基础结的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力。与构以及对其他应用工具的支持和装配能

6、力。与EJBEJB这种庞这种庞然大物相比,然大物相比,SpringSpring可使程序研发人员把各个技术层次之可使程序研发人员把各个技术层次之间的风险降低间的风险降低。【知识必备知识必备】4 4HibernateHibernate Hibernate Hibernate是一个开放源代码的对象关系映射框架,为快速是一个开放源代码的对象关系映射框架,为快速开发应用程序提供了底层的支持。开发应用程序提供了底层的支持。HibernateHibernate对对JDBCJDBC进行了轻量进行了轻量级的对象封装,使得级的对象封装,使得JavaJava程序员可以随心所欲的使用对象编程程序员可以随心所欲的使用对

7、象编程思维来操纵数据库。思维来操纵数据库。 Hibernate Hibernate可以应用在任何使用可以应用在任何使用JDBCJDBC的场的场合,既可以在合,既可以在JavaJava的客户端程序实用,也可以在的客户端程序实用,也可以在Servlet/JSPServlet/JSP的的WebWeb应用中使用,最具革命意义的是,应用中使用,最具革命意义的是,HibernateHibernate可以在应用可以在应用EJBEJB的的Java EEJava EE架构中取代架构中取代CMPCMP,完成数据持久化的重任,完成数据持久化的重任。【知识必备知识必备】【操作必备操作必备】1 1开发环境准备开发环境准

8、备(1 1)从网上下载)从网上下载ServletServlet支持类库支持类库servlet-api.jarservlet-api.jar、JDBCJDBC支持类库支持类库sqljdbc4.jarsqljdbc4.jar、Struts 2Struts 2支持类库的支持类库的jarjar包、包、HibernateHibernate支持类库的支持类库的jarjar包和包和SpringSpring支持类库的支持类库的jarjar包包(2 2)在)在Microsoft SQL Server 2008Microsoft SQL Server 2008中创建数据库中创建数据库ECommerceEComme

9、rce,并在该数据,并在该数据库中创建库中创建“商品数据表商品数据表”、“商品类型表商品类型表”和和“用户表用户表”。(3 3)准备开发)准备开发WebWeb应用程序所需的图片文件、应用程序所需的图片文件、CSSCSS样式文件和验证用的样式文件和验证用的JavascriptJavascript文件。文件。(4 4)启动)启动EclipseEclipse,设置工作空间为,设置工作空间为Unit09Unit09,然后进入,然后进入EclipseEclipse的开发环境。的开发环境。(5 5)在)在EclipseEclipse集成开发环境中配置与启动集成开发环境中配置与启动TomcatTomcat服

10、务器。服务器。【操作必备操作必备】 (6 6)新建动态)新建动态WebWeb项目,命名为项目,命名为task9-Xtask9-X,本单元有,本单元有6 6个任务,每个任个任务,每个任务创建一个独立的务创建一个独立的WebWeb项目,命名分别为项目,命名分别为task9-1task9-1至至task9-6task9-6。 (7 7)在)在WebWeb项目中创建包,将其命名为项目中创建包,将其命名为“package09Xpackage09X”,本单元各个,本单元各个WebWeb项目中的包分别命名为项目中的包分别命名为package091package091至至package096package09

11、6。 (8 8)将)将JarJar包文件包文件servlet-api.jarservlet-api.jar和和sqljdbc4.jarsqljdbc4.jar、Struts 2Struts 2支持类支持类库的库的jarjar包、包、HibernateHibernate支持类库的支持类库的jarjar包、包、SpringSpring支持类库的支持类库的jarjar包拷贝包拷贝到各个到各个WebWeb项目的文件夹项目的文件夹“WebContentWEB-INFlibWebContentWEB-INFlib”下,并在下,并在EclipseEclipse集成开发环境的集成开发环境的“项目资源管理器项目

12、资源管理器”刷新各个刷新各个WebWeb项目。项目。 (9 9)为了便于应用程序的管理和维护,建立好)为了便于应用程序的管理和维护,建立好JavaJava类的包结构,类的包结构,WebWeb项目项目task9-1task9-1的包结构如图的包结构如图9-59-5所示所示。【操作必备操作必备】2 2创建与编写配置文件创建与编写配置文件(1 1)创建与编写)创建与编写Struts 2Struts 2的配置文件的配置文件Struts 2.xmlStruts 2.xml 在在EclipseEclipse的【项目资源管理器】的子文件夹的【项目资源管理器】的子文件夹“srcsrc”中创建配置文件中创建配置

13、文件Struts 2.xmlStruts 2.xml,其代码如表,其代码如表9-19-1所示。所示。(2 2)创建与编写配置文件)创建与编写配置文件struts-default.xmlstruts-default.xml 配置文件配置文件struts-default.xmlstruts-default.xml用于设置前后台公共视图映射,其主要用于设置前后台公共视图映射,其主要代码如表代码如表9-29-2所示。所示。(3 3)创建与编写配置文件)创建与编写配置文件struts-admin.xmlstruts-admin.xml 配置文件配置文件struts-admin.xmlstruts-adm

14、in.xml用于设置后台请求的用于设置后台请求的ActionAction和视图映射,和视图映射,其主要代码如表其主要代码如表9-39-3所示所示。【操作必备操作必备】(4 4)创建与编写配置文件)创建与编写配置文件struts-front.xmlstruts-front.xml配置文件配置文件struts-front.xmlstruts-front.xml用于设置前台请求的用于设置前台请求的ActionAction和视图映射,其主和视图映射,其主要代码如表要代码如表9-49-4所示。所示。(5 5)创建与编写)创建与编写HibernateHibernate的配置文件的配置文件hibernate

15、.cfg.xmlhibernate.cfg.xmlHibernateHibernate的配置文件的配置文件hibernate.cfg.xmlhibernate.cfg.xml主要用于配置数据库的连接信息主要用于配置数据库的连接信息和映射文件,其代码如表和映射文件,其代码如表9-59-5所示。所示。(6 6)创建与编写)创建与编写SpringSpring的配置文件的配置文件applicationContext-common.xmlapplicationContext-common.xmlapplicationContext-common.xmlapplicationContext-common.

16、xml是是SpringSpring的核心配置文件,主要用于加载的核心配置文件,主要用于加载HibernateHibernate的配置文件以及的配置文件以及SessionSession管理类,代码如表管理类,代码如表9-69-6所示。所示。(7 7)创建与编写配置文件)创建与编写配置文件web.xmlweb.xml【操作必备操作必备】3 3创建与设计实体类文件创建与设计实体类文件(1 1)创建与设计商品实体类文件)创建与设计商品实体类文件ProductInfo.javaProductInfo.java 在在包包ductpackage091.model.pr

17、oduct中创建商品实体类文件中创建商品实体类文件ProductInfo.javaProductInfo.java,其代码如表,其代码如表9-89-8所示。所示。(2 2)创建与设计商品类型实体类文件)创建与设计商品类型实体类文件ProductCategory.javaProductCategory.java 在在包包duct中创建商品类型实体类文件中创建商品类型实体类文件ProductCategory.javaProductCategory.java,其代码如表,其代码如表9-99-9所示。所示。(3 3

18、)创建与设计文件实体类文件)创建与设计文件实体类文件UploadFile.javaUploadFile.java 在在包包duct中创建文件实体类文件中创建文件实体类文件UploadFile.javaUploadFile.java,其代码如表,其代码如表9-109-10所示所示。【操作必备操作必备】(4 4)创建与设计普通用户实体类文件)创建与设计普通用户实体类文件Customer.javaCustomer.java 在在包包package091.model.userpackage091.model.use

19、r中创建普通用户实体类文件中创建普通用户实体类文件Customer.javaCustomer.java,其代码如表其代码如表9-119-11所示。所示。(5 5)创建与设计管理员实体类文件)创建与设计管理员实体类文件User.javaUser.java 在在包包package091.model.userpackage091.model.user中创建管理员实体类文件中创建管理员实体类文件User.javaUser.java,其代,其代码如表码如表9-129-12所示。所示。(6 6)创建与设计分页实体类文件)创建与设计分页实体类文件PageModel.javaPageModel.java 在在

20、包包package091.modelpackage091.model中创建分页实体类文件中创建分页实体类文件PageModel.javaPageModel.java,该实体,该实体类中封装了分页的基本属性信息和分页过程中使用的获取页码的方法,其类中封装了分页的基本属性信息和分页过程中使用的获取页码的方法,其代码如表代码如表9-139-13所示所示。【操作必备操作必备】4 4创建与设计实体对象的映射文件创建与设计实体对象的映射文件(1 1)创建与设计商品实体对象的映射文件)创建与设计商品实体对象的映射文件ProductInfo.hbm.xmlProductInfo.hbm.xml 在在包包pac

21、duct中创建商品实体对象的映射文件中创建商品实体对象的映射文件ProductInfo.hbm.xmlProductInfo.hbm.xml,其代码如表,其代码如表9-149-14所示。所示。(2 2)创建与设计商品类型实体对象的映射文件)创建与设计商品类型实体对象的映射文件ProductCategory.hbm.xmlProductCategory.hbm.xml 在在包包duct中创建商品类型实体对象的映射文件中创建商品类

22、型实体对象的映射文件ProductCategory.hbm.xmlProductCategory.hbm.xml,其代码如表,其代码如表9-159-15所示。所示。(3 3)创建与设计文件实体对象的映射文件)创建与设计文件实体对象的映射文件UploadFile.hbm.xmlUploadFile.hbm.xml 在在包包duct中创建文件实体对象的映射文件中创建文件实体对象的映射文件UploadFile.hbm.xmlUploadFile.hbm.xml,其代码如表,其代码如表9-169-16所示所示。【操

23、作必备操作必备】(4 4)创建与设计普通用户实体对象的映射文件)创建与设计普通用户实体对象的映射文件Customer.hbm.xmlCustomer.hbm.xml 在在包包package091.model.userpackage091.model.user中创建普通用户实体对象的映射文件中创建普通用户实体对象的映射文件Customer.hbm.xmlCustomer.hbm.xml,其代码如表,其代码如表9-179-17所示。所示。(5 5)创建与设计管理员实体对象的映射文件)创建与设计管理员实体对象的映射文件User.hbm.xmlUser.hbm.xml 在在包包package091.m

24、odel.userpackage091.model.user中创建管理员实体对象的映射文件中创建管理员实体对象的映射文件User.hbm.xmlUser.hbm.xml,其代码如表,其代码如表9-189-18所示所示。【操作必备操作必备】5 5创建与设计公共类创建与设计公共类(1 1)创建泛型工具类)创建泛型工具类GenericsUtilsGenericsUtils 为了为了将一些公用的持久化方法提取出来,首先需要实现获取实体将一些公用的持久化方法提取出来,首先需要实现获取实体对象的类型方法,这里通过创建一个泛型工具类来达到此目的。在包对象的类型方法,这里通过创建一个泛型工具类来达到此目的。在

25、包package091.utilpackage091.util中创建泛型工具类中创建泛型工具类GenericsUtilsGenericsUtils,该类的代码如表,该类的代码如表9-199-19所示。所示。(2 2)创建字符串工具类)创建字符串工具类StringUitlStringUitl 在在包包package091.utilpackage091.util中创建字符串工具类文件中创建字符串工具类文件StringUitl.javaStringUitl.java,该类中声明的所有方法都是静态方法,以便在其他类中可以通过该类中声明的所有方法都是静态方法,以便在其他类中可以通过StringUitlS

26、tringUitl类名直接调用类名直接调用。【操作必备操作必备】(3 3)创建设置页面错误提示信息类及其方法)创建设置页面错误提示信息类及其方法在包在包package091.utilpackage091.util中创建设置页面错误提示信息的类中创建设置页面错误提示信息的类AppExceptionAppException,在该类定义多个构造方法和获取错误提示信息的方法,其代码如表在该类定义多个构造方法和获取错误提示信息的方法,其代码如表9-9-2121所示。所示。(4 4)创建数据库操作与分页的类及其方法)创建数据库操作与分页的类及其方法在包在包package091.daopackage091.

27、dao中创建接口中创建接口BaseDaoBaseDao,在该接口中定义基本数,在该接口中定义基本数据库操作方法和分页操作方法,其代码如表据库操作方法和分页操作方法,其代码如表9-229-22所示。所示。在包在包package091.daopackage091.dao中创建继承接口中创建继承接口BaseDaoBaseDao的类的类DaoSupportDaoSupport,在该类中实现接口的自定义方法,其中实现接口基本数据库操作方法在该类中实现接口的自定义方法,其中实现接口基本数据库操作方法的代码如表的代码如表9-239-23所示所示。【操作必备操作必备】6 6创建与设计基本创建与设计基本Acti

28、onAction类类BaseActionBaseAction 在在包包package091.actionpackage091.action中创建一个基本中创建一个基本ActionAction类类BaseActionBaseAction,该,该类是其他类是其他ActionAction的父类,其代码如表的父类,其代码如表9-259-25所示所示。【操作必备操作必备】7 7创建与设计公共创建与设计公共JSPJSP页面页面(1 1)创建)创建JSPJSP页面页面common.jspcommon.jsp在子文件夹在子文件夹commoncommon中创建中创建JSPJSP页面页面common.jspcom

29、mon.jsp,其代码如表,其代码如表9-269-26所示。所示。(2 2)创建)创建JSPJSP页面页面head.jsphead.jsp在子文件夹在子文件夹commoncommon中创建中创建JSPJSP页面页面head.jsphead.jsp,其代码如表,其代码如表9-279-27所示。所示。(3 3)创建)创建JSPJSP页面页面bottom.jspbottom.jsp在子文件夹在子文件夹commoncommon中创建中创建JSPJSP页面页面bottom.jspbottom.jsp,其代码如表,其代码如表9-289-28所示。所示。(4 4)创建)创建JSPJSP页面页面page.js

30、ppage.jsp在子文件夹在子文件夹commoncommon中创建中创建JSPJSP页面页面page.jsppage.jsp,其代码如表,其代码如表9-299-29所示。所示。(5 5)创建)创建JSPJSP页面页面show_error.jspshow_error.jsp【基础应用基础应用】【任务任务9-19-1】基于】基于SSH2SSH2的前台商品信息展示的前台商品信息展示 与与搜索模块的开发搜索模块的开发【任务描述任务描述】 基于基于SSH2SSH2创建创建Java WebJava Web应用程序,实现在前应用程序,实现在前台展示与搜索商品信息。台展示与搜索商品信息。【任务实施任务实施】

31、1 1创建起始创建起始JSPJSP页面页面task9-1.jsptask9-1.jsp2 2创建创建ActionAction类类indexActionindexAction3 3创建与设计接口创建与设计接口ProductDaoProductDao4 4创建与设计类创建与设计类ProductDaoImplProductDaoImpl5 5创建与设计创建与设计JSPJSP页面页面index.jspindex.jsp6 6创建与设计创建与设计ActionAction类类ProductActionProductAction7 7创建与设计创建与设计JSPJSP页面页面product_list.jspp

32、roduct_list.jsp8 8创建与设计创建与设计JSPJSP页面页面product_select.jspproduct_select.jsp9 9扩展扩展JSPJSP页面页面head.jsphead.jsp的功能的功能1010运行程序输出结果运行程序输出结果【基础应用基础应用】【任务任务9-29-2】基于】基于SSH2SSH2的后台商品信息管理模块的开发的后台商品信息管理模块的开发【任务描述任务描述】 基于基于SSH2SSH2创建创建Java WebJava Web应用程序,实现在后台对应用程序,实现在后台对商品信息进行查询、修改、删除和新增等功能商品信息进行查询、修改、删除和新增等功

33、能。【任务实施任务实施】1 1创建起始创建起始JSPJSP页面页面task9-2.jsptask9-2.jsp2 2创建与设计创建与设计JSPJSP页面页面index.jspindex.jsp3 3创建与设计创建与设计ActionAction类类userActionuserAction4 4创建与设计创建与设计JSPJSP页面页面main.jspmain.jsp5 5扩展扩展ActionAction类类ProductActionProductAction(1 1)在)在ProductActionProductAction类中定义类中定义list()list()方法方法(2 2)在)在Produ

34、ctActionProductAction类中定义新增、修改、保存和删除类中定义新增、修改、保存和删除商品商品 数据数据的方法的方法(3 3)在)在ProductActionProductAction类中定义创建商品类型树的方法类中定义创建商品类型树的方法(4 4)在)在ProductActionProductAction类中定义在商品类型树中添加节点的方法类中定义在商品类型树中添加节点的方法【任务实施任务实施】6 6创建与设计接口创建与设计接口ProductCategoryDaoProductCategoryDao7 7创建与设计类创建与设计类ProductCategoryDaoImplPr

35、oductCategoryDaoImpl8 8创建与设计接口创建与设计接口UploadFileDaoUploadFileDao9 9创建与设计类创建与设计类UploadFileDaoImplUploadFileDaoImpl1010创建与设计创建与设计JSPJSP页面页面product_list.jspproduct_list.jsp1111创建与设计创建与设计JSPJSP页面页面product_edit.jspproduct_edit.jsp1212创建与设计创建与设计JSPJSP页面页面product_add.jspproduct_add.jsp1313运行程序输出结果运行程序输出结果【渐

36、进应用渐进应用】【任务任务9-39-3】基于】基于SSH2SSH2的用户登录模块的开发的用户登录模块的开发【任务描述任务描述】 基于基于SSH2SSH2创建创建Java WebJava Web应用程序,分别实现系统应用程序,分别实现系统管理员登录和普通用户登录功能。管理员登录和普通用户登录功能。【任务实施任务实施】1 1创建起始创建起始JSPJSP页面页面task9-3.jsptask9-3.jsp2 2创建与设计创建与设计JSPJSP页面页面index.jspindex.jsp3 3扩展扩展ActionAction类类userActionuserAction的功能的功能4 4创建与设计创建与

37、设计JSPJSP页面页面user_login.jspuser_login.jsp5 5创建与设计创建与设计JSPJSP页面页面main.jspmain.jsp6 6创建与设计接口创建与设计接口UserDaoUserDao7 7创建与设计类创建与设计类UserDaoImplUserDaoImpl8 8创建与设计系统管理员登录拦截器创建与设计系统管理员登录拦截器9 9运行系统管理员登录程序输出结果运行系统管理员登录程序输出结果【渐进应用渐进应用】【任务任务9-49-4】基于】基于SSH2SSH2的用户注册模块的开发的用户注册模块的开发【任务描述任务描述】基于基于SSH2SSH2创建创建Java W

38、ebJava Web应用程序,实现用户注册功能应用程序,实现用户注册功能。【任务实施任务实施】1 1创建起始创建起始JSPJSP页面页面task9-4.jsptask9-4.jsp2 2创建与设计创建与设计JSPJSP页面页面index.jspindex.jsp3 3创建与设计创建与设计ActionAction类类customerActioncustomerAction4 4创建与设计接口创建与设计接口CustomerDaoCustomerDao5 5创建与设计类创建与设计类CustomerDaoImplCustomerDaoImpl6 6创建与设计创建与设计XMLXML文件文件Custome

39、rAction-customer_save-CustomerAction-customer_save- validation.xml validation.xml7 7创建与设计创建与设计JSPJSP页面页面customer_reg.jspcustomer_reg.jsp8 8运行用户注册程序输出结果运行用户注册程序输出结果【典型应用典型应用】【任务任务9-59-5】用户注册表单中验证码的生成与检验】用户注册表单中验证码的生成与检验【任务描述任务描述】 在在用户注册时添加验证码可以防止黑客利用恶意用户注册时添加验证码可以防止黑客利用恶意程序进行频繁注册等操作,编写程序进行频繁注册等操作,编写J

40、ava WebJava Web应用程序,应用程序,在用户注册页面中生成验证码,并检验用户输入的验在用户注册页面中生成验证码,并检验用户输入的验证码是否正确。证码是否正确。【任务实施任务实施】1 1配置程序开发环境配置程序开发环境2 2创建创建ServletServlet类类ValidateCodeServletValidateCodeServlet3 3创建创建ServletServlet类类ValidateYZMServletValidateYZMServlet4 4在在web.xmlweb.xml文件中对文件中对ValidateCodeServletValidateCodeServlet类进行配置类进行配置5 5创建与设计创建与设计JSPJSP页面页面login9-5.jsplogin9-5.jsp 在在WebWeb项目项目task9-5tas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论