欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《JAVA应用开发课程设计》报告书格式.pdf

    • 资源ID:36132823       资源大小:485.46KB        全文页数:23页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《JAVA应用开发课程设计》报告书格式.pdf

    无锡职业技术学院课程设计材料撰写用纸0JAVA 应用开发课程设计课程设计课 程 设 计 说 明 书系部:计算机技术系专业:软件技术(NIIT)课题名称: JAVA 应用开发课程设计课程设计班级:学号:姓名:指导教师:无锡职业技术学院电子与信息工程学院计算机技术系软件教研室2011 年年 12 月月 7 日日无锡职业技术学院课程设计材料撰写用纸1目目录录JAVA 应用开发课程设计课程设计任务书. 2课程设计说明书. 3课程设计小结. 22无锡职业技术学院课程设计材料撰写用纸2JAVA 应用开发课程设计课程设计任务书系部班级学号姓名本课程设计的目的是通过JAVA 应用程序开发课程设计,使学生掌握基于 MVC模式的 Java EE 开发理念、掌握以数据库为后台的应用程序开发,使学生初步具备使用JSP、Java Servlet、Struts 框架结构进行 B/S 应用程序开发的能力。课程设计特别强调与企业软件开发过程的接轨,强调企业开发中的编程规范,采用软件开发的流程,使学生在课程设计中熟悉企业软件开发的过程。按照JAVA 应用程序开发课程设计实训指导书的要求,本课程设计要求学生完成下述几个项目:1. 学生信息管理系统项目学生信息管理系统项目该项目以学生基本信息管理为基础,构建基于 B/S 架构的学生信息管理平台,为用户和数字化校园提供数据服务,保证了数据的一致性、权威性、准确性和及时性。通过本项目, 学生可以熟练掌握相关开发工具的基本使用方法, 理解 HTML、 JSP、 JavaScript的基本原理,学会在相关文档的指导下完成项目的设计、编码、实现。2. 客户信息管理系统项目客户信息管理系统项目该项目使用计算机技术实现客户管理系统, 能够满足现代企业对自身客户资源管理的要求,同时可以减少客户资源管理过程中的大量人力、物力和财力等。通过本项目,学生掌握使用 Struts MVC 框架设计 Web 应用程序,开发 Struts 动作类、配置 Struts 动作映射,理解在 Web 应用程序中会话管理的基本原理,学会数据库建模并实现 Web 应用程序与数据库的集成,使用 Struts 标签库编写 JSP 代码,开发 ActionForm 类、配置视图表单,在教师的指导下完成整个项目的设计、编码、实现。3. NIIT MVC4-MT1(J2EE)和)和 MVC4-MT2(J2ME)知识整理与测试)知识整理与测试该项目侧重 NIIT MVC4-MT1(J2EE)和 NIIT MVC4-MT2(J2ME)知识点整理、课堂测试、真题讲解。促使学生理解并掌握使用 JAVA 开发移动应用程序、使用 Servlet和 JSP 技术开发 Web 组件的相关理论基础知识。开始日期:开始日期:20112011年年1111 月月2424日日完成日期完成日期:20112011年年1212月月7 7日日答辩日期:答辩日期:20112011年年1212 月月7 7日日指导老师:指导老师:邱晓荣邱晓荣黄能耿黄能耿无锡职业技术学院课程设计材料撰写用纸3课程设计说明书课程设计说明书一、一、项目名称项目名称客户信息管理系统二、二、需求分析需求分析随着科技的发展、时代的进步,市场经济的竞争也越发激烈,在竞争中客户作为市场最主要的资源,早已成为市场营销的核心。企业拥有越多的客户资源,其在市场竞争中就会占有相当大的优势。随着企业的壮大,客户也越来越多,客户管理就越发显得重要。传统的手工操作管理方式,易发生数据丢失、统计错误、劳动强度高、速度慢等问题。使用计算机技术实现客户管理系统能够满足现代企业对自身客户资源管理的要求,同时可以减少客户资源管理过程中的大量人力、物力和财力等。下图是系统结构的功能模块图:客户信息管理系用户登录客户信息管理添加客户信更改客户信显示客户信删除客户信图 1 功能模块图三、三、系统设计系统设计1.系统平台搭建操作系统:Windows XP体系结构:基于 B/S 模式的 Java EE 应用程序数据库系统:Microsoft SQL Server 2005无锡职业技术学院课程设计材料撰写用纸4第三方框架:Struts 1.3.x应用服务器:Tomcat 7.x集成开发环境:Eclipse 3.7.x(Indigo)2. 数据库建模利用 PowerDesigner 进行数据库建模新建 Microsoft SQL Server 2005 数据库数据库名为:CustomerInfoMIS利用 SQL 脚本初始化数据库配置 Microsoft SQL Server 2005 数据库1配置TCP端口:开始-程序-Microsoft SQL Server 2005-配置工具-SQL ServerConfiguration Manager-SQL Server 2005网络配置-MSSQLSERVER协议,启用TCP/IP。2在SQL Server Configuration Manager-SQL Server 2005 网络配置-MSSQLSERVER协议中双击TCP/IP,在IP 地址标签页中将所有TCP 端口项设置默认的1433端口。3SQL Server Configuration Manager-SQL Server 2005 服务中重新启动 SQL Server(MSSQLSERVER) ,这样就完成了对 sql2005 服务器的配置。3、利用 PowerDesigner 进行数据库建模数据库名称:CustomerInfoMIS数据库类型:Microsoft SQL Server 2005相关数据表用户信息表:UserInfo客户信息表:CustomerInfo1 新建 Microsoft SQL Server 2005 数据库,数据库名为:CustomerInfoMIS表1用户信息表UserInfo字段名称字段含义字段类型是否允许为空主外键约束自动增长UserID用户 IDint不能为空主键是UserName用户名称nvarchar(50)不能为空UserPassword用户密码nvarchar(50)不能为空表2客户信息表CustomerInfo字段名称字段含义字段类型是否允许为空主外键约束自动增长CustomerID客户 IDint不能为空主键是CustomerName客户名称nvarchar(50)不能为空EnterpriseCharacter企业性质nvarchar(50)不能为空CustomerRank客户级别nvarchar(50)不能为空CustomerType客户类型nvarchar(50)不能为空CustomerAddress客户地址nvarchar(50)不能为空CustomerMailCode客户邮编nvarchar(50)不能为空EnterpriseCharger法人代表nvarchar(50)不能为空无锡职业技术学院课程设计材料撰写用纸5BankAccount银行账号nvarchar(50)不能为空TaxAccount纳税账号nvarchar(50)不能为空CustomerWebSite客户网址nvarchar(50)不能为空CustomerTelephone联系电话nvarchar(50)不能为空CustomerFax联系传真nvarchar(50)不能为空2.下图是表关系图:该图显示了表的字段名以及类型和表之间的关系。图 2表关系图3配置 Microsoft SQL Server 2005 数据库配 置 TCP 端 口 : 开 始 - 程 序 -Microsoft SQL Server 2005- 配 置 工 具 -SQL ServerConfiguration Manager-SQL Server 2005 网络配置-MSSQLSERVER 协议,启用 TCP/IP。在 SQL Server Configuration Manager-SQL Server 2005 网络配置-MSSQLSERVER 协议中双击 TCP/IP,在 IP 地址标签页中将所有 TCP 端口项设置默认的 1433 端口。SQL Server Configuration Manager-SQL Server 2005 服 务 中 重 新 启 动 SQL Server(MSSQLSERVER) ,这样就完成了对 sql2005 服务器的配置。无锡职业技术学院课程设计材料撰写用纸6四、四、详细设计详细设计1.新建项目CustomerInfoMIS新建Dynamic Web Project;项目名称为:CustomerInfoMIS,注意存放项目的路径2.新建web.xml在WebContent/WEB-INF目录下新建web.xml3.JSTL的安装与配置将jstl.jar 、standard.jar 两个文件复制到项目/WebContent/WEB-INF/lib 目录下,并添加项目对以上两个jar 包的应用4.Struts的安装与配置在官网上下载struts-1.3.10-lib.zip,然后解压;将解压后的lib子文件夹下的所有内容复制到项目/WebContent/WEB-INF/lib文件夹下即可添加对相关包的引用,最后在/WebContent/WEB-INF目录下新建struts-config.xml,对相关动作类进行配置,同时需要在web.xml配置基础结构控制器5.JDBC驱动的安装与配置将SQL Server 2005 的JDBC 驱动sqljdbc4.jar 复制到项目/WebContent/WEB-INF/lib 目录下,并添加项目对该jar 包的引用6.构建model层com.wxit.bean在src目录下新建包com.wxit.bean,在其新建CustomerInfo3030098131类7.构建view层com.wxit.form在src目录下新建包com.wxit.form,在其下新建CustomerInfoForm3030098131类8.构建controller层com.wxit.action在src目录下新建包com.wxit.action9.构建资源层 com.wxit.util在src目录下新建包com.wxit.util,新建数据库配置文件DBConnection和字符过滤器CharactarEncodingFilter10. 新建/WebContent/MainWeb 子目录在/WebContent目录下新建CustomerInfo子目录用于存放CustomerInfo表相关的view层JSP文件11. CustomerInfo List 模块的设计与实现在/WebContent/CustomerInfo 子目录下新建 CustomerInfoList3030098131.jsp在 com.wxit.action 中新建 CustomerInfoListAction3030098131在 struts-config.xml 中配置相关动作类部署与测试12. CustomerInfo Add 模块的设计与实现在/WebContent/CustomerInfo 目录中新建 CustomerInfoAdd3030098131.jsp在 com.wxit.action 中新建 CustomerInfoAddAction3030098131在 struts-config.xml 中配置相关动作类部署与测试13. CustomerInfo Modify、Update 模块的设计与实现在/WebContent/CustomerInfo 目录中新建 CustomerInfoModify3030098131.jsp在 com.wxit.action 中新建 CustomerInfoModifyAction3030098131和CustomerInfoUpdateAction3030098131在 struts-config.xml 中配置相关动作类无锡职业技术学院课程设计材料撰写用纸7部署与测试14. CustomerInfo Delete 模块的设计与实现在 com.wxit.action 中新建 CustomerInfoDeleteAction3030098131在 struts-config.xml 中配置相关动作类部署与测试15. CustomerInfo Detail 模块的设计与实现在/WebContent/CustomerInfo 目录中新建 CustomerInfoDetail3030098131.jsp在 com.wxit.action 中新建 CustomerInfoDetailAction3030098131在 struts-config.xml 中配置相关动作类部署与测试五、五、实施过程实施过程1 在 src 目录下新建包 com.wxit.bean,新建 com.wxit.bean.CustomerInfo3030098131关键代码如下:public class CustomerInfo3030098131 private int iCustomerID3030098131;private String sCustomerName3030098131;private String sEnterpriseCharacter3030098131;private String sCustomerRank3030098131;private String sCustomerType3030098131;private String sCustomerAddress3030098131;private String sCustomerMailCode3030098131;private String sEnterpriseCharger3030098131;private String sBankAccount3030098131;private String sTaxAccount3030098131;private String sCustomerWebsite3030098131;private String sCustomerTelephone3030098131;private String sCustomerFax3030098131;public int getiCustomerID3030098131() return iCustomerID3030098131;public void setiCustomerID3030098131(int iCustomerID3030098131) this.iCustomerID3030098131 = iCustomerID3030098131;2 在 src 目录下新建包 com.wxit.form,在该包下新建 CustomerInfoForm3030098131 类,关键代码如下:Public class CustomerInfoForm3030098131 extends ActionFormprivate int iCustomerID3030098131;private String sCustomerName3030098131;无锡职业技术学院课程设计材料撰写用纸8private String sEnterpriseCharacter3030098131;private String sCustomerRank3030098131;private String sCustomerType3030098131;private String sCustomerAddress3030098131;private String sCustomerMailCode3030098131;private String sEnterpriseCharger3030098131;private String sBankAccount3030098131;private String sTaxAccount3030098131;private String sCustomerWebsite3030098131;private String sCustomerTelephone3030098131;private String sCustomerFax3030098131;public int getiCustomerID3030098131() return iCustomerID3030098131;public void setiCustomerID3030098131(int iCustomerID3030098131) this.iCustomerID3030098131 = iCustomerID3030098131;public String getsCustomerName3030098131() return sCustomerName3030098131;3. 在src目录下新建包com.wxit.util,新建数据库配置文件DBConnection和字符过滤器(1)数据库配置文件DBConnection,关键代码如下所示:package com.wxit.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBConnection public static Connection getConnection() throws SQLException Connection conn;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);conn = DriverManager.getConnection(jdbc:sqlserver:/localhost;databaseName=CustomerInfoMIS;+ user=sa;password=sa); catch (Exception e) conn = null;return conn;无锡职业技术学院课程设计材料撰写用纸9(2)字符过滤器CharactarEncodingFilter,关键代码如下:public class CharactarEncodingFilter implements Filter public void destroy() public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException request.setCharacterEncoding(UTF-8);chain.doFilter(request, response);Overridepublic void init(FilterConfig arg0) throws ServletException / TODO Auto-generated method stub4. 在 Web.xml 文件中添加过滤器注册信息,关键代码如下所示:charactarFiletercom.wxit.util.CharactarEncodingFiltercharactarFileter/*5.在web.xml文件中配置Struts基础结构控制器,关键代码如下所示:FrontControllerorg.apache.struts.action.ActionServletconfig/WEB-INF/struts-config.xml1FrontController*.do6.在/WebContent/CustomerInfo目录新建CustomerInfoList3030098131.jsp,关键代码如下所示:无锡职业技术学院课程设计材料撰写用纸10function warn(value)return confirm(真的要删除吗?);客户信息列表客户名称企业性质客户级别查看更新删除/方法相同,在此省略其它字段ahref=/CustomerInfoMIS/CustomerInfo/customerInfoDetail.do?iCustomerID3030098131=查看ahref=/CustomerInfoMIS/CustomerInfo/customerInfoModify.do?iCustomerID3030098131=更新ahref=/CustomerInfoMIS/CustomerInfo/customerInfoDelete.do?iCustomerID3030098131=onclick=returnwarn()删除ahref=/CustomerInfoMIS/ReferenceInfo/referenceInfoList.do?iCustomerID3030098131= 查 看 联 系 人 信 息 7.在com.wxit.action中新建CustomerInfoListAction3030098131类,关键代码如下:Connection conn = null;String target = failure;List CustomerInfoList = new ArrayList();try conn = DBConnection.getConnection();Statement stmt = conn.createStatement();String query = select * from CustomerInfo;无锡职业技术学院课程设计材料撰写用纸12ResultSet rs = stmt.executeQuery(query);while (rs.next() CustomerInfoForm3030098131CustomerInfoForm=newCustomerInfoForm3030098131();CustomerInfoForm.setiCustomerID3030098131(rs.getInt(1);CustomerInfoForm.setsCustomerName3030098131(rs.getString(2);CustomerInfoForm.setsEnterpriseCharacter3030098131(rs.getString(3);/方法相同,在此省略其它字段CustomerInfoList.add(CustomerInfoForm);request.getSession ().removeAttribute(CustomerInfoFormList);request.getSession().setAttribute(CustomerInfoFormList,CustomerInfoList);target = success;return mapping.findForward(target);8.在struts-config.xml文件中对动作类进行配置,关键代码如下所示:9.在/WebContent/CustomerInfo目录中新建CustomerInfoAdd3030098131.jsp,关键代码如下:无锡职业技术学院课程设计材料撰写用纸13添加客户信息客户名称企业性质/方法相同,在此省略其它字段           10. 在com.wxit.action中新建CustomerInfoAddAction3030098131,关键代码如下所示:Connection conn = null;String target = failure;CustomerInfoForm3030098131 customerInfoForm = (CustomerInfoForm3030098131) form;try conn = DBConnection.getConnection();Statement stmt = conn.createStatement();Stringquery=INSERTINTOCustomerInfo(CustomerName,EnterpriseCharacter,CustomerRank,CustomerType,CustomerAddress,CustomerMailCode,EnterpriseCharger,BankAccount,TaxAccount,CustomerWebsite,CustomerTelephone,CustomerFax)+ values(+ customerInfoForm.getsCustomerName3030098131()+ ,+ customerInfoForm.getsEnterpriseCharacter3030098131()+ ,+ customerInfoForm.getsCustomerRank3030098131()+ );无锡职业技术学院课程设计材料撰写用纸14/方法相同,在此省略其它字段stmt.execute(query);target = success;System.out.println(您已经成功添加该客户信息!);return mapping.findForward(target);11.在struts-config.xml文件中配置添加客户信息动作类,关键代码如下所示:12.在/WebContent/CustomerInfo 目录中新建 CustomerInfoModify3030098131.jsp, 关键代码如下:更新客户信息客户名称html:text property=sCustomerName3030098131value=style=width:100%;/企业性质html:text property=sEnterpriseCharacter3030098131value=style=width:100%;/方法相同,在此省略其它字段无锡职业技术学院课程设计材料撰写用纸15          html:hidden property=iCustomerID3030098131value=style=width:100%;/ 13.在com.wxit.action中新建CustomerInfoModifyAction3030098131,关键代码如下所示:Connection conn = null;String target = failure;intiCustomerID=Integer.valueOf(request.getParameter(iCustomerID3030098131).toString();CustomerInfoForm3030098131 customerInfoForm =new CustomerInfoForm3030098131();try conn = DBConnection.getConnection();Statement stmt = conn.createStatement();String query = select* from CustomerInfo where CustomerID=+iCustomerID;ResultSet rs=stmt.executeQuery(query);while(rs.next()customerInfoForm.setiCustomerID3030098131(rs.getInt(1);customerInfoForm.setsCustomerName3030098131(rs.getString(2);customerInfoForm.setsEnterpriseCharacter3030098131(rs.getString(3);/方法相同,在此省略其它字段request.getSession().removeAttribute(CustomerInfoForm3030098131);request.getSession().setAttribute(CustomerInfoForm3030098131,customerInfoForm);target = success;return mapping.findForward(target);14. 在com.wxit.action中新建CustomerInfoUpdateAction3030098131,关键代码如下所示:Connection conn = null;String target = failure;CustomerInfoForm3030098131 customerInfoForm = (CustomerInfoForm3030098131) form;try conn = DBConnection.getConnection();无锡职业技术学院课程设计材料撰写用纸16Statement stmt = conn.createStatement();Stringquery=updateCustomerInfosetCustomerName=+customerInfoForm.getsCustomerName3030098131() + ,+ EnterpriseCharacter=+customerInfoForm.getsEnterpriseCharacter3030098131()+ ,+ CustomerRank=+ customerInfoForm.getsCustomerRank3030098131()+ ,+ CustomerType=+ customerInfoForm.getsCustomerType3030098131()+ ,/方法相同,在此省略其它字段+ CustomerFax=+ customerInfoForm.getsCustomerFax3030098131()+ + where CustomerID= + customerInfoForm.getiCustomerID3030098131();stmt.execute(query);target = success;System.out.println(您已经成功更新该客户信息!);return mapping.findForward(target);15. 在 struts-config.xml 中配置CustomerInfoModifyAction3030098131和CustomerInfoUpdateAction3030098131 动作类16. 在com.wxit.action中新建CustomerInfoDeleteAction3030098131,关键代码如下所示:Connection conn =null;intiCustomerID=Integer.valueOf(request.getParameter(iCustomerID3030098131).toString();String target = failure;try conn = DBConnection.getConnection();Statement stmt = conn.createStatement();String query = delete from CustomerInfo where CustomerID=+iCustomerID;stmt.execute(query);target=success;System.out.println(您已经成功删除该客户信息!);return mapping.findForward(target);无锡职业技术学院课程设计材料撰写用纸1717. 在struts-config.xml文件中配置删除客户信息动作类,关键代码如下所示:18. 在/WebContent/CustomerInfo目录中新建CustomerInfoDetail3030098131.jsp,关键代码如下:客户信息详情客户名称html:text property=sCustomerName3030098131value=style=width:100%;/企业性质html:text property=sEnterpriseCharacter3030098131value=style=width:100%;/方法相同,在此省略其它字段 无锡职业技术学院课程设计材料撰写用纸1819. 在com.wxit.action中新建CustomerInfoDetailAction3030098131,关键代码如下所示:Connection conn = null;intiCustomerID=Integer.valueOf(request.getParameter(iCustomerID3030098131).toString();CustomerInfoForm3030098131 customerInfoForm =new CustomerInfoForm3030098131();String target = failure;try conn = DBConnection.getConnection();Statement stmt = conn.createStatement();String query = select* from CustomerInfo where CustomerID=+iCustomerID;ResultSet rs=stmt.executeQuery(query);while(rs.next()customerInfoForm.setiCustomerID3030098131(rs.getInt(1);customerInfoForm.setsCustomerName3030098131(rs.getString(2);customerInfoForm.setsEnterpriseCharacter3030098131(rs.getString(3);/方法相同,在此省略其它字段request.getSession().removeAttribute(CustomerInfoForm3030098131);request.getSession().setAttribute(CustomerInfoForm3030098131,customerInfoForm);target = success;return mapping.findForward(target);20. 在struts-config.xml文件中配置动作类,关键代码如下所示:六、六、测试过程和结果测试过程和结果1.采用的测试技术:白盒测试,它的前提是可以把程序看成装在一个透明的百合子里,测试者完全知道程序的结构和处理的算法,这种方法按照程序的内部的逻辑结构,检测程序中的主要执行通路是否都能按预期要求正确工作。2方法:我是把这个程序分为多个模块,每个模块完成一个子功能,及分为添加模块,删除客户信息、添加客户信息、显示联系人信息、更改客户信息。每个模块之间没有依赖关系,可以作为单独的实体来运行,这样比较容易设计检验模块正确性的测试方案,然后保证每个模块都可以正常的运行。3运行结果: (1)首先是用户登录界面,用户输入正确的用户名和密码后,就可以跳入到客户信息列表界面;如果用户名或密码错误,则会将用户名和密码清空。无锡职业技术学院课程设计材料撰写用纸19图 3登录界面(2) 下图是客户信息列表界面, 若图 3 输入正确的用户名和密码,

    注意事项

    本文(《JAVA应用开发课程设计》报告书格式.pdf)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开