您好,欢迎来到年旅网。
搜索
您的当前位置:首页基于web的毕业设计选题系统

基于web的毕业设计选题系统

来源:年旅网


郑州工业应用技术学院

课程设计说明书

题目: 基于web的毕业设计选题系统

* * : *** 院 (系): 信息工程学院 专业班级 : 14级计算机科学与技术 学 号 : ********** **** : ***

成 绩 :

时间: 2017 年 4 月 15 日至 2017 年 5 月 8 日

郑州工业应用技术学院

课程设计任务书

题目 基于

web的毕业设计选题系统

专业、班级 14级计算机科学与技术 学号 1401110204 姓名 王 浩 浩 主要内容:

随着近几年高校的持续扩招,学生人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重。传统的管理方式耗费大量的资源,毕业论文网上选题系统比传统的手工选题方式相比不但节约资源,而且更加准确,便于查询和修改信息。同时,学生选题自主权的增加,能够选择自己感兴趣的课题。

基本要求:

本次设计至少应该具有以下功能:

指导老师可以添加、修改自己的选题,而不需要写在纸上供学生选择,查询学生信息对学生进行更多的了解,使选择做到真正的双向选择。

学生可以在系统开放时间进行选题但无法退选、通知查看、查看选题信息等。解决不在校的学生往返学校之麻烦。

主要参考资料:

[1]黄梯云.管理信息系统[M].北京:高等教育出版社,2010:139-141.

[2]龚小勇.关系数据库与SQL Server2006[M].北京:机械工业出版社,2009:20-23. [3]李玉梅.动态WEB数据库应用研究[D].昆明理工大学硕士学位论文,2012:4-12 [4]吴昊鹏(译).Java编程思想[M].北京:机械工业出版社,2011:20-23.

完 成 期 限: 4月15日——5月8日 指导教师签名: 课程负责人签名:

摘 要

无纸化办公的日益普及,信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。随着近几年高校的持续扩招,学生人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重。传统的管理方式耗费大量的资源,毕业论文网上选题系统比传统的手工选题方式相比不但节约资源,而且更加准确,便于查询和修改信息。同时,学生选题自主权的增加,能够选择自己感兴趣的课题。传统的选题方式已经不适应现代教学管理的改革和发展的需要,迫切需要一种新的选题方式

本系统采用JAVA语言编写结合动态服务网页(JSP)和SqlServer数据库,数据库连接使用ADO方式,对数据库中数据的增加、删除和修改操作使用到SQL语句方式。数据库服务器使用MS SQL Server 2005做为后台服务,网页制作与修饰使用DreamWeaver2008。为了使界面更加美观实用的图片Photoshop CS6其中编程工具使用当前主流的开发工具Myeclipse。

关键词:动态服务网页;Myeclipse;JAVA;JSP

I

目 录

摘 要 ........................................................................................................................................... I 目 录 ......................................................................................................................................... II 1. 系统开发的意义、目的和技术简介 ................................................................................... 1

1.1 系统开发意义及其目的 ..................................................................................... 1

1.1.1开发意义 ................................................................................................... 1 1.1.2开发目的 ................................................................................................... 1 1.2 系统设计相关原理 ............................................................................................. 2 1.3 Java技术简介 ...................................................................................................... 2 1.4 java技术实现 ...................................................................................................... 2

2. 需求分析 ............................................................................................................................... 4

2.1可行性分析 .......................................................................................................... 4 2.2功能需求分析 ...................................................................................................... 4 2.3性能与安全性分析 .............................................................................................. 5 2.4系统需求分析的内容 .......................................................................................... 5 2.5 软件设计的目的及背景 ..................................................................................... 5 2.6 软件设计的思想与目标 ..................................................................................... 5 2.7 用户简介 ............................................................................................................. 6 2.8系统功能介绍 ...................................................................................................... 6

3. 系统设计 ............................................................................................................................... 8

3.1 可行性分析 ......................................................................................................... 8 3.2 功能需求分析 ..................................................................................................... 8

3.2.1 功能结构图 .............................................................................................. 9 3.3 系统建模 ............................................................................................................. 9

3.3.1 UML语言简介 ...................................................................................... 9 3.3.2 角色的确定 ............................................................................................ 10 3.3.3 创建用例 ................................................................................................ 10 3.3.4 创建角色与用例关系图 ........................................................................ 10

II

3.4 数据库设计 ....................................................................................................... 11

3.4.1 数据库设计原则 .................................................................................... 11 3.4.2 系统数据库E-R图。 ............................................................................ 12 3.4.3 数据库表清单 ........................................................................................ 13 3.5 系统模块设计 ................................................................................................... 14

3.5.1 admin管理模块 ...................................................................................... 15 3.5.2 指导教师管理模块 ................................................................................ 15 3.5.3 学生选题模块 ........................................................................................ 16 3.5.4 选题流程 ................................................................................................ 16

4. 系统实现及相关代码 ......................................................................................................... 18

4.1 开发工具 ........................................................................................................... 18 4.2 主要功能算法实现 ........................................................................................... 18

4.2.1 学生选题功能实现 ................................................................................ 18 4.2.2 老师审核功能实现 ................................................................................ 18 4.2.3 admin模块功能实现 .............................................................................. 19 4.3 系统主要页面实现 ........................................................................................... 20

4.3.1 学生个人信息页面 ................................................................................ 20 4.3.2 教师个人信息页面 ................................................................................ 23 4.3.3 课题选择页面 ........................................................................................ 23 4.3.4 文件上传页面 ........................................................................................ 29

5. 结论 ..................................................................................................................................... 33 参考文献 .................................................................................................................................. 34

III

1. 系统开发的意义、目的和技术简介

1.1 系统开发意义及其目的

1.1.1开发意义

毕业设计(论文)是高校人才培养方案中的重要组成部分,它是对学生分析和解决问题能力的全面检验。由于高校新校区建设,两地办学情况较为普遍,指导老师和学生在时间、空间上往往存在着较大的冲突,成为开展毕业论文相关工作的瓶颈。而且由于毕业论文选题的特殊性,特别是选题繁琐的统计、汇总给各系(院)教务管理部门带来很大工作量,传统的人工选题数据是经多级手工处理后上报教务管理部门的,因此容易出错,导致了效率低、质量低,学生对选题的退选、补选、改选操作非常麻烦,同时教学管理部门无法掌握选题人数的变化和学生分布情况,难以进行动态调整。学生选题、数据统计、名单打印、指导老师编排等工作无法实现科学化、信息化、无纸化。本系统设计利用java和SQL2005技术实现。

随着Internet的发展,基于网络的毕业论文选题系统由于能使得学生可以在任意地点、任意时间进行选题,因此,基于网络的选题管理系统的研发工作正引起国内外高效的广泛关注。由于基于网络的毕业论文选题系统的实际应用时间不长,在如何确保选题的公平、公正、合理,以及系统的高效、稳定地运行等方面尚存在诸多不足,为此,本系统以陕西工业职业技术学院为依托,研究并实现一个基于网络的高效毕业论文选题系统。

1.1.2开发目的

高校使用本系统可以大大减轻教学管理者的负担,提高工作效率。预计系统将从如下几个方面带来选题的便利:

(1)选题工作的透明性:学校管理员具有最高权限,可以对所有用户和选题进行管理以及对全校所有院系的选题情况进行统计;系统设置;通知、文件的下发和管理等功能。

(2)指导老师可以添加、修改自己的选题,而不需要写在纸上供学生选择,查询学生信息对学生进行更多的了解,使选择做到真正的双向选择。

(3)学生可以在系统开放时间进行选题但无法退选、通知查看、查看选题信息等。

1

解决不在校的学生往返学校之麻烦。

1.2 系统设计相关原理

本系统采用SqlServer数据库,数据库连接使用ADO方式,对数据库中数据的增加、删除和修改操作使用到SQL语句方式。

1.3 Java技术简介

Java是目前最为流行的程序设计语言。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling 和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

1.4 java技术实现

Java是在myeclipse开发工具下进行开发,是一种简单方便的开发工具

Java基本语法后,只需要清楚java的架构,实现方法,就可以编写出自己的java系统。

运行 java 所需的环境如下: (1)jdk7.0

(2)Microsoft Internet Information Server version 4.0/5.0 on Windows 7 Professional Server

(3)Microsoft Personal Web Server on Windows 7

与一般的程序不同,Java程序通过虚拟机进行编译。Java程序的控制部份,是使用servlet、JScript等脚本语言来设计的,当用户提交数据时,数据通过表单把数据传送到servlet在servlet中通过requerst接受数据,进行数据处理。当然,同其他编程语言一样,java程序的编写也遵循一定的规则,才能完的完成系统。

Java程序其实是以扩展名为.Java的纯文本形式存在于WEB服务器上的,可以用任何文本编辑器打开它,Java程序中可以包含纯文本、HTML标记以及脚本命令。只需

2

将.Java 程序放在Web服务器下运行后 ,访问Java程序了。要学好Java程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如JavaScript。脚本语言是一种介于HTML和诸如JAVA、Visual Basic、C++等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述Java所提供的脚本运行环境可支持多种脚本语言,譬如:JScript、REXX、PERL等等,这无疑给Java程序设计者提供了广泛的发挥余地。Java的出现使得广大Web设计者不必在为客户浏览器是否支持而担心,实际上就算在同一个.Java文件中使用不同的脚本语言,都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在文件中声明使用不同的脚本语言即可。

3

2. 需求分析

2.1可行性分析

可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下三个方面的分析。

(1) 经济可行性:系统所要求的硬件(计算机及相关硬件)和软件环境(java+SQL 2005),市场上都容易购买到或从相关网站下载,系统成本主要集中在开发与维护上,不造成过重的经济负担。而一旦此系统投入使用,不仅可以减少教学管理者的工作强度,提高工作效率,而且极大限度的方便了用户,可以节省大量的人力、财力。

(2) 技术可行性:技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是java进行开发,前台网页设计使用的是Dreamweaver 8,而数据库系统采用的是Microsoft SqlServer 2005。通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。

(3) 管理的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便选题信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。

综上所述,系统开发目标已明确,在技术和经济等方面具备可行性,投入少、见效快,因此系统的开发是完全可行的。

2.2功能需求分析

在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确所要实现的各子系统的需求。

分析得出:在毕业论文选题工作中分为三种用户,即系统管理员、指导教师、学生。系统管理员审核学生和老师的资格;指导老师发布选题;学生选题等功能。

4

2.3性能与安全性分析

在这次开发中,本系统是本着“实用、够用、好用”的基本原则,系统经久耐用。另外,规范的设计,科学的检测,使系统更加稳定可靠,功能增减灵活自如,维护方便快捷。动态管理的功能,更是系统任期、可靠、稳定运行的坚强基石。因此,毕业论文选题系统是通过各个管理子系统在浏览器上录入文字和上传文件就可以快速实现用户维护、选题管理等功能。而且不需要在安装任何软件或插件,使用非常方便。

此外,系统还要求界面友好、菜单清楚、便于操作,同时做到数据合法性有效无误。

2.4系统需求分析的内容

系统需求分析主要就是明确进出选题管理系统所要实现的目标,并给出解决方案。对系统是分析可以从功能需求和数据需求两方面来进行。功能需求分析主要是对系统所要实现的目标进行分解,使之形成既相互又相互联系的几部分,然后将每个部分映射为一个或多个功能,这些功能相互之间形成一个有机的整体。数据需求分析就是对系统涉及的数据进行识别,并描述出它们在系统中的关系和流向。

如上述所述,通过功能需求分析可以得到系统的主要功能,通过数据需求分析则对数据库设计有所帮助。

网上选题管理系统主要实现对选题信息的记录和查询,包括课题的出题,学生身份记录,以及课题的审核和学生对课题的选择进行记录。

在选题管理中,应该首先为每个课题进行一个编码,以便于进行统一管理。

2.5 软件设计的目的及背景

“毕业设计选题系统”是办公自动化的具体体现,在信息时代的今天,学校的教学管理已经基本上实现了自动化办公和网上管理,而各种各样的办公软件在市场上也随处可见,毕业设计的课题及志愿管理也应该由一个专门的软件进行管理。每年的毕业设计的选题是一个很麻烦的事情,如果采用手工操作或软件设计不当,将是一件难以想象的麻烦事,他不仅回花费老师很大精力,而且会达不到预想的效果。

2.6 软件设计的思想与目标

该系统的设计目的主要是方便教师、学生、管理员三种用户,所有操作都在网上完成。

5

基于不同用户对象的应用程序是不一样的,用户对象包括学生、老师和管理层。他们以WEB方式访问数据,对系统实现和数据库方面的知识没有什么要求,只需简单的界面操作。下面简单介绍这三个用户对象的功能模块;

学生可对有关课题进行查询,采用分类查询方式,把相关的课题列出来,可以方便学生快速选自己感兴趣的课题,了解课题的相关信息(指导老师、课题代码、课题名称等)。

教师在网上浏览所有课题,也可以在网上修改课题,同时可以查看有无学生选择自己的课题。

管理员对整个选课系统进行管理,他们的工作包括用户管理和课题管理;课题管理包括:录入新添的课题的相关信息,删除课题信息,修改课题信息,查看选题,同样,管理员可以对用户进行管理,包括添加、删除、修改用户信息。

系统的安全性是不可忽略的方面,本系统的合法用户是学生以及老师和管理员。在进入系统前都要进行身份验证。

我们的目标是要让该平台来代替以前教务管理人员的工作。把课题申报和选题处理都通过网络来交互实现。该平台实质上是一个基于Web的数据库应用系统,由数据库、数据库管理系统、应用系统和用户组成。

2.7 用户简介

毕业设计选题管理系统主要针对学生及教师用户,当然还需要一个后台管理员,由于现在网络技术和信息技术的飞速发展,学生填报志愿、教师申请课题和管理员管理学生志愿和教师课题如果还是单机版的管理,那工作程序将是相当烦琐的。所以,为了方便学生选题,方便教师对自己课题的查看,方便管理员管理课题和志愿,该系统的设计采用了基于客户机/浏览器(B/S)的操作平台,采用了微软公司推出的JSP VBSCRIPT网站开发技术。这样,不同的用户就可以随时随地对自己的信息进行管理了(当然,管理员只能在规定的服务器上对课题及志愿进行管理)

2.8 系统功能介绍

系统要实现的主要功能有:

(1)系统管理员对教师删除、审核;

(2)系统管理员对论文的、删除、查询、审核;

6

(3)学生对论文的选择;

(4)学生对自己信息的查询、修改; (5)教师对自己信息的查询、修改; (6)教师对论文信息的查询、修改、审核;

(7)用户登陆:包括系统管理员登陆、教师登陆、学生登陆;学生注册,老师注册。

7

3. 系统设计

3.1 可行性分析

可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下三个方面的分析。

(1) 经济可行性:系统所要求的硬件(计算机及相关硬件)和软件环境(Java+SQL 2005),市场上都容易购买到或从相关网站下载,系统成本主要集中在开发与维护上,不造成过重的经济负担。而一旦此系统投入使用,不仅可以减少教学管理者的工作强度,提高工作效率,而且极大限度的方便了用户,可以节省大量的人力、财力。

(2) 技术可行性:技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是Java进行开发,前台网页设计使用的是Dreamweaver 8,而数据库系统采用的是Microsoft SqlServer 2005。通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。

(3) 管理的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便选题信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。

综上所述,系统开发目标已明确,在技术和经济等方面具备可行性,投入少、见效快,因此系统的开发是完全可行的。

3.2 功能需求分析

在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确所要实现的各子系统的需求。

分析得出:在毕业论文选题工作中分为三种用户,即系统管理员、指导教师、学生。系统管理员审核指导教师和学生资格;指导老师发布选题;学生选题等功能。要完成一个分工合理、控制严格的毕业论文选题系统,首先要对每个用户需要完成哪些工作了如

8

指掌。

系统管理员的任务是系统设置(设置系统标题、本届年度、学生限选个数);数据字典维护等。指导教师发布选题(需要审核)和学生的确选;学生浏览和预选本专业选题。

3.2.1 功能结构图

学生管理教师管理系统管理员选题管理审核修改资料和密码毕业设计选题系统指导老师查看选题发布选题审核选题文件修改资料和密码学生查看教师和课题个人选题管理文件注册页面教师注册学生注册 图3-1 系统功能结构图

3.3 系统建模

3.3.1 UML语言简介

统一建模语言UML(Unified Modeling Language)是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的标准表示。UML并非一种可视化的程序设计语言,而是一种可视化的建模语言;它不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种标准的表示;它不是过程,也不是方法,但允许任何一种过程和方法使用它。

建立简明准确的表示模型是把握复杂系统的关键。模型是对事物的一种抽象,人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质。使用模型可使人们从全局把握系统的全貌及其相关部件之间的关系,可以防止人们过早的

9

陷入各个模块的细节。因此,建模是毕业论文选题系统数据库设计的重要部分。

3.3.2 角色的确定

在UML中,系统作用者代表位于系统之外和系统进行交互的一类对象。用它可以对软件系统与外界发生的交互进行分析和描述。当软件投入进行时,它必然和外界发生交互,系统作用者是软件系统在和外界发生交互时涉及的具体对象,在UML中就是用系统作用者来建模的。

在毕业论文选题系统中,可以归纳出的主要问题有: (1)系统管理员审核本院系的学生和老师的资格; (2)老师出题和审核学生选题; (3)学生预选,老师确选。

从上面所归纳的问题可以看出,本系统所涉及的操作主要是:用户的开户和选题的操作流程。因此,在本系统的UML建模中,可以创建以下角色:

(1)系统管理员 (2)指导教师 (3)学生

3.3.3 创建用例

指定了与软件系统交互的系统作用者之后,就需要详细的描述系统作用者和软件系统交互的具体内容。在UML中,软件系统的功能和其代表的动态行为是用用例来建模的。用例代表系统为响应系统作用者引发的一个事件而执行的一系列处理,而且这些处理应该为系统作用者产生一种反馈。

在本系统的UML建模中,可以创建以下用例: (1)指导教师和学生注册; (2)选题记录录入、修改、审核; (3)文件上传、下载; (4)学生选题,老师确选;

3.3.4 创建角色与用例关系图

(1)系统管理员用例关系图如图3-2所示:

10

图3-2系统管理员的用例关系图

(2)指导教师用例关系图如图3-3所示:

图3-3指导教师的用例关系图

(3)学生用例关系图如图3-4所示:

图3-4学生的用例关系图

3.4 数据库设计

3.4.1 数据库设计原则

数据库设计是计算机管理信息系统中很重要的部分,设计质量的好坏、数据结构的优劣之间影响到管理数据库的成绩。数据库设计的基本原则是在系统总体信息方案的指

11

导下,各个数据表应当为它所支持的管理目标服务,在设计数据库系统时,应当重点考虑一下几个因素:

数据库必须层次分明,布局合理。

数据库必须高度结构化,保证数据的结构化、规范化和标准化。这是建立数据库和进行信息交换的基础。数据结构的设计应该遵循国家标准和行业标准,尤其是应重视编码的应用。

在设计数据库时,一方面要尽可能的减少冗余度,减少存储空间的占用,降低数据的一致性问题发生的可能性;另一方面,还要考虑适当的冗余,以提高运行速度、降低开发难度。

必须维护数据正确的正确性和一致性,在系统中,多个用户共享数据库,由于并行开发操作,可能影响数据的一致性,因此必须用加锁等办法保证数据的一致性。

3.4.2 系统数据库E-R图。

学号姓名11nm管理1Admin老师号1姓名学生选题题库录取老师 图3-5系统总E-R图

学号密码状态学生资格毕业设计名称电话号码邮箱班级名字专业性别 图3-6学生E-R图

12

教研室名字老师状态密码电话号码编号职称 图3-7 老师 E-R图

名字编号Admin密码 图3-8 Admin E-R图

资料名称老师编号Url地址编号题库上传人 图3-9 题库 E-R图

3.4.3 数据库表清单

下面将部分重要的数据库表详细清单列出

表3.1:选题表

序号 1 2 3 4 5 6 7 8 9 列名 id Zhidaolaoshi keti jiaoyanshi Zongrenshu Zige Xueyuan Teacherid Miaoshu 数据类型 长度 小数位 标识 主键 允许空 默认值 varchar varchar varchar varchar int int varchar varchar text 50 50 50 50 20 2 16 50 100 0 0 0 0 0 0 0 0 0 是 否 否 否 否 是 否 否 否 说明 选题id 出题教师 选题名称 教研室 总人数 资格 学院 老师编号 描述 13

表3.2:select_true(学生选题表)

序号 1 2 3 4 5 6 7 列名 Sid name password sex banji zhuanye Dianhua 数据类型 长度 小数位 标识 主键 允许空 默认值 varchar varchar varchar varchar varchar varchar varchar 50 50 50 50 50 50 0 0 0 0 0 0 0 是 否 否 否 否 否 否 否 说明 学生id 学生姓名 密码 性别 班级 专业 电话 50 8 9 10 11 E_mail varchar 50 100 50 50 0 0 0 0 否 否 否 否 邮箱 毕业的设计名称 状态 资格 biyeshengjimingcheng varchar zhuangtai zige varchar varchar 表3.3:teacher_inf(教师表)

序号 1 2 3 4 5 6 7 列名 bianhao mima tname zhichang jiaoyanshi dianhua 数据类型 长度 小数位 标识 主键 允许空 默认值 varchar nvarchar nvarchar nvarchar int nvarchar 20 20 20 20 4 50 30 0 0 0 0 0 0 0 是 否 否 否 否 是 是 是 说明 老师编码 老师姓名 教研室id 老师职称 限带人数 手机 Email zhuangtai nvarchar 表3.4:admin_table(系统管理员表)

序号 1 2 3 列名 si name password 数据类型 长度 小数位 标识 主键 允许空 默认值 varchar varchar varchar 50 50 50 0 0 0 是 否 是 是 说明 编号 用户名 密码 3.5 系统模块设计

对毕业论文选题系统进行系统分析、数据库设计之后,本章将主要介绍系统各功能模块的设计及其实现。

软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并

14

结合调研的情况,确定了本系统的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。

登录主界面学生登录教师登录Admin登录 图3-10 系统总体结构图

根据系统的功能分析可以画出系统的功能结构图,分别从系统管理员、指导老师、学生对功能模块图加以描述。

3.5.1 admin管理模块

系统管理员主要负责对系统参数的设置和为系部管理员开户。主要流程为 管理员管理:添加、修改、删除管理员信息,并对登录账号的密码和安全保密提示问题的设置。

系统设置:在系统设置中可以对系统标题、当前毕业生届、是否向学生开放系统、学生最多预选选题个数进行设置。

系院及专业设置:系统管理员可以完成系别和专业的添加、修改、删除操作。 教师管理:查看、添加、修改教师信息,可按照系别、教研室、姓名检索教师。 学生管理:学生管理分往届学生管理和当前届学生管理,可以添加、修改、删除当前届学生信息。

选题管理

(1)本届选题列表:列出本届所有选题,可以按照选题所属专业、选题方向、选题内容、选题关键字进行查看,可以添加、修改、删除选题(修改和删除在没有学生选的情况下可用)。

(2)学生选题情况:列出当前届每个系部的总选题数、总学生数、选题与学生的百分比、已确选学生数、未选题学生数、完成百分比。

(3)文件管理:发布重要文件、对上传的文件进行管理、查看所有登录日志记录。

3.5.2 指导教师管理模块

指导老师发布选题以及对选择自己选题的学生进行审核确选。

15

个人中心:教师登录后可以更改个人信息,这样可以方便学生在选题时了解教师研究内容和方向以及联系方式;及时更改登录密码及保密安全提示问题和答案以便忘记密码时重设密码。

选题管理

(1)本届选题列表:列出该老师所有选题,可以添加、修改、删除选题(修改和删除在没有学生选的情况下可用)。

(2)添加选题:输入要添加选题的名称,选择选题难度、方向、限选专业以及选题要求。

(3)我的所有选题:查看所出的所有选题,按毕业届排序显示。

(4)已有选题查询:查询已经存在的选题,避免所出选题跟其他老师的类似。 (5)学生选题情况:查看本届所有选该老师选题的学生,考核学生是否合符要求,并对学生的选题确选,可查看所带学生。

(6)文件管理:上传文件、下载文件、查看所有登录日志记录。 (7)留言管理:阅读留言、发布通知或消息。

3.5.3 学生选题模块

学生用户所需功能较少,主要功能有:修改个人资料及密码;选题查看及选择、退选。

个人中心:学生登录后可以更改个人信息,这样可以方便教师在确定学生时了解学生的专业兴趣及特长。以及修改登录密码及安全保密问题。查看自己已经选过的选题,系统初始化最多可预选多少个,删除不适合自己的选题,老师确选过的选题,则不可以再删除。

开始选题:查询可供自己选的所有选题,并选择自己感兴趣的。可以导出所有选题到本地excel文件,以便在断网时慢慢考核是否适合自己。

学生选题情况:查看本届所有选该老师选题的学生,考核学生是否合符要求,并对学生的选题确选,可查看所带学生。

文件管理:上传文件、下载文件、查看所有登录日志记录。 留言管理:阅读通知留言、咨询留言。

3.5.4 选题流程

(1)系统管理员初始化系统参数,如:系统标题、是否向学生开放系统、学生可

16

预选选题个数;维护数据字典。

(2)老师登录系统添加选题。

(3)系管理员审核选题,审核完成后通知学生进行选题,并告知教师在此时间确定学生。

(4)学生登陆系统开始选题,并与指导老师联系,协商选题。 (5)指导老师审核学生的选题。 (6)汇总输出报表。

17

4. 系统实现及相关代码

4.1 开发工具

Java平台: Jsp

数据库服务器: MS SQL Server 2005 编程语言: JAVA

网页制作与修饰: DreamWeaver2008 图片美工: Photoshop CS6 编程工具: Myeclipse

4.2 主要功能算法实现

4.2.1 学生选题功能实现

当学生执行选题操作,程序启动选题程序,并且执行选题程序,执行完成后返回执行结果。选题执行程序算法如图4-1所示。

开始 根据学号查询出可选择的题目学生点击选题按钮选题学生是否选过题?弹出选题失败信息把学生选题状态改为1,选题成功修改数据库数据库修改成功?返回修改成功信息结束

图4-1 学生选题算法流程图

4.2.2 老师审核功能实现

当老师查询到有学生选择并且等待录取的题目信息后,老师就可以执行录取操作,当老师点击“审核”按钮后,录取程序启动,并且返回执行结果。录取算法如图4-2所

18

示。

开始 学生根据学号查询出可选择的题目老师审核学生选题把学生选题状态改为1,选题成功修改数据库返回修改成功信息结束 图4-2 老师录取算法流程图

4.2.3 admin模块功能实现

admin模块是系统管理模块,进入admin模块后通过选择操作功能来进入每个子功能页面来实现其功能。具体的程序流程图如图 4-3 所示。

开始系统管理学生信息管理老师信息管理题库信息管理结束 图 4-3 admin模块程序流程图

19

4.3 系统主要页面实现

4.3.1 学生个人信息页面

在如图4-4所示的页面中,用户可以在该界面中在“个人信息”中可以修改自己的个人信息。

图4-4 个人信息修改

代码如下:

package com.login;

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection;

import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.db.DBmanage;

public class xueshengshow extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { response.setContentType(\"text/html\"); PrintWriter out = response.getWriter(); this.doPost(request, response); out.flush(); out.close(); }

20

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { response.setContentType(\"text/html\"); PrintWriter out = response.getWriter();

String ss=request.getSession().getAttribute(\"sid\")+\"\"; response.setContentType(\"text/html\"); String z=DBmanage.xueshengshow();

//String sid=request.getParameter(\"sid\"); Connection conn=null; try{

PreparedStatement pdk; try {

pdk = conn.prepareStatement(z); pdk.setString(1, ss);

ResultSet sh=pdk.executeQuery(); while(sh.next()){

out.write(\" System.out.println(\"fadsfdsfsafsd\");

bgcolor=\\\"#FFFFFF\\\">\"+sh.getString(1)+\"\\r\\n\");

out.write (\" \"+sh.getString(2)+\"\\r\\n\");

out.write(\" \"+sh.getString(4)+\"\\r\\n\");

}

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

try { }

String sss=DBmanage.xueshengshow1();

PreparedStatement pdg=conn.prepareStatement(sss); pdg.setString(1, ss);

ResultSet ra = pdg.executeQuery(); while(ra.next()){

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(2)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(3)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(4)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(5)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(6)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(7)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(8)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(9)+\"\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">[修改

22

]\\r\\n\");

out.write(\"

\\r\\n\");

}} catch (SQLException e) {

e.printStackTrace(); }

out.flush(); out.close(); }}

}finally{}

4.3.2 教师个人信息页面

在教师进入个人信息界面的时候回显示如图4-5所示内容。

图4-5教师个人信息界面

4.3.3 课题选择页面

在如图4-6所示的页面中,用户可以课题选择中查看所有的本学院的毕业设计题目,如对哪个题目感兴趣就可以点击课题名进行课题具体信息的查看,如有感觉自己可以完成则可以点击选中按钮尽心选题,注意选题只能选一次,不得推选。

23

图4-6课题选择界面

代码如下:

package com.login;

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection;

import java.sql.PreparedStatement; import java.sql.ResultSet;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.db.DBmanage;

public class ketishow2 extends HttpServlet { private static String sid=\"\"; public String setsid(String sid) {this.sid=sid; return sid; }

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException { this.doPost(request, response); }

public void doPost(HttpServletRequest request, HttpServletResponse response)

24

response.setContentType(\"text/html\"); PrintWriter out = response.getWriter(); out.flush(); out.close();

throws ServletException, IOException {

boolean b=Boolean.getBoolean(

request.getSession().getAttribute(\"islogin\")+\"\");

if(b){ }

response.setContentType(\"text/html\");

response.setCharacterEncoding(\"GBK\");//页面输出地文本格式 PrintWriter out = response.getWriter(); Connection conn=null;

outi.write(\"

学号valign=\\\"middle\\\">姓名valign=\\\"middle\\\">密码valign=\\\"middle\\\">性别21

valign=\\\"middle\\\">班级

valign=\\\"middle\\\">专业valign=\\\"middle\\\">电话valign=\\\"middle\\\">e-mailvalign=\\\"middle\\\">毕业设计题目
out.write(\" conn = DBmanage.getconn(); e.printStackTrace(); } catch (Exception e) {

bgcolor=\\\"#FFFFFF\\\">\"+ra.getString(1)+\"

\\r\\n\");

out.write(\"

\\r\\n\"); out.write(\" \\r\\n\"); out.write(\"
\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

System.out.println(\"aaaaaa000000\"+this.sid);

String si=(String) request.getSession().getAttribute(\"sid\");

if((si.substring(0,4)).equals(\"0405\")){

String xueyuan=\"信息工程学院\"; conn = DBmanage.getconn(); //String xueyuan=\"信息工程学院\";

25

try {

String a=DBmanage.ketishow();

PreparedStatement pdf=conn.prepareStatement(a); pdf.setString(1, xueyuan);

ResultSet rs = pdf.executeQuery();

while(rs.next()){ out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">\" +rs.getString(2)+\"\\r\\n\");

out.write(\"

\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(4)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(5)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(6)+\"\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">\"+Integer.parseInt(ww.getString(1))+\"\\r\\n\")} bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(7)+\"\\r\\n\"); valign=\\\"middle\\\" bgcolor=\\\"#FFFFFF\\\">[href=\\\"del?sid=\"+rs.getString(1)+\"\\\">\" +\"选中]\\r\\n\");

out.write(\"

\\r\\n\"); String s=DBmanage.quanxian1();

PreparedStatement pp=conn.prepareStatement(s); pp.setString(1, sid);

ResultSet ss=pp.executeQuery(); if(ss.next()){

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");}

}

26

}

} catch (Exception e) { }

out.flush(); out.close();

String xueyuan=null; if(si.startsWith(\"1408\")){

xueyuan=\"数控工程学院\"; }

// TODO Auto-generated catch blocks e.printStackTrace(); try { }

conn.close();

} catch (Exception e) {e.printStackTrace();

} finally {

else if(si.startsWith(\"0201\")){

xueyuan=\"机械工程学院\";

}else if(si.startsWith(\"0305\")){

xueyuan=\"电气工程学院\";

}else if(si.startsWith(\"0101\")){

xueyuan=\"材料工程学院\";

}else if(si.startsWith(\"0502\")){

xueyuan=\"工商管理学院\";

}else if(si.startsWith(\"0804\")){

xueyuan=\"物流管理学院\";

}else if(si.startsWith(\"1002\")){

xueyuan=\"纺织染化学院\";

}else if(si.startsWith(\"0901\")){

//输出提示对话框

xueyuan=\"服装艺术学院\";

}else if(si.startsWith(\"0705\")){ } else{ return;} try {

conn = DBmanage.getconn();

27

//输出提示对话框

xueyuan=\"土木工程学院\";

String a=DBmanage.ketishow();

PreparedStatement pdf=conn.prepareStatement(a); pdf.setString(1, xueyuan);

ResultSet rs = pdf.executeQuery(); while(rs.next()){

out.write(\"

\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(1)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(2)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(3)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(4)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(5)+\"\\r\\n\"); bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(6)+\"\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">\"+Integer.parseInt(ww.getString(1))+\"\\r\\n\");

bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(7)+\"\\r\\n\"); valign=\\\"middle\\\" bgcolor=\\\"#FFFFFF\\\">[href=\\\"del?sid=\"+rs.getString(1)+\"\\\">\" +\"选中]\\r\\n\");

out.write (\"

\\r\\n\"); String s=DBmanage.quanxian1 ();

PreparedStatement pp=conn.prepareStatement(s); pp.setString(1, sid);

ResultSet ss=pp.executeQuery(); if(ss.next()){

out.write(\"

\\r\\n\");

out.write(\"

\\r\\n\");}

28

} }

}

}

// TODO Auto-generated catch blocks e.printStackTrace(); try { }

conn.close();

} catch (Exception e) {e.printStackTrace();

} catch (Exception e) {

} finally {

out.write(\" \\r\\n\");

out.write(\"

response.sendRedirect(\"index.jsp\");

cellpadding=\\\"0\\\" cellspacing=\\\"1\\\" bgcolor=\\\"#73D3CD\\\">\\r\\n\");

cellpadding=\\\"0\\\" cellspacing=\\\"0\\\">\\r\\n\");

valign=\\\"middle\\\">课题编号

valign=\\\"middle\\\">课题名称valign=\\\"middle\\\">指导老师valign=\\\"middle\\\">职称valign=\\\"middle\\\">教研室valign=\\\"middle\\\">总人数valign=\\\"middle\\\">已选人数valign=\\\"middle\\\">学院
bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(1)+\"PreparedStatement pds=conn.prepareStatement(r); pds.setString(1, rs.getString(1)); ResultSet ww=pds.executeQuery(); while(ww.next()){

out.write(\"

bgcolor=\\\"#FFFFFF\\\">\"+rs.getString(3)+\"
bgcolor=\\\"#FFFFFF\\\">[\" +\"选中][修改]s
PreparedStatement pds=conn.prepareStatement(r); pds.setString(1, rs.getString(1)); ResultSet ww=pds.executeQuery(); while(ww.next()){

out.write(\"

out.write(\" out.write(\"
bgcolor=\\\"#FFFFFF\\\">[\" +\"选中][修改]
\\r\\n\");

//out.print(\"
添加学生\"); //out.print(\"
添加班级\"); out.write(\"\\r\\n\"); out.write(\"\\r\\n\"); out.flush(); out.close();

4.3.4 文件上传页面

在如图4-7所示的页面中,用户可以课题选择后在上传一些文件,如中期的检查时所需的作品,但是在上传时注意填写文件名和老师编号,因为文件名将会写入数据库,而老师编号则是老师下载时只能下载同学给自己传的资料。

29

图4-7文件上传界面

代码如下:

package shangchuan;

import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection;

import java.sql.PreparedStatement; import java.text.SimpleDateFormat; import java.util.Date;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.db.DBmanage;

import com.jspsmart.upload.File; import com.jspsmart.upload.Request; import com.jspsmart.upload.SmartUpload;

public class UploadServlet1 extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType(\"text/html;setchar=GBK\");//页面输出地语言格式 response.setCharacterEncoding(\"GBK\");//页面输出地文本格式 PrintWriter out = response.getWriter(); // 新建一个SmartUpload对象,此项是必须的 SmartUpload myupload = new SmartUpload();

myupload.initialize(this.getServletConfig(), request, response); Request myRequest = myupload.getRequest();

30

try {

// myupload.setMaxFileSize(1024 * 1024); // myupload.setAllowedFilesList(\"jpg,gif,png\");

myupload.upload();

int count = myupload.getFiles().getCount();

String rndFilename, fileExtName, fileName, filePathName, memo; Date dt = null;

SimpleDateFormat fmt = new SimpleDateFormat(\"yyyyMMddHHmmssSSS\"); // 逐一提取上传文件信息,同时可保存文件 for (int i = 0; i < count; i++) {

// 取得一个上传文件

File file = myupload.getFiles().getFile(i); // 若文件不存在则继续 if (file.isMissing())

continue;

// 取得文件名

fileName = file.getFileName(); // 取得文件全名

filePathName = file.getFilePathName(); // 取得文件扩展名

fileExtName = file.getFileExt(); // 取得随机文件名

dt = new Date(System.currentTimeMillis()); Thread.sleep(100);

rndFilename = fmt.format(dt) + \".\" + fileExtName;

file.saveAs(\"/upload/\" + rndFilename, myupload.SAVE_VIRTUALi);

// 将文件另存,以WEB应用的根目录作为上传文件的根目录

String url=myRequest.getParameter(\"textfield\");

String sid=request.getSession().getAttribute(\"sid\")+\"\"; String bianhao=myRequest.getParameter(\"bianhao\"); String name=myRequest.getParameter(\"name\"); Connection conn=null; try {

conn=DBmanage.getconn();

String dd=DBmanage.shangchuan();

PreparedStatement pdf=conn.prepareStatement(dd); pdf.setString(1, bianhao);

//System.out.println(\"老师名\"+bianhao); pdf.setString(2,name);

//System.out.println(\"内容名\"+name);

31

} }

}

}

pdf.setString(3,rndFilename); //System.out.println(\"lujing\"+url); pdf.setString(4,sid);

//System.out.println(\"xueshneg名\"+sid); int re=pdf.executeUpdate(); if(re>0){ }

// TODO Auto-generated catch block e.printStackTrace();

javax.swing.JOptionPane.showMessageDialog(null,

\"上传成功!\");

System.out.println(\"上传成功!!\");

} catch (Exception e) {

} catch (Exception ex) { }

out.flush(); out.close();

ex.printStackTrace();

32

5. 结论

经过两个多月的设计和开发,毕业设计选题系统基本开发完毕。其功能基本符合用户需求,能够完成毕业信息的存储和相关材料的查询以及各类相关功能的实现。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如界面布局不合理等,对毕业设计(论文)具体步骤相关信息考察不够等多方面问题。这些都有待进一步改善。

今后进一步研究的方向

(1)对页面进行美化,重新设计UI,使得页面更易于让人接受。

(2)增加数据转换接口,使得本系统能与高校管理系统数据库进行无缝连接。 (3)添加系统功能,将选题系统扩展成完整的毕业设计管理系统,对毕业设计过程进行全程管理。

(4)对数据结构及代码进行优化,使得系统运行更加快速稳定,降低服务器资源占用。

33

参考文献

[1]黄梯云.管理信息系统[M].北京:高等教育出版社,2010:139-141.

[2]龚小勇.关系数据库与SQL Server2006[M].北京:机械工业出版社,2009:20-23. [3]李玉梅.动态WEB数据库应用研究[D].昆明理工大学硕士学位论文,2012:4-12. [4]吴昊鹏(译).Java编程思想[M].北京:机械工业出版社,2011:20-23. [5]李龙.软件测试实用技术与常用模板. 机械工业出版社,2011:4-12. [6]耿祥义.JSP实用教程[M].清华大学出版社,2012.

[7]屈辉立,陈可明. JSP网站编程教程[M].北京希望电子出版社,2010. [8]孙卫琴.Java 面向对象编程[M].电子工业出版社,2015.

[9]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].电子工业出版社,2010.

34

课程设计成绩评定表

评定项目 内 容 满分 评分 总分 10 40 学习态度 学习认真,态度端正,遵守纪律。 认真查阅资料,勤学好问,提出的问题有一设计情况 定的深度,分析解决问题的能力较强。 设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务说明书质书规定的要求;图、表、文字表达准确规范,40 量 上交及时。 回答问题回答问题准确,基本概念清楚,有理有据,情况 有一定深度。 总成绩 采用五级分制:优、良、中、及格、不及格 10 指导教师评语: 签名: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务