




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北石油大学本科生课程设计(论文)目 录第1章 概 述11.1 系统目的和意义11.2 系统开发环境11.3 系统开发模式及基本功能1第2章 系统设计32.1系统的模块划分32.2数据库设计4第3章 系统的详细设计及实现63.1数据库底层访问类63.2 登录模块83.3 后台管理系统首页面导航103.4 教师信息管理113.5 论著信息管理203.6科研项目信息管理283.7 前台浏览模块35结 论43参考文献44第1章 概 述1.1 系统目的和意义 教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查询方式。本次课程设计的题目是“基于MVC模式的教师信息管理系统”的设计与实现,该设计是对本学期前八周所学的JSP程序设计课程的巩固和深入应用,同时结合Java语言、JSP技术进行Web程序设计,利用前面学过的知识和上网学习来解决实际问题,锻炼解决问题的能力和动手编程的能力。同时使用目前企业实际开发中比较成熟的MVC模式进行系统的整体架构设计,有效分离模块、功能之间的代码耦合关系,并逐步理解软件开发步骤和软件工程思想1。1.2 系统开发环境1 本系统采用Browser/Server体系结构2 系统开发环境1) 开发平台:MyEclipse5.5.1 GA2) 开发语言:JSP、Java3) 数据库:Microsoft SQLServer20053 系统运行环境客户端:浏览器:IE6.0服务器端:数据库:Microsoft SQLServer2005应用程序系统1.3 系统开发模式及基本功能本系统是基于MVC模式设计和开发的,MVC模式包括模型(Model)JavaBean 代表应用程序和业务逻辑。视图(View)JSP提供可交互的客户界面,向客户显示模型数据。控制器(Controller)Servlet根据客户的请求来操纵模型,并把结果经由视图展现给客户2。MVC优点:代码的重用性,有利于开发的分工各司其职、互不干涉。MVC编程思路:Servlet接受客户端请求,并调用业务类的方法进行数据处理,Servlet根据数据处理的结果,控制下一个显示的HTML或者JSP页面。基于MVC模式的教师信息管理系统主要实现前台和后台两部分功能设计,其中前台主要实现教师登录的浏览和查询功能,其中,主要是全部教师信息的分页浏览,全部教师论著的分页浏览,全部科研项目的分页浏览。后台主要实现管理员登录后的添加、删除、修改、查询和批量删除功能,其中,主要是教师基本信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览,其次论著信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览,最后是科研项目信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览。第2章 系统设计2.1系统的模块划分教师信息管理系统是一种通常由管理员管理、维护,可以让教师查询、浏览的网站。教师的信息通常教师工号,以正序方式由小到大排列展示出来。经过需求分析,教师信息管理系统主要包括以下几个功能模块:1、登录模块模块功能详细介绍:教师和系统管理员进行登录操作,拥有不同的权限和功能。2、教师信息管理模块模块功能详细介绍:对教师信息进行增删改查操作。3、论著信息管理模块模块功能详细介绍:对教师论著信息进行管理。4、科研项目管理模块模块功能详细介绍:对教师的科研项目进行管理。系统功能模块图如下图2-1所示: 教师信息管理系统用户登录管理教师信息管理论著信息管理科研项目管理教师登录管理员登录论著信息维护论著信息查询项目信息维护项目信息查询教师信息查询教师信息维护图2-1 系统功能模块图2.2数据库设计数据库管理系统是允许用户在计算机上建立、使用和维护数据库,增加、修改、删除、排序和检索数据库中的数据,并使用数据库中的数据创建表格和报表的软件系统。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。数据库的设计是整个系统成败的一个重要环节。合理的数据库设计能够给系统带来很好的效率。而且能够使得各个功能模块的设计变得非常简单而且模块间的关系特别明确。本系统的数据库是在SQL Server2005中创建的3。根据前面的分析,教师信息管理系统数据库共包含4个表,包括用户信息表(T_user)、教师信息表(T_teacher)、论著信息表(T_lunzhu)、科研项目信息表(T_keyan)。1、 用户信息表 表2-1所示是用户信息表结构,用于记录用户基本信息,包括账号、密码、用户类型。表2-1 用户信息表列名说明数据类型约束id用户账号nvarchar(20)主键psw用户密码nvarchar(20)非空userType用户类型nvarchar(10) 非空2、 教师信息表表2-2是教师信息表结构,用于记录教师信息,包括教师基本信息和院系信息等。表2-2 教师信息表列名说明数据类型约束id教师工号nvarchar(20)主键name教师名nvarchar(20)非空password密码nvarchar(20)非空gender性别nvarchar(20)非空department所在院系nvarchar(20)jurisdiction权限nvarchar(20)3、 论著信息表 表2-3是论著信息表结构,用于记录教师论著信息,包括论著编号、论著书名、出版社等。表2-3 论著信息表列名说明数据类型约束id论著编号nvarchar(20)主键name论著书名nvarchar(20)非空press出版社nvarchar(20)Tid教师编号nvarchar(20)4、 科研项目信息表 表2-4是科研项目信息表结构,用于记录教师科研项目信息,包括项目编号、项目名称等。表2-4 科研项目信息表列名说明数据类型约束id项目编号nvarchar(20)主键name项目名称nvarchar(20)非空Tid教师编号nvarchar(20)以上就是教师信息管理系统所需的数据表,按照这些表结构设计,在Microsoft SQLServer2005中创建数据库Teacher,并创建相应的表。第3章 系统的详细设计及实现3.1数据库底层访问类本系统的设计使用基于Servlet的MVC架构模式,将系统的各个功能的实现过程严格的划分为视图(View)、控制(Controller)、模型(Model),其中View负责界面的显示,Controller负责请求的转发和响应,Model负责逻辑业务对象实体和业务实体。由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完成数据库的连接、SQL语句的具体执行等操作。这一层由MVC模式中的Model层里的业务实体进行调用,从而完成逻辑业务的信息维护操作。3.1.1JDBC数据库访问技术JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。系统与数据库的连接需要的准备工作,下载JDBC驱动包,将驱动包复制到TeacherManagerWebRootWEB-INFlib文件夹下。完成导入驱动包4。3.1.2添加DBManager公共类首先创建包nepu.ldz.tools,在该包下创建名为DBManager的类,该类得职责用于提供访问、操作数据库的公共方法。添加公共类的方法和步骤如下:在工程中的包名上点右键,选择【New】【Class】菜单项,将弹出【New Java Class】对话框,保留默认的选择,在Name文本框中输入DBManager,点击Finish按钮。3.1.3编写公共方法3.1.2小节为项目添加了一个DBManager类,该类用于存放连接、操作数据库的公共方法,本小节介绍如何编写这些公共方法。首先为DBManager类声明几个公共变量,其中conn为数据库连接对象,rs为结果集对象,stmt用于向数据库发送要执行的SQL语句,路径 uri,用户名 sa,密码 123456。 1、数据库连接方法getConnection()先加载数据库连接驱动,然后获取数据库连接,然后进行判断,检查是否获取数据库连接成功,并且捕获加载数据库驱动的异常和获取连接的异常。getConnection方法的关键代码如下:private Connection getConnection() try / 加载数据连接驱动Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);/ 获取数据库连接conn = DriverManager.getConnection(uri, user, password);if (conn != null)System.out.println(数据库连接成功); catch (ClassNotFoundException e) System.out.println(数据库驱动加载错误); catch (SQLException e) System.out.println(获取连接错误);return conn;2、数据库查询方法executeQuery()先建立Statement对象,再建立ResultSet(结果集)对象,并执行传参过来的SQL语句,并且捕获SQL语句执行的异常。 executeQuery方法的关键代码如下: public ResultSet executeQuery(String sql) try stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch (SQLException e) System.out.println(sql execute failure);e.printStackTrace();return rs;3、数据库增删改的操作方法executeUpdate()先建立Statement对象,再建立ResultSet(结果集)对象,并执行传参过来的SQL语句,并且捕获SQL语句执行的异常。executeUpdate方法的关键代码如下:public int executeUpdate(String sql) try stmt = conn.createStatement(); return stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return 0; 3.2 登录模块登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节首先严格按照MVC架构模式为教师信息管理系统制作了一个简单的登录模块,登录分为两个权限登录,分别是普通教师登录和管理员登录,管理员登录成功后,应当进入该系统的后台管理系统,普通教师登录成功之后,应当进入该系统的前台管理系统。因此本节还详细介绍了主窗体的设计。按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.ldz.model包中添加用户类别的实体Javabean,类名为Usermodel。在nepu.ldz.DAO包中添加业务Javabean,类名为UserDAO。其中Usermodel类包含3个属性,分别是ID、密码和权限,同时在该类中添加属性的set、get方法,User类的属性定义部分代码如下: public class Usermodel private String Uid= ;private String Upsw= ;private String Utype= ;(2)Controller层:在nepu.ldz.Servlet中添加类UserServlet,该servlet主要负责登录以及管理员相关操作的流程控制。(3)View层:在Webroot文件夹下添加名为login.jsp的JSP文件。3.2.1 View层构建首先在MyEclipse的项目的WebRoot目录中建立JSP页面,在该页面中编写表单代码,其中注意表单的action属性为该表单信息提交的服务端URL地址,method属性为提交方式。在这里由于是按照MVC模式,将信息提交给Servlet,因此method必须post。同时为避免复杂的URL的路径逻辑关系,统一使用绝对路径。图3-1 登录界面设计3.2.2 Model层构建在业务Javabean类UserDAO中建立方法login(),实现过程中借助DBManager数据库底层操作类,实现用户登录的判断。该方法需要接收由servlet传递过来3个参数,一个是用户名name,另一个是密码password,最后是权限state,调用DBManger数据库底层操作类的executeQuery()方法实现sql查询,sql语句如下:String sql=select * from T_user where id=+name+ and psw=+password+ and userType=+state+; 实例化DBManager,调用executeQuery()方法,对数据库中的信息进行查询,代码如下: DBManager db = new DBManager(); ResultSet rs = db.executeQuery(sql); 判断是否查询出结果,如果rs.next是空,则没有此权限此人信息,如果rs.next有结果则t=1,传给servlet使其获得结果,并知道此权限此人信息,代码如下: if(rs.next() return 1;return t;3.2.3 Controller层构建在UserServlet添加方法Login(),在该方法中完成登录的逻辑判断。首先需要通过方法request.getParameter()来接收由login.jsp页面传递过来的参数编号(name)、密码(password)和权限(state),在进行必要的参数转码或合法性判定后调用Model层的业务javaBean UserDAO的登录方法实现登录判定,登录成功后需要注意将用户名用session进行存储,这样,在用户多次请求和响应之后都可以由session中取出用户名展示或判断用户是否登录。最后,在servlet中使用response.sendRedirect()方法跳转到管理后台的首页面。UserServelt中的Login()方法关键代码如下:String name =new String(request.getParameter(name).getBytes(ISO-8859-1),GB2312);String password = request.getParameter(password);String state=new String(request.getParameter(state).getBytes(ISO-8859-1),GB2312);if(state.equals(1)state=普通教师;else state=管理员;UserDAO userDAO = new UserDAO();int t = userDAO.login(name, password,state);HttpSession session=request.getSession();session.setAttribute(name, name);if(t=1)session.setAttribute(username, name);if(state.equals(普通教师) response.sendRedirect(front/FrontIndex.jsp);if(state.equals(管理员) response.sendRedirect(admin/AdminIndex.jsp);elseresponse.sendRedirect(login.jsp?operate=faile);t=1时,判断用户权限,普通教师跳转到front/FrontIndex.jsp页面,管理员跳转到admin/AdminIndex.jsp页面。否则跳转回到login.jsp页面。3.3 后台管理系统首页面导航整个教师信息后台管理系统的界面设计是左侧导航的结构,如图3-2所示,系统几乎所有的jsp页面都具有大致类似的页面结构和风格,例如,相同的页面头部、左侧导航和页脚,因此,为了页面编码的方便和代码的可重用性,系统设计了一些公用的页面文件,主要包括AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp,通过include指令标记将AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp嵌入到AdminIndex.jsp页面中,这样,编码工作将主要集中在左侧导航AdminLeft.jsp和AdminIndex.jsp页面。其他新增的功能页面的设计思路类似,在这里就不再赘述了。AdminIndex.jsp界面的浏览效果如图3-2所示:图3-2 后台管理首页面浏览效果3.4 教师信息管理教师信息管理是教师信息管理系统的主要模块,其中包括对教师信息的浏览,添加,修改,删除,查询,批量删除的功能。以便于管理员对教师信息的维护和修改。按照MVC模式对该模块进行功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.ldz.model包中添加教师类别的实体Javabean,类名为Teachermodel。在nepu.ldz.DAO包中添加业务Javabean,类名为UserDAO。其中Teachermodel类包含6个属性,分别是编号、姓名、密码、性别、所属院系和权限,同时在该类中添加属性的set、get方法,Teachermodel类的属性定义部分代码如下: public class Teachermodel private String Tid = ;private String Tname = ;private String Tpassword = ;private String Tgender = ;private String Tdepar= ;private String Tjur= ;(2)Controller层:在nepu.ldz.Servlet中添加类UserServlet,该servlet主要负责有关教师信息操作请求和响应。(3)View层:在Webroot文件夹下添加名为admin的文件夹,并建立TeacherList.jsp、AddTeacher.jsp、UpdateTeacher.jsp、SelectTeacher.jsp四个页面。3.4.1 添加教师信息1、View层构建用于添加教师信息的AddTeacher.jsp设计如图3-3所示,输入教师编号,姓名,密码,性别,所在院系和权限。点击保存按钮,即可完成教师信息的添加。图3-3 教师信息添加界面2、Model层构建在业务Javabean的UserDAO中添加方法Addteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现添加功能,此sql语句是插入有表单提交的教师的基本信息,sql语句为:String sql = insert into T_teacher values(+ teacher.getTid() +,+ teacher.getTname() +,+ teacher.getTpassword() +,+ teacher.getTgender() +,+ teacher.getTdepar() +,+ teacher.getTjur() +);实例化db来执行executeUpdate(sql)方法。执行sql语句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if(count0) t = true;db.releaseResource();return t;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doAddteacher(),在该方法中完成教师信息的添加。该方法的代码主要是接收参数,包括编号,姓名,密码,性别,所在院系和权限。String Tid = request.getParameter(Tid);String Tname =new String(request.getParameter(Tname).getBytes(ISO-8859-1),GB2312);String Tpassword = request.getParameter(Tpassword);String Tgender =new String(request.getParameter(Tgender).getBytes(ISO-8859-1),GB2312);String Tdepartment = new String(request.getParameter(Tdepar).getBytes(ISO-8859-1),GB2312);String Tjur = new String(request.getParameter(Tjur).getBytes(ISO-8859-1),GB2312);实例化UserDAO,来执行Addteacher()方法,进行添加教师的信息,即传来的参数,将信息封装,代码如下:UserDAO userDAO = new UserDAO();Teachermodel teacher = new Teachermodel();teacher.setTid(Tid);teacher.setTname(Tname);teacher.setTpassword(Tpassword);teacher.setTgender(Tgender);teacher.setTdepar(Tdepartment);teacher.setTjur(Tjur);userDAO.Addteacher(teacher);传参并跳转页面,直接运用UserServlet里的浏览教师信息的方法doQueryTeacherList()即可。this.doQueryTeacherList(request, response);3.4.2 浏览教师信息1、View层构建用于浏览,修改,删除教师信息的TeacherList.jsp页面,在点击“浏览/修改/删除教师”时即可展示出来,设计如图3-4所示。2、Model层构建在业务Javabean的UserDAO中添加方法queryTeacherList(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现浏览功能,此sql语句是浏览数据库中的教师的基本信息,sql语句为: String sql = select * from T_teacher;实例化db来执行executeQuery(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeQuery(sql);图3-4 教师信息浏览界面判断rs.next中是否有内容,如果有实例化Teachermodel,并取出id,name,password,gender,depar,jur,并放入实例化后的teacher中,代码如下:while(rs.next()Teachermodel teacher = new Teachermodel();teacher.setTid(rs.getString(1);teacher.setTname(rs.getString(2);teacher.setTpassword(rs.getString(3);teacher.setTgender(rs.getString(4);teacher.setTdepar(rs.getString(5);teacher.setTjur(rs.getString(6);把整个teacher中的信息放入teacherList中,再进行循环添加,直到rs中没有内容为止,代码如下:teacherList.add(teacher);最后释放数据库资源,代码如下:db.releaseResource(); catch (SQLException e) e.printStackTrace();return teacherList;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doQueryTeacherList(),在该方法中完成教师信息的浏览。该方法的代码主要是将UserDAO中获取出来的teacherList传递过去,然后进行页面的跳转即可完成浏览功能,代码如下:ArrayList teacherList = new ArrayList();UserDAO userDAO = new UserDAO();teacherList = userDAO.queryTeacherList();request.setAttribute(teacherList, teacherList);RequestDispatcher rd = request.getRequestDispatcher(admin/TeacherList.jsp);rd.forward(request, response);3.4.3 修改教师信息1、View层构建用于修改教师基本信息的UpdateTeacher.jsp,在点击教师信息后面的“修改”时即可展示出来,设计如图3-5所示。图3-5 教师信息修改界面2、Model层构建在业务Javabean的UserDAO中添加方法Updateteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现添加功能,此sql语句是浏览数据库中的教师的基本信息,sql语句为:String sql = update T_teacher set name=+ teacher.getTname() +,password = + teacher.getTpassword() +,gender = + teacher.getTgender() +,department = + teacher.getTdepar() +,jurisdiction = + teacher.getTjur() + where id = + teacher.getTid() +;实例化db来执行executeUpdate(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeUpdate(sql);3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doUpdateteacher(),在该方法中完成教师信息的修改。该方法的代码主要是接收参数,包括编号,姓名,密码,性别,所在院系和权限。String id = request.getParameter(id);String name = new String(request.getParameter(name).getBytes(ISO-8859-1), GB2312);String password = request.getParameter(password);String gender = new String(request.getParameter(gender).getBytes(ISO-8859-1), GB2312);String department = new String(request.getParameter(department).getBytes(ISO-8859-1), GB2312);String jur = new String(request.getParameter(jur).getBytes(ISO-8859-1), GB2312);实例化UserDAO,来执行Updateteacher()方法,进行修改教师的信息,即传来的参数,实例化Teachermodel,代码如下:Teachermodel teacher = new Teachermodel();teacher.setTid(id);teacher.setTname(name);teacher.setTpassword(password);teacher.setTgender(gender);teacher.setTdepar(department);teacher.setTjur(jur);UserDAO userDAO = new UserDAO();userDAO.Updateteacher(teacher);然后进行页面的跳转即可完成修改功能,代码如下:this.doQueryTeacherList(request, response);3.4.4 删除教师信息1、Model层构建在业务Javabean的UserDAO中添加方法Deleteteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现删除功能,此sql语句是删除数据库中的教师信息,sql语句为:String sql = delete from T_teacher where id = + teacher.getTid() +;实例化db来执行executeUpdate(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeUpdate(sql);2、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doDeleteteacher(),在该方法中完成教师信息的删除。该方法的代码主要是接收参数id,实例化Teachermodel,并实例化UserDAO,来执行Deleteteacher()方法,进行删除教师的信息,代码如下:String id = request.getParameter(number);Teachermodel teacher=new Teachermodel();teacher.setTid(id);UserDAO userDAO=new UserDAO();userDAO.Deleteteacher(teacher);然后进行页面的跳转即可完成删除功能,代码如下:this.doQueryTeacherList(request, response);3.4.5 批量删除教师信息1、Model层构建在业务Javabean的UserDAO中添加方法DeleteAllteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现批量删除功能,此sql语句是批量删除数据库中的教师信息,先实例化db,根据传递过来的Tlist,求其长度,然后循环做字符串的拼接,最后执行executeUpdate(sql)方法。代码如下:DBManager db = new DBManager();for(int i=0;i0) t = true;db.releaseResource();return t;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doAddbook(),在该方法中完成论著信息的添加。该方法的代码主要是接收参数,包括论著编号、论著名称、出版社和教师编号。String id = request.getParameter(Bid);String name =new String(request.getParameter(Bname).getBytes(ISO-8859-1),GB2312);String press =new String(request.getParameter(Bpress).getBytes(ISO-8859-1),GB2312);String Tid = request.getParameter(Tid);实例化UserDAO,来执行Addbook()方法,进行添加论著的信息,即传来的参数,将信息封装,代码如下:UserDAO userDAO = new UserDAO();Bookmodel book = new Bookmodel();book.setBid(id);book.setBname(name);book.setBpress(press);book
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木饰面生产线项目技术方案
- 建筑预应力施工技术交流方案
- 服装制造加工项目建筑工程方案
- 建筑装饰项目成本管控方案
- 园林古建筑资源利用与节能方案
- 园林古建筑绿化景观设计方案
- 知道智慧树网课《工程经济学(山东联盟-山东财经大学)》章节测试答案
- 2025年客房服务知识测试试题及答案
- 财务管理竞赛培训试题及答案
- 市级小学生数学竞赛培训试题及答案
- 人教版八年级历史上册新课标解读
- 工程咨询服务项目工程咨询报告
- 蔬菜生产技术教案
- DB33-T1238-2021《智慧灯杆技术标准》
- GB∕T 12237-2021 石油、石化及相关工业用的钢制球阀
- GB∕T 1727-2021 漆膜一般制备法
- 英语外研版(三起)五年级上册- Module 7 Unit 1 He can't see.教案
- 2012课内比教学
- 水污染控制工程高廷耀(下册)课后答案
- 牧场物语-矿石镇的伙伴们_完全攻略
- 干式壳管式蒸发器设计设计说明书
评论
0/150
提交评论