




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录第1章 概 述11.1 系统目的和意义11.2 系统开发环境11.3 系统开发模式及基本功能1第2章 系统设计32.1系统的模块划分32.2数据库设计3第3章 系统的详细设计及实现63.1数据库底层访问类63.2 登录模块93.3 系统首页面导航113.4 学生信息管理123.5 课程信息管理133.6 学生成绩管理14结 论16参考文献17第1章 概 述1.1 系统目的和意义本次课程设计的题目是“基于MVC模式的学生成绩管理系统”的设计与实现,该设计是对本学期前八周所学的JSP程序设计课程的巩固和深入应用,同时结合Java语言、JSP技术进行Web程序设计,利用前面学过的知识来解决实际
2、问题,锻炼解决问题的能力和动手编程的能力。鉴于近年来,企业级应用系统大多数都部署到Web服务器上,早期的Web应用程序开发技术,已经不能很好的胜任这个任务,因此该课题项目可以提高学生对未来企业的适应性,更好的理解软件工程的意义。1.2 系统开发环境1 本系统采用Browser/Server体系结构。2 系统开发环境1) 开发平台:MyEclipse5.5.1 GA2) 开发语言:JSP、Java3) 数据库:Microsoft SQLServer20053 系统运行环境客户端:浏览器:IE6.0服务器端:数据库:Microsoft SQLServer2005应用程序系统1.3 系统开发模式及基
3、本功能本系统是基于MVC模式设计和开发的,MVC(Model-View-Controller)模式是一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三层模型层、视图层、控制层。MVC是一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。基于MVC模式的学生成绩管理系统主要实现前台和后台两部分功能设计,其中
4、前台主要实现按照学生信息、课程信息和成绩信息进行浏览和查询功能,后台主要实现学生信息管理、课程信息管理和学生成绩管理功能 。在学生成绩管理模块中,管理员可以查询、浏览已提交成绩与未提交成绩的课程,对于相应的课程,可以逐条删除或批量删除或修改已提交的成绩信息,教师可以对未提交成绩进行成绩录入,学生只能够查询浏览自己的已提交成绩。所有的查询浏览功能均实现了分页功能。第2章 系统设计2.1系统的模块划分学生成绩管理系统可实现学生成绩管理功能,管理员可以对学生信息和课程信息进行查询、增加、删除、修改。教师可以对学生成绩进行录入。学生可以对自己的成绩进行查询。1、学生信息管理模块管理员可以对学生的信息进
5、行查询、增加、删除、修改,可以批量删除。2、课程信息管理模块管理员可以对课程的信息进行查询、增加、删除、修改,可以批量删除。3、学生成绩管理模块教师可以对成绩信息进行录入。成绩可批量增加。系统功能模块图如图2-1所示。学生成绩管理系统学生信息管理增加课程信息课程信息管理学生成绩管理删除课程信息修改课程信息查询课程信息增加学生信息删除学生信息修改学生信息查询学生信息录入学生成绩查询个人成绩修改学生成绩图2-1 系统功能模块图2.2数据库设计数据库管理系统是允许用户在计算机上创建数据库,增加、修改、删除、排序和检索数据库中的数据,并使用数据库中的数据创建表格和报表的软件系统。数据库的设计是整个系统
6、成败的一个重要环节。合理的数据库设计能够给系统带来很好的效率。而且能够使得各个功能模块的设计变得非常简单而且模块间的关系特别明确。本系统的数据库是在SQL Server2005中创建的。经过需求分析和初步设计,学生成绩管理系统数据库部分主要包含5个表,分别是学生信息表、教师信息表、用户信息表、课程信息表和成绩信息表表的结构、表字段的数据类型及相关说明如下:1、 学生信息表学生信息表包含了学生的学号、姓名、性别、出生年月、专业以及班级信息,表2-1所示是学生信息表结构。表2-1 学生信息表列名说明数据类型约束studentId学号nchar(10)主键studentName姓名nchar(10)
7、非空gender性别char(2)“男”或“女”birthday出生年月nchar(10)department院系nchar(10)非空major专业nchar(10)非空class班级nchar(10)非空2、 教师信息表教师信息表包含了教师的教工号、姓名、性别、出生年月、院系信息,表2-2所示是教师信息表结构。表2-2 教师信息表列名说明数据类型约束teacherId教工号nchar(10)主键teacherName姓名nchar(10)非空gender性别char(2)“男”或“女”birthday出生年月nchar(10)department院系nchar(10)非空3、 用户信息表用
8、户信息表包含了用户的用户名、密码及角色信息。表2-3所示是用户信息表结构。表2-3 用户信息表列名说明数据类型约束userName用户名nchar(10)主键password密码nchar(10)非空actor角色nchar(10)非空4、 课程信息表课程信息表包含了课程的课程号、课程名、开课时间、学分、考试性质、开课专业及任课教师信息。表2-4所示是课程信息表结构。表2-4 课程信息表列名说明数据类型约束courseId课程号nchar(10)主键courseName课程名nchar(10)非空startTime开课时间nchar(10)非空credit学分nchar(10)非空charac
9、ter考试性质nchar(10)非空major开课专业nchar(10)非空teacherId任课教师nchar(10)非空5、 成绩信息表成绩信息表包含了学生成绩的学号、课程号、任课教师号、开课时间、及成绩信息。表2-5所示是课程信息表结构。表2-5 成绩信息表列名说明数据类型约束studentId学号nchar(10)主键courseId课程号nchar(10)主键teacherId任课教师号nchar(10)非空startTime开课时间nchar(10)非空Grade成绩nchar(10)非空以上就是学生成绩管理系统所需的数据表,按照这些表结构设计,在Microsoft SQLServ
10、er2005中创建数据库GradeManage,并创建相应的表。第3章 系统的详细设计及实现3.1数据库底层访问类本系统的设计使用基于Servlet的MVC架构模式,将系统的各个功能的实现过程严格的划分为视图(View)、控制(Controller)、模型(Model),其中View负责界面的显示,Controller负责请求的转发和响应,Model负责逻辑业务对象实体和业务实体。由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完成数据库的连接、SQL语句的具体执行等操作。这一层由MVC模式中的Model层里的业务实体进行调用,从而完成逻辑业务的信息维护操作。3.1.1J
11、DBC数据库访问技术JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程
12、序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。SQL SERVER连接方式:第一步:新建
13、类DBManager.java第二步:导包操作第三步:编写类代码public class DBManager 1、定义变量2、获取连接方法getConnection3、执行查询方法executeQuery或更新方法executeUpdate4、释放资源的方法releaseSource然后把sqljdbc.jar导入到项目文件下的WEB-INF下的lib文件夹中。3.1.2添加DBManager公共类首先创建包nepu.tools,在该包下创建名为DBManager的类,该类得职责用于提供访问、操作数据库的公共方法。添加公共类的方法和步骤如下:在工程中的包名上点右键,选择【New】-【Class
14、】菜单项,将弹出【New Java Class】对话框,保留默认的选择,在Name文本框中输入DBManager,点击Finsih按钮。3.1.3编写公共方法3.1.2小节为项目添加了一个DBManager类,该类用于存放连接、操作数据库的公共方法,本小节介绍如何编写这些公共方法。首先为DBManager类声明几个公共变量,其中conn为数据库连接对象,stmt用于发送SQL语句、接收SQL的执行结果,rs为执行查询语句得到的结果集,uri表示要连接的数据库的路径,根据数据库不同变化,user为登录数据库的用户名,password为登录数据库的密码。该类的变量声明代码如下:private St
15、ring uri = jdbc:sqlserver:/localhost:1433;DatabaseName=GradeManage;private String user = sa;private String password = ;private Connection conn = null;private Statement stmt = null;private ResultSet rs = null;1、数据库连接方法getConnection()该方法首先要在程序中加载驱动,Class是包java.lang中的一个类,该类调用静态方法forName可以加载驱动,该方法抛Class
16、NotFoundException异常,因此需要捕获异常。DriverManager类用于处理驱动的调入并且对产生新的数据库连接,使用DriverManager类的方法getConnection创建连接对象,参数依次为前面定义好的三个变量uri、user和password,变量conn获取了数据库连接对象。getConnection方法的关键代码如下:public Connection getConnection()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);conn = DriverManager.getCon
17、nection(uri,user,password);if(conn!=null)System.out.println(数据库链接获取成功);catch(ClassNotFoundException e)System.out.println(驱动程序加载异常);catch(SQLException e)System.out.println(获取连接异常);e.printStackTrace(); /打印堆栈跟踪return conn;2、数据库查询方法executeQuery()该方法首先要调用Connection对象的createStatement方法,用来实例化Statement对象,然后
18、用这个对象执行SQL查询语句,结果返回为ResultSet型的结果集,该方法抛SQLException异常。executeQuery方法的关键代码如下:public ResultSet executeQuery(String sql) try stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch (SQLException e) System.out.println(SQL执行错误);e.printStackTrace(); /打印堆栈跟踪return rs;3、数据库增删改的操作方法executeUpdate()该方
19、法首先要声明一个整形变量count,用来记录执行更新操作后影响数据库的条数,然后调用Connection对象的createStatement方法,用来实例化Statement对象,然后用这个对象执行SQL更新语句,可以是修改语句、删除语句或者插入语句,结果返回为int型的数字,表示数据库中受影响的行数,该方法抛SQLException异常。executeUpdate方法的关键代码如下:public int executeUpdate(String sql) int count = 0;try stmt = conn.createStatement();count = stmt.executeU
20、pdate(sql); catch (SQLException e) System.out.println(SQL执行错误);e.printStackTrace(); /打印堆栈跟踪return count;3.2 登录模块登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节首先严格按照MVC架构模式为学生成绩管理系统制作了一个简单的登录模块,登录成功后,应当进入该系统的管理系统,因此本节还详细介绍了主窗体的设计。按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.model包中添加用户的实体Javabean,类名为U
21、ser。在nepu.DAO中添加业务Javabean,类名为UserDAO。其中User类包含2个属性,分别是姓名和密码,同时在该类中添加属性的set、get方法,User类的属性定义部分代码如下:public class User private String userName=; /用户名private String password=;/密码(2)Ctroller层:在nepu.servlet中添加类UserServlet,该servlet主要负责参数的接收以及用户相关操作的流程控制,例如,用户登录功能。(3)View层:在Webroot/Admin文件夹下添加名为login.jsp的J
22、SP文件。3.2.1 View层构建首先在MyEclipse的项目的WebRoot目录中建立admin文件夹,在其下建立JSP页面,在该页面中编写表单代码,其中注意表单的action属性为该表单信息提交的服务端URL地址,method属性为提交方式。在这里由于是按照MVC模式,将信息提交给Servlet,因此method必须post。同时为避免复杂的URL的路径逻辑关系,统一使用绝对路径。图3-1 登录界面设计3.2.2 Model层构建在业务Javabean类UserDAO中建立方法login(),该方法的主要功能是判断用户是否存在,并且密码是否正确,该方法需要接收由servlet传递过来2
23、个参数,一个是用户名userName,另一个是密码password,调用DBManger数据库底层操作类的executeQuery()方法实现sql查询,sql语句如下:String sql = select * from tb_user where userName=+userName+ and password=+password+; 执行该sql语句后,将返回一个结果集ResultSet,判断该结果集中的记录的条数,并使用变量rowCount记录,如果rowCount的值大于0,则表示用户存在,登录成功,返回一个布尔类型的值true,否则返回false。获取结果集后方法的核心代码如下:
24、ResultSet rs = dbManager.executeQuery(sql);try while(rs.next()rowCount+;if (rowCount0) flag = true;3.2.3 Controller层构建在UserServlet添加方法Login(),在该方法中完成登录的逻辑判断。首先需要通过方法request.getParameter()来接收由Login.jsp页面传递过来的参数userName和password,在进行必要的参数转码或合法性判定后调用Model层的业务javaBean UserDAO的登录方法实现登录判定,登录成功后需要注意将用户名用ses
25、sion进行存储,这样,在用户多次请求和响应之后都可以由session中取出用户名展示或判断用户是否登录。最后,在servlet中使用response.sendRedirect()方法跳转到管理后台的首页面。UserServelt中的Login()方法关键代码如下:String name = request.getParameter(userName);String password = request.getParameter(password);UserDAO userDAO = new UserDAO();if (userDAO.login(name, password) HttpSes
26、sion session = request.getSession();session.setAttribute(userName, userName);response.sendRedirect(admin/AdminIndex.jsp); 3.3 系统首页面导航整个学生成绩管理系统的界面设计是左侧导航的结构,如图3-2所示,系统几乎所有的jsp页面都具有大致类似的页面结构和风格,例如,相同的页面头部、左侧导航和页脚,因此,为了页面编码的方便和代码的可重用性,系统设计了一些公用的页面文件,主要包括AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp,其他的页面如后台
27、管理的首页面AdminIndex.jsp则直接通过include指令标记将AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp包含到自身页面的相应位置即可,这样,编码工作将主要集中在左侧导航AdminLeft.jsp和AdminIndex.jsp页面。其他新增的功能页面的设计思路类似,在这里就不再赘述了。AdminIndex.jsp界面的浏览效果如图3-2所示:图3-2 后台管理首页面浏览效果3.4 学生信息管理本节首先严格按照MVC架构模式制作了一个学生信息管理模块。按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.mo
28、del包中添加用户的实体Javabean,类名为Student。在nepu.DAO中添加业务Javabean,类名为StudentDAO。其中Student类包含7个属性,分别是ID、姓名、性别、生日、院系、专业和班级,同时在该类中添加属性的set、get方法,Student类的属性定义部分代码如下: public class Student private String studentId=; /学生IDprivate String studentName=; /学生姓名private String gender=; /学生性别private String birthday=; /学生生日p
29、rivate String department=; /学生院系private String major=; /学生专业private String studentClass=; /学生班级(2)Ctroller层:在nepu.servlet中添加类StudentServlet,该servlet主要负责学生信息管理。(3)View层:在Webroot/Admin文件夹下添加名为AddStudent.jsp、StudentList.jsp、UpdateStudent.jsp 三个JSP页面。3.4.1 增加学生信息1、View层构建用于添加学生信息的AddStudent.jsp设计如图3-3所示
30、,输入学生编号,姓名,性别,生日,所在院系、专业和班级。点击提交按钮,即可完成学生信息的添加。图3-3 学生信息添加页面浏览效果2、Model层构建在业务Javabean的StudentDAO中添加方法addStudent(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现添加功能,此sql语句是插入有表单提交的学生的基本信息,sql语句为:String sql = insert into student values( + student.getStudentId()+,+ student.getStudentName() + ,+ student.getGend
31、er() + , + student.getBirthday() + ,+ student.getDepartment() + , + student.getMajor() + ,+ student.getStudentClass() + );实例化db来执行executeUpdate(sql)方法。执行sql语句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if (count 0 )flag = true;db.releaseSource();return flag;3、Controller层构建在Stud
32、entServlet中,负责学生信息的添加与维护。为StudentServlet添加方法doAddStudent(),在该方法中完成学生信息的添加。该方法的代码主要是接收参数,包括学生编号,姓名,性别,生日,所在院系、专业和班级。String studentId = request.getParameter(studentId);String studentName = request.getParameter(studentName);studentName = new String(studentName.getBytes(ISO-8859-1), GB2312);String gende
33、r = request.getParameter(gender);gender = new String(gender.getBytes(ISO-8859-1), GB2312);String year = request.getParameter(year);String month = request.getParameter(month);String birthday = year + month;String department = request.getParameter(department);department = new String(department.getByte
34、s(ISO-8859-1), GB2312);System.out.println(addstudent-department= + department);String major = request.getParameter(major);major = new String(major.getBytes(ISO-8859-1), GB2312);System.out.println(addstudent-major= + major);String studentClass = request.getParameter(studentClass);studentClass = new S
35、tring(studentClass.getBytes(ISO-8859-1), GB2312);实例化StudentDAO,来执行addStudent()方法,进行添加学生的信息,并判断及处理各种添加异常。最后将信息封装,代码如下:try int studentId2 = Integer.parseInt(studentId);student.setStudentId(studentId);student.setStudentName(studentName);student.setGender(gender);student.setBirthday(birthday);student.se
36、tDepartment(department);student.setMajor(major);student.setStudentClass(studentClass);StudentDAO studentDAO = new StudentDAO();if (studentName.equals() request.setAttribute(message, 姓名不能为空!);RequestDispatcher rd = request.getRequestDispatcher(Admin/AddStudent.jsp);rd.forward(request, response); else
37、 if (department.equals() request.setAttribute(message, 请选择院系!);RequestDispatcher rd = request.getRequestDispatcher(Admin/AddStudent.jsp);rd.forward(request, response);else if (studentDAO.addStudent(student) request.setAttribute(message, 添加学生成功!);this.doQueryStudent(request, response); else request.s
38、etAttribute(message, 添加失败!学生学号已存在!);RequestDispatcher rd = request.getRequestDispatcher(Admin/AddStudent.jsp);rd.forward(request, response); catch (Exception e) request.setAttribute(message, 学号必须为数字!);传参并跳转页面,代码如下:RequestDispatcher rd = request.getRequestDispatcher(Admin/AddStudent.jsp);rd.forward(r
39、equest, response);3.4.2 修改学生信息1、View层构建用于修改学生信息的UpdateStudent.jsp设计如图3-4所示,更改学生编号,姓名,性别,生日,所在院系、专业和班级。点击修改按钮,即可完成学生信息的修改。图3-4 学生信息修改页面浏览效果2、Model层构建在业务Javabean的StudentDAO中添加方法updateStudentById(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现修改功能,此sql语句是修改数据库中两个表的学生的基本信息,sql语句为:String sql = update student set
40、 studentName=+ student.getStudentName() + ,gender= + student.getGender()+ ,birthday= + student.getBirthday() + ,department=+ student.getDepartment() + ,major= + student.getMajor()+ ,studentClass= + student.getStudentClass()+ where studentId= + studentId + ;String sql1 = update grade set studentName=
41、+ student.getStudentName() + where studentId= + studentId+ ;实例化db来执行executeUpdate(sql)方法。执行sql语句。DBManager db = new DBManager();int count = db.executeUpdate(sql);db.executeUpdate(sql1);if (count 0)flag = true;db.releaseSource();return flag; 3、Controller层构建在StudentServlet中,负责学生信息的添加与维护。为StudentServle
42、t添加方法doUpdateStudent(),在该方法中完成学生信息的修改。该方法的代码主要是接收参数,包括学生编号,姓名,性别,生日,所在院系、专业和班级。String studentId = request.getParameter(studentId);String studentName = request.getParameter(studentName);studentName = new String(studentName.getBytes(ISO-8859-1), GB2312);String gender = request.getParameter(gender);gen
43、der = new String(gender.getBytes(ISO-8859-1), GB2312);String year = request.getParameter(year);String month = request.getParameter(month);String birthday = year + month;String department = request.getParameter(department);department = new String(department.getBytes(ISO-8859-1), GB2312);String major
44、= request.getParameter(major);major = new String(major.getBytes(ISO-8859-1), GB2312);String studentClass = request.getParameter(studentClass);studentClass = new String(studentClass.getBytes(ISO-8859-1), GB2312);实例化model中的Student,并实例化StudentDAO,来执行updateStudentById()方法,进行修改学生的信息,并判断及处理各种修改异常。代码如下:Stu
45、dent student = new Student();student.setStudentName(studentName);student.setGender(gender);student.setBirthday(birthday);student.setDepartment(department);student.setMajor(major);student.setStudentClass(studentClass);StudentDAO studentDAO = new StudentDAO();if (studentName.equals() request.setAttrib
46、ute(message, 姓名不能为空!);this.doShowUpdateStudent(request, response); else if (department.equals() request.setAttribute(message, 请选择院系!);this.doShowUpdateStudent(request, response);判断修改结果,并跳转页面。代码如下:else if (studentDAO.updateStudentById(student, studentId) request.setAttribute(message, 修改成功!);this.doQu
47、eryStudent(request, response); else request.setAttribute(message, 修改失败!);this.doQueryStudent(request, response);3.4.3 浏览学生信息1、View层构建用于浏览学生信息的StudentList.jsp设计如图3-5所示,展示学生编号,姓名,性别,生日,所在院系、专业、班级和修改删除按钮。图3-4 学生信息浏览页面浏览效果2、Model层构建在业务Javabean的StudentDAO中添加方法queryStudent(),该方法能够根据传来的参数生成sql语句,借助DBManage
48、r类来进行实现查询所有学生功能,此sql语句是查询数据库中学生的基本信息,该模块包含分页功能,关键代码是分页。首先建立ArrayList类型的studentList,代码如下:ArrayList studentList= new ArrayList();求出首页和尾页的数字,pageN和pageSize是传递过来的参数,目的是求出首页和尾页,代码如下:int beginNum = pageSize * (pageN - 1) + 1;int endNum = pageSize * pageN;sql语句为:String sql = SELECT *FROM (SELECT *, num = r
49、ow_number() over (order by studentId) from student) t where num BETWEEN + beginNum + AND + endNum;实例化db来执行executeQuery(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeQuery(sql);判断rs.next中是否有内容,如果有实例化Student,并取出基本信息,并放入实例化后的teacher中,代码如下:while (rs.next() Student student = new Student(
50、);student.setStudentId(rs.getString(1);student.setStudentName(rs.getString(2);student.setGender(rs.getString(3);student.setBirthday(rs.getString(4);student.setDepartment(rs.getString(5);student.setMajor(rs.getString(6);student.setStudentClass(rs.getString(7);把整个student中的信息放入studentList中,再进行循环添加,直到rs中没有内容为止,最后释放数据库资源,返回studentList,代码如下:studentList.add(student); catch (SQLException e) e.printStackTrace();db.releaseSource();return studentList; 3、Controoler层构建StudentServlet添加方法doQueryStudent(),在该方法中完成学生信息的展示。该方法的代码主要是将StudentDAO中获取出来的studentList传递过去,然后进行页面的跳转即可完成浏览功能,关键代码是实现分页的功能,获取当前页码,定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能停车场系统建设方案
- 生物医药产业投资担保协议签订关键条款解析与应用
- 产业园区物业经营权购买与产业配套服务合同
- 离婚后孩子监护权转让与共同抚养协议
- 离婚子女监护权协议范本:明确子女监护责任与权益
- 离婚协议女方净身出户及放弃共同债权协议
- 《离婚协议书签订前后子女教育费用承担合同》
- 智能化施工合同解除空白单位工程劳务分包合同
- 住宅租赁合同提前解除及违约责任承担协议
- 针灸科医生考试题及答案
- 2025年上海入团考试试题及答案
- 2025年《土地管理法》考试试题及答案解析
- 2025至2030年中国机织服装市场现状分析及前景预测报告
- 妇幼信息安全课件
- 《测绘基础》课件(共八个任务)
- 物业轮岗活动方案
- 医院医疗服务培训
- 中国大麻酚油(CBD油)行业发展监测及投资战略研究报告
- 《工业机器人技术与应用》高职人工智能技术应用专业全套教学课件
- 中医院依法执业管理制度
- 广西b证继续教育考试试题及答案
评论
0/150
提交评论