版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科论文本科论文目录4443摘要 。用户可以在浏览器端直接查看代码,它会显示出页面的完整HTML标记。如果为了减少代码的重复,将部分源码提取放入到了外部文件中,也可以使用脚本标注属性src,如此用户一样可以在浏览器看见代码。正是因为这个特点,所以在JavaScript中最好不要使用专用或者不便公开的算法。它是一种直译式的脚本语言,它不需要特定的环境进行开发,它都是基于浏览器运算和支持分布式运算的REF_Ref25785\r\h[5]。1.4jQueryjQuery是众多JavaScript库之一,它在很大程度上简化了JavaScript编程,是对JavaScript的再次封装,是一个轻量级JavaScript函数库。它的功能主要有:实现对HTML元素选取与操作REF_Ref26134\r\h[8],实现对CSS操作,HTML事件函数,JavaScript特效和动画REF_Ref25955\r\h[24],HTMLDOM遍历和修改等,还有大量的插件。因此它能提供大量的扩展。jQuery的操作和处理可以让用户的使用感更强。jQuery适应能力非常好,需要JavaScript应用的地方都可以使用它,而且它对Ajax的一些操作进行了较好的封装,在使用时只需简单的一行代码就可实现Ajax功能,这使得应用开发更加简单化。1.5SSM框架SSM框架是由三个分支框架组成的整体,将服务器端分成三层,Spring框架在业务层中,SpringMVC是在表现层中,则MyBatis是在持久层中,框架大体流程如图1.1所示。图1.1SSM框架流程1.5.1Spring开源框架Spring提供了一个简易的开发方式,该框架能适应多种呈现技术;它还提供了面向切面编程REF_Ref26392\r\h[17]。该框架实现了表现层、业务层、持久层三层间的整合,为开发提供了灵活性。它的优势是:方便解耦,简化开发,通过Spring提供的IOC容器,可以将对象间的依赖关系交给Spring进行控制REF_Ref24884\r\h[13];AOP编程的支持,有Spring的AOP功能,使之能更加方便的进行面向切面的编程;声明式事务的支持,通过声明式的方式灵活的进行事务管理,提高开发效率和质量;降低JavaEEAPI的使用难度,Spring对JavaEEAPI进行了薄薄的封装层,简化了开发者对数据库的操作。1.5.2SpringMVCWeb模式的应用在Java程序中较多,作为轻量级JavaEE框架的Spring,有着自己的Web层的展示,那就是SpringMVCWeb框架,是非常好的MVC框架。在SpringMVC之前,社会上的中小型企业主要应用的框架为SSH;而现如今将SpringMVC框架代替了SSH,该框架主要用于构建基于Java的Web应用程序。Struts框架针对JSP技术提供了一套补充的标签库来完成页面中的动态功能,提升了JSP开发者的开发效率。SpringMVC是具有很高配置的主流框架,是Spring框架的一个子框架,在企业级开发中使用较多,可以根据开发人员的需求定制相应的功能,且可以通过注解的方式进行分离控制。它作为MVC框架是属于SSM框架中的一部分,它的作用是处理相应请求,还可以获取表单参数,添加注解,定义拦截器的功能,大大的减少了前端和后端的耦合度,提高了页面开发的灵活性,可以提高代码的整合度REF_Ref26804\r\h[21]。1.5.3MyBatisMyBatis是持久层框架,它使用XML或注解来配置和映射原生信息REF_Ref13327\r\h[4],它能很好的进行数据访问,支持定制化,它能提供SQLmap框架与数据访问对象。它的存在导致JDBC代码从手动写入到自动搜索;MyBatis运用专属的配置方法及其映射,通过接口自动保存,这样记录就可以很容易地映射到数据库,从而进行后续操作。它的优势是,在主配置文件和映射配置文件之间对配置文件进行划分,而且配置文件被用来减少大量的JDBC代码。MyBatis的原理方面会稍微复杂一些,需要设置和定义不同的配置文件,而且要对每个映射配置文件声明。虽然它对于SQL语句的执行在许多不同的地方的变化会比较繁琐,但在输出结果方面的速度会比较快,实例可以执行相对应的SQL指令,而且能实现数据库访问。由于该框架中开发者能实现自由编写SQL语句,因此能提高整个数据的读写能力与整个的响应速度。1.6本章小结本章主要描述了在系统开发当中所使用到的核心技术,其中有B/S架构技术、Ajax技术、JavaScript、jQuery、SSM框架中的MyBatis、SpringMVC等技术,从系统的前端的技术到后台的框架以及数据库的连接等,都进行了详细的描述。
2系统分析2.1需求分析在本文的网络教学系统主要是对用户上传的数据进行管理分析再展现,也就是数据库的读取与写入。用户的整体需求主要是进行学习与资料相关的管理以及学习的反馈,要考虑到整个系统中的角色,从而有以下几个主要需求点。管理员登录:管理员REF_Ref26804\r\h[21]登录后在系统中对教师和学生的信息进行管理,实现教师与学生的添加修改删除,也可实现批量导入,但是需要有一定的格式要求,不过再导入教师学生之前需要填学院信息,教师是有对应的学院的,添加完学院与教师之后,对课程进行添加,还有系统公告的管理,如何时开课,添加新的课程等。课程资料管理:教师登录后,对自己课程进行管理,上传自己的课程的资料,资料包括课程视频与课程文件资料,视频是学习相关,文件是学习的补充或者是作业等,教师对视频学习发起讨论,让学生参与到这个话题讨论当中,查看学习的情况,还有对作业测试的发布,学生进行测试检验学习效果。论坛管理:教师登录后进行论坛的发布与查看参与,在发布时添加讨论主题与主要的内容,教师还可以对这个讨论进行修改删除和查看学生回复状态。学生登录后查看论坛,进入论坛参与到讨论中。其中主要是涉及到知识的学习状态情况反馈。作业测试:作业测试主要是对学习情况的检测,教师登录到主页后,进入作业发布,该课程作业发布后添加对应的题目,进行题目添加,教师也可以进行题目的修改与删除。学生登录跳转到主页后,进入完成作业,对应课程的作业发布情况展示出来,选择对应的作业测试进入,提交后将会看见自己的测试情况。学生登录:学生登录后进入主页后能进行课程的选择,选择相应的课程添加到自己的课程中,在自己的课程中就能选择它的课程视频,进入课程视频后选择进入观看,就能实现在线观看视频,还有论坛与测试,完成了对应视频的学习之后,可以去进行讨论回复与作业测试,测试完之后可以查看自己的测试情况。最后可以对自己的信息进行修改。整个系统的功能概述,如图2.1所示。图2.1系统功能概述2.2系统用例分析系统用例分析以管理员、教师和学生三个角色用例为例,描述系统的总体用例实现。在系统总体用例图中:管理员能够进行学院管理,课程管理,公告管理,教师管理,学生管理,话题讨论管理;教师进行课件资料管理,实现课程资料与视频的上传,作业测试管理,论坛讨论管理,个人信息修改,参与讨论;学生可以进行作业测试,学习课程视频与资料下载,参与讨论。如图2.2所示。图2.2总用例图在系统用例图中共有三个角色:管理员、教师、学生。管理员能实现对学院信息的增删修查,可对教师学生信息进行批量导入以及信息的修改删除查看,可对个人信息进行修改,可对课程信息进行增加删除修改查看,可对系统公告编辑删除查询,还可对论坛内容查看浏览等。管理员用例如图2.3所示。图2.3管理员用例图教师用例图,教师根据管理员添加的课程信息,在所属的课程下添加课程文件和课程视频,查询删除所属的课程文件和课程视频,并且新增讨论的主题与内容,还可对其进行内容上的修改与删除,作业测试管理,对题目进行录入以及修改,个人信息修改等。如图2.4所示。图2.4教师用例图学生用例图,根据查看课程信息添加课程到自己的课程中,在课程中进行课程视频资料的查看,选择相应的课程视频后进行在线观看,对上传的课程资料进行下载,查看公告信息,参与论坛讨论以及查看回复,完成作业测试,测试后查看自己的测试成绩,对自己的个人信息进行修改。如图2.5所示。图2.5学生用例图2.3非功能需求分析操作可行性:本系统主要用来管理教学,在操作界面的设计上非常简单,使其操作起来非常清楚明白。整个系统对数据库的操作都是基础性的,数据库的设计同样的简洁,没有过于复杂的方式,使其维护时能更加方便。整个系统非常方便操作,用户只需要在电脑上安装一个浏览器,访问地址即可进行系统操作,而且对浏览器的要求很低,对电脑的配置也基本没有要求,整个系统只需要很少的内存空间,就可以运用本系统,简单、快速、有效的实现教学的管理学习。技术可行性:技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。本系统是用Java语言进行开发的,一般的电脑就能够满足系统的开发要求,主要原因是它占用内存较少,用MySQL服务器数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存是相对较少。2.4本章小结本章在需求分析中主要描述了课程管理功能、学生管理功能、教师管理功能、作业测试功能的需求,在满足教学需求方面,提高系统的可操作性。在系统用例分析对主要的角色进行了描述。
3系统设计3.1系统总体设计概念本系统使用的结构分布从用户界面到逻辑判断再到数据处理,其中用户界面处于表示层,这一层将为用户展示以网络教学为主题的页面及信息,而且要获得用户的请求信息;逻辑判断主要是是业务层的内容,对用户的操作进行验证并返回结果;数据处理则是在数据访问层,在这里能进行数据库的读取和数据存储。如图3.1所示。图3.1系统逻辑结构图本文系统中主要有三个页面,其中第一个是面向学生的页面,第二个是面向教师的页面,还有最后一个是管理员页面。在学生页面中主要有观看课程视频、下载资料、作业测试、话题讨论、个人信息修改;在教师页面中主要有上传课程相关视频资料、发布作业测试、发布讨论;在管理员主页主要有学院管理、学生教师管理、课程管理、系统公告管理等。如图3.2所示。图3.2系统功能结构图3.2数据库设计MySQL数据库的性能会受到一些因素的影响,比如使用的操作系统,硬件水平等,只是这些因素改变的范围比较小。但是数据库本身的结构在设计时可以自己控制,因此数据库在设计的时候要注意保证存储空间的尽量少,也需要保证数据的完整。但在设计数据库的时候首先需要清楚整个项目的需求,清楚项目中的整体关系,从而减少很多不必要的工作量。在系统的功能结构确定之后,需要将概念层进一步具体化。从功能结构中确定整个系统中有多少实体,这些实体分别是管理员(admin)、教师(teacher)、学生(student)、学院(college)、课程(course)、视频(course_video)、文件(course_file)、公告(notice)、话题讨论(discuss)、讨论回复(discuss_post)、测试(task)、测试问题(task_question)、学生成绩(student_task),实体之间的联系可以根据具体的情况确定。同一个学院可有多名教师与同学,多门课程能同属一个学院。其中一门课程有多个课件视频与文档,也有多个讨论的话题。一个话题的讨论有多个回复。教师可以发布多门测试。如图3.3所示。图3.3系统实体关系图根据系统的实体关系,能明确系统设计时的实体类,再根据需求设计出对应类应该有哪些属性和方法,在这些方法中就是对数据需要进行了一些实际操作,如增加删除查询等一系列操作。如图3.4-3.7所示。图3.4系统角色类图图3.5学院、课程、课件类图图3.6公告、讨论、讨论回复类图图3.7测试、问题、学生成绩类图根据类图和系统实体关系图能确定系统设计数据表有:管理员信息表、教师信息表、学生信息表、学院信息表、课程信息表、视频信息表、文件信息表、公告信息表、话题讨论表、讨论回复表、测试信息表、测试问题信息表、学生成绩表。下面是部分表的详细信息。教师信息表。教师信息数据表中共有10个字段,分别是教师id、姓名、性别、学院id、电话、身份证、账户、密码、教师编号、课程编号,教师id为主键且自增长,除身份证字段外所有字段均为非空。如表3.1所示。表3.1教师信息表(teacher)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement教师idnameVARCHAR(50)Notnull姓名genderINT(11)Notnull性别college_idINT(11)Notnull学院idtelphoneVARCHAR(50)Notnull电话id_card_noVARCHAR(50)身份证accountVARCHAR(50)Notnull账户passwordVARCHAR(10)Notnull密码numVARCHAR(50)Notnull教师编号course_idINT(11)Notnull课程编号课程信息表。课程信息数据表中一共有5个字段,分别是课程id、课程名称、学院id、课程编号、课程介绍,课程id为主键且是自增长字段,而且所有字段均为非空。如表3.2所示。表3.2课程信息表(course)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement课程idnameVARCHAR(50)Notnull课程名称college_idINT(11)Notnull学院idnumVARCHAR(50)Notnull课程编号introTEXTNotnull课程介绍话题讨论表。话题讨论数据表中共有6个字段,分别是话题讨论id、讨论主题、讨论内容、教师id、发表时间、课程id,话题讨论id为主键且自增长,讨论主题与讨论内容为非空。如表3.3所示。表3.3话题讨论表(discuss)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement话题讨论idtitleVARCHAR(50)Notnull讨论主题contentTEXTNotnull讨论内容teacher_idINT(11)教师idrecord_timeDATETIME发表时间course_idINT(11)课程id学院信息表。学院信息数据表中共有3个字段,分别是学院id、学院名称、学院介绍,学院id为主键且自增长非空字段,在对学院名称与学院介绍字段没有进行非空的约束。如表3.4所示。表3.4学院信息表(college)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement学院idnameVARCHAR(50)学院名称introTEXT学院介绍测试信息表。测试信息数据表中共有4个字段,分别是测试信息id、教师id、课程id、发布时间,测试信息id是主键且自增长,而且所有字段均有非空约束。如表3.5所示。表3.5测试信息表(task)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement测试信息idteacher_idINT(11)Notnull教师idcourse_idINT(11)Notnull课程idrecord_timeDATETIMENotnull发布时间视频信息表。视频信息数据表中共有5个字段,分别是视频信息id、路径全名称、课程id、录入时间、教师id,视频信息id为主键且自增长,所有字段为非空。如表3.6所示。表3.6视频信息表(course_video)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement视频信息idpathVARCHAR(50)Notnull路径全名称course_idINT(11)Notnull课程idrecord_timeDATETIMENotnull录入时间teacher_idINT(11)Notnull教师id文件信息表。文件信息数据表中共有5个字段,分别是文件信息id、路径全名称、课程id、录入时间、教师id,文件信息id为主键且自增长,所有字段非空。如表3.7所示。表3.7文件信息表(course_file)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement文件信息idpathVARCHAR(50)Notnull路径全名称course_idINT(11)Notnull课程idrecord_timeDATETIMENotnull录入时间teacher_idINT(11)Notnull教师id讨论回复表。讨论回复数据表中共有5个字段,分别是讨论回复id、回复内容、话题讨论id、学生id、回复时间,讨论回复id为主键且自增长,所有字段为非空。如表3.8所示。表3.8讨论回复表(discuss_post)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement讨论回复idcontentTEXTNotnull回复内容discuss_idINT(11)Notnull话题讨论idstudent_idINT(11)Notnull学生idrecord_timeDATETIMENotnull回复时间学生信息表。学生信息数据表中共有9个字段,分别是学生id、姓名、性别、学院id、电话、身份证、账户、密码、学生学号,学生id为主键且自增长,除身份证字段外所有字段均为非空。如表3.9所示。表3.9学生信息表(student)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement学生idnameVARCHAR(50)Notnull姓名genderINT(11)Notnull性别college_idINT(11)Notnull学院idtelphoneVARCHAR(50)Notnull电话id_card_noVARCHAR(50)身份证accountVARCHAR(50)Notnull账户passwordVARCHAR(10)Notnull密码numVARCHAR(50)Notnull学生学号学生成绩表。学生成绩数据表中共有5个字段,分别是学生成绩id、学生id、作业测试id、成绩、完成时间,学生成绩id为主键且自增长,所有字段非空。学生成绩表在数据库创建时没有使用物理外键,而是在开发中使用的逻辑外键。如表3.10所示。表3.10学生成绩表(student_task)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement学生成绩idstudent_idINT(11)Notnull学生idtask_idINT(11)Notnull作业测试idscoreINT(11)Notnull成绩record_timeDATETIMENotnull完成时间测试问题信息表。测试问题信息数据表中共有9个字段,分别是测试问题id、题目、选项a、选项b、选项c、选项d、答案、作业测试id、分数,测试问题id是主键且自增长非空。如表3.11所示。表3.11测试问题信息表(task_question)字段名数据类型(精度围)约束条件其他说明idINT(11)PrimarykeyAutoincrement测试问题idtitleVARCHAR(50)Notnull题目item_aVARCHAR(50)Notnull选项aitem_bVARCHAR(50)Notnull选项bitem_cVARCHAR(50)选项citem_dVARCHAR(50)选项danswerVARCHAR(50)Notnull答案task_idINT(11)Notnull作业测试idscoreINT(11)Notnull分数3.3本章小结本章主要描述了系统总体设计,对数据库相关设计内容进行了描写,根据类图以及系统总体间的关系设置对应实体类的数据表。并且对主要的数据表设计详情进行了描述。
4系统实现4.1开发环境4.1.1软件本文系统开发所使用的操作系统是Windows10,在Windows10系统中能实现分屏操作,因此在开发的时候能更加方便一些。本文系统使用的开发软件eclipse4.6.3,eclipse是一个应用开发平台,它是基于java语言的,而且开发源码,它还具有很好的扩展性,它能安装不同插件从而能进行多种语言的开发,如果想要进行其他语言开发,只需要下载对应语言的插件即可,添加的对应功能就是以插件的形式存在于它的核心上,eclipse的核心主要包括插件开发环境、java语言开发环境插件、图形API等REF_Ref26804\r\h[21]。eclipse自带有Java开发工具JDK,但是在本项目开发中使用的是另外下载使用的JDK1.8。当JDK版本过低时会使整个系统启动出现问题,Web服务器会出现问题。在eclipse中可是使用很多快捷键,能提高开发效率,整个软件都是开源的,因此成本就会降低。4.1.2服务器Web服务器使用的是Tomcat8.0,Java开发工具与Web服务器之间存在版本匹配的问题,否则实际开发中会出现问题,JDK1.8至少需要Tomcat8版本,而如果是使用JDK1.7,则必须要使用Tomcat8以下,不能使用Tomcat8版本。数据库服务器使用的是MySQL5.7,MySQL数据库是关系数据库,它的体积较小,运行速度快,主要它还开源。在使用MySQL数据库时为了使操作更加方便,可以使用Navicat,Navicat是一个MySQL数据库的管理工具和开发工具REF_Ref28718\r\h[25],使用这个图形化工具还因为它是基于Windows系统的,在整个开发中能让开发者对数据库的操作更加方便,提高效率。当Web服务器启动后可以使用经常使用的浏览器进行客户端操作,该系统开发时是使用InternetExplorer11来验证效果。4.2功能实现4.2.1数据显示功能实现数据显示。当学生用户登录成功后,将跳转进入到学生主页面当中,之后点击左侧导航栏中的查看课程信息,将会显示所有课程信息,里面将会显示所有课程的详细信息。如图4.1所示。图4.1数据显示图下面是如何实现展现相关课程信息的核心代码。第一部分是控制器中查看功能的核心代码,第二部分是业务层中查看功能的核心代码,第三部分是数据持久层中查看功能的核心代码,最后是JavaScript实现跳转。@Controller@RequestMapping("/searchCourseInfo") publicModelAndViewsearchCourseInfo(){ ModelAndViewmav=newModelAndView(); mav.addObject("courses",indexService.searchCourse()); mav.setViewName("searchCourseInfo"); returnmav; }@Service(“index”)publicList<Course>searchCourse(){returncourseMapper.searchEntity();}Mapper:CourserMapper.xml<selectid="searchEntity"resultMap="BaseResultMap"> SELECTu.id,,u.num,AScollegeName,roFROMcourseASuJOINcollegeAScONu.college_id=c.id</select>JavaScript:$(".wk-main-menu-item").each(function(){$(this).on("click",function(){varurl="";varid=$(this).attr("id").substr(19,$(this).attr("id").length);$("#mainFrame").attr("src","<%=basePath%>"+id+".html");});});4.2.2添加数据功能实现添加数据。在教师登录跳到主页中后,首先点击作业信息查询,之后选择要添加作业的课程,选中后点击录入题目,就进行题目信息等内容的添加,题目等内容添加完毕后点击提交。如图4.2所示。图4.2添加数据图下面是如何实现添加作业测试的核心代码。第一部分是控制器中添加功能的核心代码,第二部分是业务层中添加功能的核心代码,第三部分是数据持久层中添加功能的核心代码。@Controller@RequestMapping("/saveQuestion/{id}")publicModelAndViewsaveQuestion(@PathVariable("id")Integerid,TaskQuestiontaskQuestion){ taskQuestion.setTaskId(id); indexService.saveTaskQuestion(taskQuestion); returnnewModelAndView("redirect:/createQuestion/"+id+".html"); }@Service(“index”)publicvoidsaveTaskQuestion(TaskQuestiontaskQuestion){ taskQuestionMapper.saveEntity(taskQuestion); }Mapper:TaskQuestionMapper.xml<resultMapid="BaseResultMap"type="com.pp.model.TaskQuestion"><idcolumn="id"jdbcType="INTEGER"property="id"/><resultcolumn="title"jdbcType="VARCHAR"property="title"/><resultcolumn="item_a"jdbcType="VARCHAR"property="itemA"/><resultcolumn="item_b"jdbcType="VARCHAR"property="itemB"/><resultcolumn="item_c"jdbcType="VARCHAR"property="itemC"/><resultcolumn="item_d"jdbcType="VARCHAR"property="itemD"/><resultcolumn="answer"jdbcType="VARCHAR"property="answer"/><resultcolumn="task_id"jdbcType="INTEGER"property="taskId"/></resultMap><insertid="saveEntity"parameterType="com.pp.model.TaskQuestion">INSERTintotask_question(title,item_a,item_b,item_c,item_d,answer,task_id,score)VALUES(#{title},#{itemA},#{itemB},#{itemC},#{itemD},#{answer},#{taskId},#{score})</insert>4.2.3删除数据功能实现删除数据,当管理员登录跳转到主页后,点击左侧导航栏中的教师信息查询,进入界面后点击选中某位教师,再点击右上方的删除按钮,会弹出对话框,提示操作者是否删除。选择“确定”的按钮,经过后台数据库完成操作后,删除成功后刷新页面。如图4.3-4.4所示。图4.3删除数据图图4.4删除数据成功图下面是如何实现删除教师信息的核心代码,在删除完成之后刷新了页面,相当于是进行了更新。业务层中的代码使用的是Spring中的IOC容器创建对象。第一部分是控制器中删除功能的核心代码,第二部分是数据持久层中删除功能的核心代码。@Controller@RequestMapping("/deleteTeacher/{id}") publicModelAndViewdeleteTeacher(@PathVariable("id")Integerid){ indexService.deleteTeacher(id); returnnewModelAndView("redirect:/searchTeacher.html"); }Mapper:TeacherMapper.xml<resultMapid="BaseResultMap"type="com.pp.model.Teacher"><idcolumn="id"jdbcType="INTEGER"property="id"/><resultcolumn="name"jdbcType="VARCHAR"property="name"/><resultcolumn="gender"jdbcType="INTEGER"property="gender"/><resultcolumn="college_id"jdbcType="INTEGER"property="collegeId"/><resultcolumn="course_id"jdbcType="INTEGER"property="courseId"/><resultcolumn="telphone"jdbcType="VARCHAR"property="telphone"/><resultcolumn="id_card_no"jdbcType="VARCHAR"property="idCardNo"/><resultcolumn="account"jdbcType="VARCHAR"property="account"/><resultcolumn="password"jdbcType="VARCHAR"property="password"/><resultcolumn="num"jdbcType="VARCHAR"property="num"/></resultMap><deleteid="deleteEntity"parameterType="int"> DELETEFROMteacherWHEREid=#{id}</delete>4.2.4修改数据功能实现修改数据。当教师登录跳到主页后,点击左侧导航栏中的个人信息修改,操作者对想要修改的信息进行改动,改动完成后提交数据,但是在修改数据时要注意三个地方是下拉列表进行选择,分别是所属学院、性别、课程,数据提交完成后自动跳入到课件上传页面,也就表示数据修改成功。如图4.5-4.6所示。图4.5修改数据效果图图4.6修改数据跳转图下面是如何实现修改个人信息的核心代码,在接收浏览器端的请求之后获取数据执行数据库的更新。第一部分是控制器中修改功能的核心代码,第二部分是数据持久层中修改功能的核心代码。@Controller@RequestMapping("/updateTeacherInfo") publicModelAndViewupdateTeacherInfo(HttpSessionsession){ Teacherteacher=(Teacher)session.getAttribute("user"); ModelAndViewmav=newModelAndView(); mav.addObject("teacher",indexService.getTeacherById(teacher.getId())); mav.addObject("courses",indexService.searchCourse()); mav.addObject("colleges",indexService.searchCollege()); mav.setViewName("updateTeacherInfo"); returnmav; }Mapper:TeacherMapper.xml<updateid="updateEntity"parameterType="com.pp.model.Teacher"> UPDATEteacherSETname=#{name},num=#{num},college_id=#{collegeId},telphone=#{telphone},id_card_no=#{idCardNo},gender=#{gender},account=#{account},password=#{password},course_id=#{courseId}WHEREid=#{id}</update>4.3本章小结本章主要描述了系统的开发环境的配置和浏览器使用版本,以及涉及数据库增删改查的主要功能实现方法,在系统中进行功能操作后,通过抓图来呈现整体的功能实现效果;以及代码展现。
5系统测试5.1测试计划系统测试是将已经继承好的软件系统,作为计算机系统的一个元素,与计算机硬件、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的集成测试和确认测试。软件测试可以识别项目风险,它的主要目的是发现软件缺陷和漏洞REF_Ref24126\r\h[22]。基于SSM的网络教学系统,需要测试的是客户端与后台使用情况。主要测试用户登录角色不同后页面跳转情况,以及数据的增删改查。5.2测试用例学生登录测试用例。当进入登录也首先会提示请登录,之后学生输入账号与密码选择学生角色登录会自动跳转到学生页面;如果选择不符合当前账户的角色时会显示用户名或密码错误。如表5.1所示。表5.1学生登录测试用例测试编码测试功能测试点是否通过5.1学生用户登录测试进入相对应角色页面学生是否进入学生页面通过步骤:根据拥有的学生账号123456和密码123456,进入登录页面输入账号和密码;选择学生角色;点击登录按钮。测试预期:点击登录按钮之后进入学生页面。课程文档查询测试测试用例。学生登录成功后,在主页的左侧导航栏点击课程文档查询功能,进入显示所有文档的页面,在页面上方有发布教师选择栏,点击选择相应的教师,最后点击查询按钮。文档的显示表中就会显示对应教师的文档,如果为空,则是这个教师没有发布文档。如表5.2所示。表5.2课程文档查询测试用例测试编码测试功能测试点是否通过5.2课程文档查询测试根据教师信息查询课程文档情况课程文档显示是否变化通过步骤:点击课程文档查询功能,进入显示所有文档的页面,在页面上方有发布教师选择栏,点击选择刘教师,最后点击查询按钮。测试预期:课程文档显示表中只显示出了“刘老师”的课程文档。添加学生测试用例。管理员登录成功后点击左侧导航栏中的新增学生,进入学生信息录入页面,里面没有录入任何信息,直接点击提交,会显示信息不能为空,需要添加完毕才能录入。如表5.3所示。表5.3添加学生测试用例测试编码测试功能测试点是否通过5.3添加学生测试添加学生信息添加学生功能通过步骤:管理员登录成功后点击左侧导航栏中的新增学生,进入学生信息录入页面,里面不录入任何信息,直接点击提交,查看录入情况。全部信息按照格式录入,查看情况。测试预期:单击“提交”按钮后,有红框显示,不能为空。单击“提交”按钮后,刷新跳转其他页面,并且录入的内容全部正确的填入后台数据表中。文件下载测试用例。学生登录成功后,点击上方导航栏中的课程文件下载,先选择要下载的文件,在点击右上方的下载文件,点击完成后浏览器就会提示下载到哪里,成功后本地就可以打开文件。如表5.4所示。表5.4文件下载测试用例测试编码测试功能测试点是否通过5.4文件下载测试文件能下载文件下载通过步骤:学生登录成功后,点击上方导航栏中的课程文件下载,选择要下载的“软件需求分析”文件,在点击右上方的下载文件按钮。测试预期:浏览器提示下载到默认地址,下载完成后在桌面上能够打开。5.3测试结果网络教学系统的运行和性能,具有良好的客观性、安全性和稳定性;该系统能基本实现预期的需求;系统整体使用的操作性能较好;数据库使用存在的风险系数低,功能比较完备,基本数据文件格式接收传递是准确的,符合系统设计的要求。5.4本章小结本章主要描述了通过页面请求执行相应的功能,对主要的功能进行测试,如不同角色用户登录到不同界面、课程文件下载功能、学生信息添加功能等,通过使用例表的形式对展现这些功能中的部分功能来测试情况。
总结与展望整个B/S架构的系统使用了SSM框架与MySQL,通过对该系统的实现,课题的主要研究成果包括:在课程管理方面,在系统中设置了学院管理,课程的通过需要管理员进行操作,随后教师才对对应的课程进行课程内容的添加。在用户管理方面,在系统中设置了管理员,管理员能进行教师与学生的导入,而教师负责实现课程知识传授的工作,减少教师的工作。在系统开发与运行的软件及工具选择方面,主要采用的是开源、免费的技术与软件,节省了相关花费与系统的总体成本。由于第一次独自进行整个项目的开发,技术的使用不是很熟悉,掌握程度有限,所以在整个系统的开发过程中,还有一些功能页面的转换和业务逻辑方面等做的不是很好,离理想的整体状态还是有一定的差距。系统的功能界面的设计不管是布局还是外观,因为设计水平的能力限制,不能达到理想的页面展示,还存在许多瑕疵。
致谢时光如白驹过隙,四年的大学生涯即将默默走过。回忆着那些美好的校园时光:老师们在课堂上认真讲授知识,同学们在不时埋头做笔记,课下同学间的打打闹闹。校园时而安静美丽,时而热闹非凡。这一切都让我充满感动,也将永远刻在心中。在这里真诚的感谢陈思老师与董超老师对我的指导,在开始选题时自己有些迷茫,是指导老师在一旁引导我,让我有了整个项目的想法,在撰写开题报告时有很多不足的地方,指导老师都一一批注出来,并指导从何处着手修改,反反复复修改多次,老师每次都非常仔细的查看。在论文的整个编写中老师也仔细的告诉我注意的事情,在整个框架构建要注意细节。老师的认真负责也激励着我不断完善自己的论文,每一个细小的环节都包含指导老师的心血与无私奉献。老师的认真严谨都深深地影响着我,鼓励我不断前行,也将使我终生受益,铭记终身。感谢在沈阳城市学院遇见的每位老师与同学。他们在我大学四年期间给予我无私的关怀和诸多帮助。最后,特别感谢我的家人和朋友。在生活和学习方面,都给我提供了极大的便利和支持,在背后默默地祝福着我支持着我,当我遇见困难时始终有一个让我倾诉的地方。感谢在我的人生中有你们的出现!
参考文献刘德政.计算机网络教学平台设计与实现策略[J].无线互联科技,2019,16(23):70-71祁晓鹏,吉陈力.基于AJAX的班组信息化系统的设计[J].信息系统工程,2020(02):66-68+70王建,罗政,张希,张梦琪,张科,马文成.Web项目前后端分离的设计与实现[J].软件工程,2020,23(04):22-24鞠宏军,佘春燕.基于SSM的高并发慕课网的设计与实现[J].电脑知识与技术,2020,16(02):54-56+90胡雅丽.基于BootStrap+JavaScript语言简易计算器的实现[J].太原学院学报(自然科学版),2020,38(01):73-76HenrikWessing,PavelSkoda,MartinNordalPetersen,etal.AlienWavelengthsinNationalResearchandEducationNetworkInfrastructuresBasedonOpenLineSystems:ChallengesandOpportunities[J].JournalofOpticalCommunictionsandNetworking,2019,11(3):118-129黄宇靖,陈嘉发,柯文婷.高校计算机课程网络教学平台的应用研究[J].电脑知识与技术,2019,15(35):160-161戴文鑫,袁榕澳.基于HTML5的算法可视化编辑器研究[J].信息与电脑(理论版),2020,32(05):64-66R.C.Paiva,M.S.Ferreira,M.M.Frade.Intelligenttutorialsystembasedonpersonalizedsystemofinstructiontoteachorremindmathematicalconcepts[J].JournalofComputerAssistedLearning,2017,33(4):370-381孙媛媛.高校思政教学资源实践教学网络平台设计[J].微型电脑应用,2020,36(02):152-155关德君.大数据应用于国家开放大学学习平台的探索与思考[J].电脑知识与技术,2020,16(01):106-107ErinHeinz.BookReview:SmallTeachingOnline:ApplyingLearningScienceinOnlineClasses[J].TeachingSociology,2020,48(2):165-168郑逸凡.基于SSM框架的在线教学系统的设计[J].长沙大学学报,2019,33(02):41-44TraceyZhang,Lay-ChinLow,Poh-SunSeow.Usingonlinetutorialstoteachtheaccountingcycle[J].JournalofEducationforBusiness,2020,95(4):263-274张工厂.MySQL5.7从入门到精通(第2版)[M].北京:清华大学出版社,2019:47-94天津滨海迅腾科技集团有限公司.Java
Web应用程序开发[M].天津:南开大学出版社,2017:180-187李艳鹏.互联网轻量级SSM框架解密[M].北京:电子工业出版社,2019:138-140赵纯.基于B/S结构的网络教学系统的设计与实现[D].天津大学,2015程程.基于WEB的网络教学系统设计[D].长春工业大学,2018陈红.基于SSM框架的智能web管理系统的研发设计[D].北京化工大学,2012赵永杰,马宝龙,包国强.基于SSM书香驿站平台的设计与实现[J].农家参谋,2020(06):188董金艳,鲍胜文,肖小兵,赵飞,张承武,牛占云,刘冠超,周轩伊.浅谈嵌入式软件测试[J].电子世界,2019(23):208-209赵国文,夏平平.基于JavaEE的人事管理系统的设计与实现[J].现代工业经济和信息化,2019,9(11):88-89张丽.以HTML5+CSS3+jQuery为基础的响应式布局网页设计探讨[J].计算机产品与流通,2019(11):195+198赵光亮,舒小松.NavicatforMySQL平台中的SQL语言分析与应用[J].无线互联科技,2017(19):74-75
HYPERLINK如何给电脑重做系统给电脑重做系统,自己学学,可少花钱,哈哈[图]
一、准备工作:
如何重装电脑系统
首先,在启动电脑的时候按住DELETE键进入BIOS,选择AdvancedBIOSFeatures选项,按Enter键进入设置程序。选择FirstBootDevice选项,然后按键盘上的PageUp或PageDown键将该项设置为CD-ROM,这样就可以把系统改为光盘启动。
其次,退回到主菜单,保存BIOS设置。(保存方法是按下F10,然后再按Y键即可)
1.准备好WindowsXPProfessional简体中文版安装光盘,并检查光驱是否支持自启动。
2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。
3.用纸张记录安装文件的产品密匙(安装序列号)。
4.可能的情况下,用驱动程序备份工具(如:驱动精灵2004V1.9Beta.exe)将原WindowsXP下的所有驱动程序备份到硬盘上(如∶F:Drive)。最好能记下主板、网卡、显卡等主要硬件的型号及生产厂家,预先下载驱动程序备用。
5.如果你想在安装过程中格式化C盘或D盘(建议安装过程中格式化C盘),请备份C盘或D盘有用的数据。
二、用光盘启动系统:
(如果你已经知道方法请转到下一步),重新启动系统并把光驱设为第一启动盘,保存设置并重启。将XP安装光盘放入光驱,重新启动电脑。刚启动时,当出现如下图所示时快速按下回车键,否则不能启动XP系统光盘安装。如果你不知道具体做法请参考与这相同的-->如何进入纯DOS系统:
光盘自启动后,如无意外即可见到安装界面,将出现如下图1所示
查看原图
全中文提示,“要现在安装WindowsXP,请按ENTER”,按回车键后,出现如下图2所示
查看原图
许可协议,这里没有选择的余地,按“F8”后如下图3
HYPERLINK
查看原图
这里用“向下或向上”方向键选择安装系统所用的分区,如果你已格式化C盘请选择C分区,选择好分区后按“Enter”键回车,出现下图4所示
查看原图
这里对所选分区可以进行格式化,从而转换文件系统格,或保存现有文件系统,有多种选择的余地,但要注意的是NTFS格式可节约磁盘空间提高安全性和减小磁盘碎片但同时存在很多问题MacOS和98/Me下看不到NTFS格式的分区,在这里选“用FAT文件系统格式化磁盘分区(快),按“Enter”键回车,出现下图5所示
查看原图
格式化C盘的警告,按F键将准备格式化c盘,出现下图6所示
HYPERLINK
查看原图
由于所选分区C的空间大于2048M(即2G),FAT文件系统不支持大于2048M的磁盘分区,所以安装程序会用FAT32文件系统格式对C盘进行格式化,按“Enter”键回车,出现下图7所示
查看原图图7中正在格式化C分区;只有用光盘启动或安装启动软盘启动XP安装程序,才能在安装过程中提供格式化分区选项;如果用MS-DOS启动盘启动进入DOS下,运行i386\winnt进行安装XP时,安装XP时没有格式化分区选项。格式化C分区完成后,出现下图8所示
被过滤广告
查看原图
图8中开始复制文件,文件复制完后,安装程序开始初始化Windows配置。然后系统将会自动在15秒后重新启动。重新启动后,出现下图9所示
HYPERLINK
查看原图
9
查看原图
过5分钟后,当提示还需33分钟时将出现如下图10
HYPERLINK
查看原图
区域和语言设置选用默认值就可以了,直接点“下一步”按钮,出现如下图11
查看原图
这里输入你想好的姓名和单位,这里的姓名是你以后注册的用户名,点“下一步”按钮,出现如下图12
HYPERLINK
查看原图
如果你没有预先记下产品密钥(安装序列号)就大件事啦!这里输入安装序列号,点“下一步”按钮,出现如下图13
HYPERLINK
查看原图
安装程序自动为你创建又长又难看的计算机名称,自己可任意更改,输入两次系统管理员密码,请记住这个密码,Administrator系统管理员在系统中具有最高权限,平时登陆系统不需要这个帐号。接着点“下一步”出现如下图14
查看原图
日期和时间设置不用讲,选北京时间,点“下一步”出现如下图15
HYPERLINK
查看原图
开始安装,复制系统文件、安装网络系统,很快出现如下图16
查看原图
让你选择网络安装所用的方式,选典型设置点“下一步”出现如下图17
HYPERLINK
查看原图
点“下一步”出现如下图18
HYPERLINK
查看原图
继续安装,到这里后就不用你参与了,安装程序会自动完成全过程。安装完成后自动重新启动,出现启动画面,如下图19
HYPERLINK
查看原图
第一次启动需要较长时间,请耐心等候,接下来是欢迎使用画面,提示设置系统,如下图20
查看原图
点击右下角的“下一步”按钮,出现设置上网连接画面,如下图21所示
HYPERLINK
查看原图
点击右下角的“下一步”按钮,出现设置上网连接画面,如下图21所示
查看原图
这里建立的宽带拨号连接,不会在桌面上建立拨号连接快捷方式,且默认的拨号连接名称为“我的ISP”(自定义除外);进入桌面后通过连接向导建立的宽带拨号连接,在桌面上会建立拨号连接快捷方式,且默认的拨号连接名称为“宽带连接”(自定义除外)。如果你不想在这里建立宽带拨号连接,请点击“跳过”按钮。
在这里我先创建一个宽带连接,选第一项“数字用户线(ADSL)或电缆调制解调器”,点击“下一步”按钮,如下图22所示
HYPERLINK
查看原图
目前使用的电信或联通(ADSL)住宅用户都有帐号和密码的,所以我选“是,我使用用户名和密码连接”,点击“下一步”按钮,如下图23所示
查看原图
输入电信或联通提供的帐号和密码,在“你的ISP的服务名”处输入你喜欢的名称,该名称作为拨号连接快捷菜单的名称,如果留空系统会自动创建名为“我的ISP”作为该连接的名称,点击“下一步”按钮,如下图24所示
查看原图
已经建立了拨号连接,微软当然想你现在就激活XP啦,不过即使不激活也有30天的试用期,又何必急呢?选择“否,请等候几天提醒我”,点击“下一步”按钮,如下图25所示
HYPERLINK
查看原图
输入一个你平时用来登陆计算机的用户名,点下一步出现如下图26
HYPERLINK
查看原图
点击完成,就结束安装。系统将注销并重新以新用户身份登陆。登陆桌面后如下图27
HYPERLINK
查看原图
六、找回常见的图标
在桌面上点开始-->连接到-->宽带连接,如下图32
查看原图
左键点“宽带连接”不放手,将其拖到桌面空白处,可见到桌面上多了一个“宽带连接”快捷方式。结果如下图33
HYPERLINK
查看原图
然后,右键在桌面空白处点击,在弹出的菜单中选“属性”,即打开显示“属性窗口”如下图34
查看原图
在图中单击“桌面”选项卡,出现如下图35
HYPERLINK
查看原图
在图中的左下部点击“自定义桌面”按钮,出现如下图36
查看原图
在图中的上部,将“我的文档”、“我的电脑”、“网上邻居”和“InternetExplorer”四个项目前面的空格上打钩,然后点“确定”,再“确定”,你将会看到桌面上多了你想要的图标。如下图37
键盘上每个键作用!!!
F1帮助
F2改名
F3搜索
F4地址
F5刷新
F6切换
F10菜单
CTRL+A全选
CTRL+C复制
CTRL+X剪切
CTRL+V粘贴
CTRL+Z撤消
CTRL+O打开
SHIFT+DELETE永久删除
DELETE删除
ALT+ENTER属性
ALT+F4关闭
CTRL+F4关闭
ALT+TAB切换
ALT+ESC切换
ALT+空格键窗口菜单
CTRL+ESC开始菜单
拖动某一项时按CTRL复制所选项目
拖动某一项时按CTRL+SHIFT创建快捷方式
将光盘插入到CD-ROM驱动器时按SHIFT键阻止光盘自动播放
Ctrl+1,2,3...切换到从左边数起第1,2,3...个标签
Ctrl+A全部选中当前页面内容
Ctrl+C复制当前选中内容
Ctrl+D打开“添加收藏”面版(把当前页面添加到收藏夹中)
Ctrl+E打开或关闭“搜索”侧边栏(各种搜索引擎可选)
Ctrl+F打开“查找”面版
Ctrl+G打开或关闭“简易收集”面板
Ctrl+H打开“历史”侧边栏
Ctrl+I打开“收藏夹”侧边栏/另:将所有垂直平铺或水平平铺或层叠的窗口恢复
Ctrl+K关闭除当前和锁定标签外的所有标签
Ctrl+L打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...)
Ctrl+N新建一个空白窗口(可更改,Maxthon选项→标签→新建)
Ctrl+O打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...)
Ctrl+P打开“打印”面板(可以打印网页,图片什么的...)
Ctrl+Q打开“添加到过滤列表”面板(将当前页面地址发送到过滤列表)
Ctrl+R刷新当前页面
Ctrl+S打开“保存网页”面板(可以将当前页面所有内容保存下来)
Ctrl+T垂直平铺所有窗口
Ctrl+V粘贴当前剪贴板内的内容
Ctrl+W关闭当前标签(窗口)
Ctrl+X剪切当前选中内容(一般只用于文本操作)
Ctrl+Y重做刚才动作(一般只用于文本操作)
Ctrl+Z撤消刚才动作(一般只用于文本操作)
Ctrl+F4关闭当前标签(窗口)
Ctrl+F5刷新当前页面
Ctrl+F6按页面打开的先后时间顺序向前切换标签(窗口)
Ctrl+F11隐藏或显示菜单栏
Ctrl+Tab以小菜单方式向下切换标签(窗口)
Ctrl+Enter域名自动完成[url=].**.com[/url](内容可更改,Maxthon选项→地址栏→常规)/另:当输入焦点在搜索栏中时,为高亮关键字
Ctrl+拖曳保存该链接的地址或已选中的文本或指定的图片到一个文件夹中(保存目录可更改,Maxthon选项→保存)
Ctrl+小键盘'+'当前页面放大20%
Ctrl+小键盘'-'当前页面缩小20%
Ctrl+小键盘'*'恢复当前页面的缩放为原始大小
Ctrl+Alt+S自动保存当前页面所有内容到指定文件夹(保存路径可更改,Maxthon选项→保存)
Ctrl+Shift+小键盘'+'所有页面放大20%
Ctrl+Shift+小键盘'-'所有页面缩小20%
Ctrl+Shift+F输入焦点移到搜索栏
Ctrl+Shift+G关闭“简易收集”面板
Ctrl+Shift+H打开并激活到你设置的主页
Ctrl+Shift+N在新窗口中打开剪贴板中的地址,如果剪贴板中为文字,则调用搜索引擎搜索该文字(搜索引擎可选择,Maxthon选项→搜索)
Ctrl+Shift+S打开“保存网页”面板(可以将当前页面所有内容保存下来,等同于Ctrl+S)
Ctrl+Shift+W关闭除锁定标签外的全部标签(窗口)
Ctrl+Shift+F6按页面打开的先后时间顺序向后切换标签(窗口)
Ctrl+Shift+Tab以小菜单方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冀中职业学院高职单招职业技能考试模拟试卷附答案详解【基础题】
- 2026年辽宁省本溪市高职单招职业适应性测试考试模拟试卷及答案详解【网校专用】
- 2024年黑龙江省大庆市高职单招职业技能考试模拟试卷附答案详解【满分必刷】
- 2024年可可托海职业学院高职单招职业技能考试模拟试卷含答案详解(A卷)
- 2025年锦河职业学院高职单招职业适应性测试考试题库附参考答案详解(满分必刷)
- 2025年山东齐村职业学院单招职业技能考试题库附答案详解(基础题)
- 2027年山东泰山职业学院高职单招职业适应性测试考试题库及一套答案详解
- 2027年冀中职业学院高职单招职业技能考试模拟试卷含答案详解(黄金题型)
- 2025年四川资阳雁江职业学院高职单招职业技能考试模拟试卷附完整答案详解【名校卷】
- 教师青蓝工程学术交流计划
- 肩颈中医课件
- 1801综采工作面瓦斯综合治理技术方案
- 汽轮机吊装方案
- 项目部员工宿舍管理制度
- 2024版学校印刷服务合同:学校教材及宣传资料印刷合同3篇
- 2024年宁夏中考语文真题
- SY-T 6966-2023 输油气管道工程安全仪表系统设计规范
- 发运工作总结
- 市政工程混凝土排水管安装技术规范
- 腰椎退行性病变的诊断和治疗
- 浙江省A9协作体2023至2024学年高二上学期期中联考化学试题附参考答案(解析)
评论
0/150
提交评论