




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在MyEclipse6.0上整合SSH一、 概述MyEclipse 是 Eclipse 的一个优秀插件,用于 Java EE 的开发,提供了诸如数据库管理、文件配置管理等的一站式服务。然而对于 SSH 的整合,仅仅使用 MyEclipse 是无法成功实现的。因为它自带的部分库文件并不能按照预期进行整合,需要我们手工干预。因而编写这个教程,希望对于 SSH 整合技术的学习和使用略尽绵力。 本教程使用 MyEclipse6.0 构建 SSH 项目。对于教程中的描述,其它版本的 MyEclipse 可能并不适合。另外需要指出的是,SSH 的整合有很多方法,这里只介绍其中的一种。作为 Java EE 的开发,我们使用 Tomcat 作为 Web 容器,使用 MySQL 作为数据库。二、 准备环境 进行本教程中描述的实验,需要事先准备环境。我们需要使用的软件包括: MyEclipse6.0 l Tomcat6.0 l MySQL5.1 需要指出的是,各个软件的版本号并不一定需要和上面列出的相同。但是,由于我们编写本教程时的实验环境是由上述各版本系统搭建的,因此不能确保其它版本的软件是不是能够正常运行。另外由于 MyEclipse 中已经附带了 SSH 所需要的各种库文件,所以我们一般不再需要另外的准备。对于软件的设置,我们将 MySQL 数据库编码设置为 UTF-8。具体方法为: 安装好 MySQL 后,打开 MySQL Server Instance Config Wizard,然后根据下面的图示进行设置:(一) 、启动 MySQL 配置向导界面(图表1),点击 Next 继续; (图表 1) (二) 、由于已经存在 MySQL 实例(图表2),因此系统会提示我们是重新配置实例(Reconfigure Instance),还是删除该实例(Remove Instance)。对于新安装的 MySQL 数据库则没有这一选项。这里我们选择重新配置即可;(图表 2)(三) 、选择配置方式(图表3),Detailed Configuration(手动精确配置)、Standard Configuration(标准配置),选择Detailed Configuration; (图表 3)(四) 、 选择服务器类型(图表4),Developer Machine(开发测试类,MySQL占用很少资源)、Server Machine(服务器类型,MySQL占用较多资源)、Dedicated MySQL Server Machine (专门的数据库服务器,MySQL占用所有可用资源),根据自己需要的类型选择。这里我们选择Developer Machine;(图表 4)(五) 选择MySQL数据库的大致用途(图表5),Multifunctional Database(通用多功能型,好)、Transactional Database Only(服务器类型,专注于事务处理,一般)、Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),根据自己的需要而选择。这里我们按照默认选择Multifunctional Database;(图表 5)(六) 、对InnoDB Tablespace进行配置(图表 6),就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏。当然,对数据库做个备份就没问题了,这里不再详述。这里没有修改,使用默认位置,直接点击Next继续;(图表 6)(七) 、选择一般MySQL访问量(图表 7),即同时连接的数目,Decision Support(DSS)/OLAP(20个左右)、Online Transaction Processing(OLTP)(500个左右)、ManualSetting(手动设置,输入一个数值),这里选 ManualSetting ,选择1000,点击Next继续;(图表 7)(八) 是否启用TCP/IP连接(图表 8),设定端口,如果不启用,就只能在自己的机器上访问MySQL数据库。这里按照默认设置(将端口设置后面的“Add firewall exception for this port”勾选中,如果你开启了Windows防火墙,将自动把这里设置的端口(3306)排除在外(允许连接网络)(如果你没有开启Windows防火墙这里就不要勾选,Windows server 2003 正版默认是没有开启的)。在这个页面上,还可以选择启用标准模式(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果还是个新手,建议取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。点击Next继续;(图表 8)(九) 、这里是MySQL设置服务器编码的地方(图表 9)。第一个是西文编码,第二个是多字节的通用utf8编码,都不是通用的编码。我们选择第三个自定义,然后在Character Set那里选择utf8,当然也可以用GB2312或GBK,区别就是GBK的字库容量大,包括了GB2312的所有汉字,并且加上了繁体字、和其它字体使用MySQL的时候,在执行数据操作命令之前运行一次SET NAMES GBK;(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。点击Next继续;(图表 9)(十) 选择是否将MySQL安装为windows服务(图表 10),还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,mysql.exe -uusername-ppassword;就可以了,不用指出mysql.exe的完整地址)。如果不是全新安装后的第一次设置,这里是不允许全部设置的。保留默认选项,点击Next继续;(图表 10)(十一) 这一步询问是否要修改默认root用户(图表 11)(超级管理员)的密码(默认为空),New root password,如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将Modify SecuritySettings前面的勾去掉,安装配置完成后另行修改密码),Confirm(再输一遍)内再填一次,防止输错。Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)。最后Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询),一般就不用选择了,设置完毕,点击Next继续。(图表 11)(十二) 确认设置无误,如果有误,按Back返回检查。最后点击Execute使设置生效(图表 12)。(图表 12)通过以上步骤,我们就设置好了 MySQL 的服务器编码。Myeclipse6.0和Tomcat6.0的安装基本都是默认安装,只要注意端口的设置即可。下面详细讲解整合SSH的操作三、 创建工程打开 MyEclipse,需要注意的是这里应该处于 MyEclipse Java Enterprise 视图。新建一个 Web Project,输入适当的工程名字,这里我们输入 SSH,修改 Context root URL 为 ssh。这个 URL 是使用 MyEclipse 部署时,浏览器访问站点时的根路径,如果你的工程名中包含空格,那么这个 URL 必须修改为没有空格的地址。根据需要选择是否添加 JSTL,最后 Finish 即可。确定之后 MyEclipse 会生成名为 SSH 的项目,其中生成的目录结构如下所示(图表 13):(图表 13)工程目录结构如下(图表 14):(图表 14)四、 添加 struts支持在刚刚创建的 SSH 工程上面右击,在弹出的菜单中选择(图表 15) MyEclipse - Add Struts Capabilities,添加 Struts的支持。(图表 15)在弹出的对话框中选择 Struts 1.2,修改 Base package for new classes 成所需的包名,其余保持原状,Finish即可如图(图表 16):(图表 16)此时已经完成 Struts 的配置,相关的文件添加如下:(图表 17)五、 添加 spring支持在 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse - Add Spring Capabilities,添加 Spring 的支持(图表 18)。(图表 18)在弹出的对话框中选择 Spring 2,选择 MyEclipse Libraries,按照图示(图表 19)选择相关的库。由于 Spring 采取最小化库发布的方式,使得 Spring 的库文件彼此都是分离的,因而我们需要自己选择需要的库。这里,AOP需要在添加 Hibernate 的事务处理时使用,Core 是 Spring 的核心库,Persistence core 和 Persistence JDBC 库作为 Spring 持久化的支持,Web 允许 Spring 和 Struts 整合,其余保持原状,点击 Next。 (图表 19)在这里添加 Spring 的配置文件(图表 20),可以将 Folder 更改为 Web-Root/WEB-INF 目录。这是为 struts 整合准备的。其实,Spring 的配置文件可以放在 WEB-INF 的任意目录中,具体的位置都需要在 web.xml 中进行配置。这里仅仅采用最简便的方法,将配置文件放到 WEB-INF 下面。然后 Finish 即可。(图表 20) 此时已经完成 Spring 的配置,相关的文件添加如下(见图(图表 21):(图表 21)六、 配置数据源在 MyEclipse 右上角选择 MyEclipse Database Explorer,打开数据库管理视图(图表 22)。(图表 22)在左侧的 DB Browser 点击右键(图表 23),选择 New,打开 Database Driver 对话框。 (图表 23)在 Database Driver 对话框中按照如下配置选择数据库驱动(图表 24)。首先选择 Driver Template,在这里我们选择 MySQL。Driver Name 是以后配置时使用的驱动名字,用以区分驱动,这里使用 MySQL 即可。然后根据实际情况填写 URL,User name 和 Password。点击 Add JARs 添加数据库驱动文件。为方便配置,可以选择 Save password 保存密码。配置完毕后 Finish 即可。 (图表 23)此时左侧的 DB Browser 里面会出现 MySQL,这个名字就是刚刚配置的 Driver name。点击 open connection按钮,在确认 MySQL 服务已经启动的情况下,可以在 MyEclipse 里面建立与 MySQL 的连接。如果能够建立连接,说明驱动添加成功,否则请检查驱动是否正确,或者 MySQL 服务有没有正常运行(图表 24)。(图表 24)MyEclipse 为我们提供了一站式管理。在这里,我们利用 MyEclipse 建立一个数据库。首先选中 MySQL下面的 Connected to MySQL,右击,在菜单中选择 Create Database(图表 25)。 (图表 25)在弹出的对话框中填写数据库信息。这里我们填写 Database Name 为 ssh,Character Set 选择为 utf8,Collation 选为 utf8_unicode_ci。填写完毕后 Finish 即可(图表 26)。(图表 26)新建的数据库如图(图表 27)(图表 27) 现在,我们需要在 ssh 数据库里面建立一个测试用的表格。这里我们新建一个名为 user 的表格。这个表格只有四个字段:id、name、password 和 purview,分别是用户编号、名字、密码和权限。下面给出在MyEclipse 中新建表格的步骤:1). 在刚刚建立的数据库 ssh 中,打开 TABLE,点击右键,选择 New Table(图表 28);(图表 28)2).在弹出的对话框中填写表名。切换到 Columns 选项卡,点击下面的 Add 按钮(图表 29);(图表 29)3).在弹出的对话框中依次添加 id、name、password 和 purview 列,完成后点击 Finish(图表 30)、(图表 32)和 (图表 31);(图表 30)(图表 31)(图表 32)此时打开 ssh 数据库下面的 TABLE,就会出现刚刚建立的 user 表(图表 33)。(图表 33)此时数据源已经配置完毕了。最后我们向表里面添加一条记录1, admin, admin, MANAGER,用来以后的测试。在这里,我们使用 SQL 语句来实现这一目标,具体做法是:1). 在数据库 ssh 的表 user 上面点击右键,选择 Generate - Select Statement(图表 34);(图表 34)2).在 SQL Editor 视图中填写如下的 SQL,insert into user(name, password, purview) values (admin, admin,MANAGER); 然后点击运行按钮即可(图表 35)。(图表 35)3).查看表格内容时可以在表格上面点击右键,有 Edit Data 选项,点击后即可(图表 36)。(图表 36)使用 SQL语句的时候可以在(图表 35)所示进行操作即可。七、 添加hibernate支持当配置完数据源后,就可以添加 Hibernate支持了。切换到 MyEclipse Java Enterprise 视图,在 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse - Add Hibernate Capabilities,添加 Hibernate 的支持(图表 37)。(图表 37)1) 我们选择 Hibernate3,全部按照默认设置即可(图表 38),然后点击 Next;(图表 38)2) 在对话框中选择 Spring configuration file,表示我们希望将 Hibernate 托管给 Spring 进行管理。这是将 Hibernate 与 Spring 进行整合的基础(图表 39)。然后点击 Next;(图表 39)3) 在出现的对话框中选择 Existing Spring configuration file(图表 40)。因为我们已经添加了 Spring 的配置文件,所以这里选择的是已存在的配置文件。 MyEclipse 会自动找到存在的那个文件。然后在 SessionFactory ID 中输入 Hibernate 的 SessionFactory 在 Spring 配置文件中的 Bean ID 的名字,这里我们输入sessionFactory 即可。然后点击 Next;(图表 40)4) 在出现的对话框中的 Bean Id 里面输入数据源在 Spring 中的 Bean ID 的名字,这里我们输入dataSource(图表 41)。然后在 DB Driver 里面选择我们刚刚配置好的 MySQL,MyEclipse 会将其余的信息自动填写到表格里面。然后点击 Next;(图表 41)5) 在出现的对话框中取消 Create SessionFactory class。点击 Finish 即可(图表 42)。(图表 42)此时 Hibernate 的支持已经添加完毕。MyEclipse 会自动打开 Spring 的配置文件。(图表 43)(图表 43)我们可以看一下 MyEclipse 在 Spring 的配置文件中为我们完成了什么配置。首先有一个 ID 为 dataSource的 Bean,这就是我们配置的数据源;然后有一个 ID 为 sessionFactory 的 Bean,这是由 Spring 管理的 Hibernate的 Session Factory。MyEclipse 会自动为 Hibernate 添加数据库方言为 MySQLDialect。八、 添加hibernate的反向工程至此我们已经完成了 SSH 的添加,但现在只是将所有需要的文件放到了一起,并没有完成所有的配置。 现在我们要完成的是 Hibernate 的反向工程。我们知道,Hibernate 提供了 ORM(Object Relation Mapping) 机制,即将关系型数据库映射为面向对象的实现。现在要做的是将数据库的表格映射为对象,这里会有大 量的配置文档,但 MyEclipse 可以很方便的完成这些工作。 首先切换到 MyEclipse DataBase Explorer 视图,在需要使用的数据表格上面点击右键,选择 Hibernate Reverse Engineering.。这里我们使用刚刚建立的 ssh 数据库中的 ssh 表(图表 44)。(图表 44)在打开的对话框中修改 Java src folder 为我们建立的/SSH/src,这里需要选择到 src 文件夹,并且需要填写 Java package,这是 MyEclipse 生成的类所在的包,我们将其取名为 obj。然后选择 Java Data Object,建立POJO 类。然后选择 Java Data Access Object。其中,POJO 类是数据库表格所对应的 Java 类,JDO 类是 MyEclipse自动生成的对数据库的一些操作(图表 45)。这里会封装一些常用的操作,简化我们的编写。填写完成后点击 Next。(图表 45)在出现的对话框中选择 ID Generator,然后点击 Finish 即可(图表 46)。(图表 46) 此时 SSH 项目的目录结构如下所示(图表 47)。其中的 User.Java 是 MyEclipse 生成的 POJO 类,是使用面向对象的Java 语言对数据库表格进行的抽象,User.hbm.xml 是将数据库表格中的字段和 POJO 类的属性进行映射的定义,UserDAO.java 封装了一些 MyEclipse 自动生成的对数据库的操作。(图表 47)九、 修改目录结构这时修改一下文件目录,使之更好的组织。我们看到 MyEclipse 将生成的 POJO 类和 DAO 类混杂在一起,这是不符合业务层次的,所以我们建立一个 dao 包,将 DAO 类与 POJO 类分开。然后我们在 struts包下面建立 action 和 form 包,用来管理 Struts 的 Action 和 Form。实际上,我们应该按照业务逻辑将 Action和 Form 分开管理,而不是放在一个 struts 包下面,但这里我们仅仅实现一个登录等简单功能,并没有十分复杂的业务逻辑,所以我们并不将它们进一步分离,但实际工程中是应该这么做的。为了将实现与接口进行解耦,我们建议在 dao 包下面添加接口,然后建立 dao.impl 包,将实际的 DAO 类放在这里。DAO 类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在 service 类里面,和 dao 一样,我们先建立 service 包,里面添加业务接口,具体的实现放在 service.impl 里面(图表 48)。(图表 48)现在我们的目录结构已经比较合理了(图表 49):(图表 49)十、 测试spring和hibernate的整合这里我们首先对 Spring 和 Hibernate 的集成做下测试。这里的测试关系到对数据库的操作,不涉及业务逻辑。另外,我们的测试代码按照正常的流程去写,也就是说,这里的测试代码完全可以放到正式业务中使用。首先在 dao 下面新建接口 IUserDAO.java。我们可以手工添加,但是 Eclipse 为我们提供的更方便的方法。具体操作是,打开 com.ssh.dao.impl.UserDAO,点击右键,选择 Refactor - Extract Interface(图表 50)。(图表 50)在弹出的对话框里面填写接口名字为 IUserDAO,然后按照需要选择,这里我们按照下图只选择几项就可以了(图表 51):(图表 51)完成后点击确定即可。生成的接口 IUserDAO 位于 com.ssh.dao.impl 下面,通过 move 命令将它移动到 com.ssh.dao 下面即可(图表 52)。(图表 52)在 service 包下面建立接口 IUserService,具体代码如下(图表 53):(图表 53)在 service.impl 下面新建 UserService 类,实现 IUserService 接口(图表 54):(图表 54)这里我们的目的是将业务逻辑和 DAO 类解耦。我们使用 service 包下面的类封装器与数据库实际打交道的DAO 类,从而将业务逻辑与数据库操作类分离。现在我们的类已经准备好,下面需要把这些类在 Spring 里面进行注册,以便 Spring 替我们进行类的管理。首先打开 WEB-INF 下面的 Spring 配置文档 applicationContext.xml,点击右键,选择 Spring - New Bean(图表 55)。 (图表 55)在弹出的对话框中,输入 Bean ID,这是以后我们在 Spring 上下文中需要使用的名字。Spring 根据这个 名字找到对应的 Bean,由容器将其实例化出来。然后找到需要添加的类,将其完整类名填写到 Bean class 里面。(图表 56) (图表 56)注意到我们的 UserService 类有一个属性 IUserDAO,所以我们需要对 Spring 注册这个属性。这是需要选择 Properties 选项卡,点击 Add按钮。在弹出的对话框中填入 Name 为 userDAO。注意,这里的属性名必须和类中的一致,否则将会出现找不到属性的错误。Spring Type 选择 ref。这是与属性的性质相关的。ref 表示这个属性类型是类。如果是一个基本数据类型或者固定的字符串,可以用 value;其他一些选项请具体 参阅 Spring 的文档。Reference Type 指这个属性如何找到。因为我们选择的是 ref 属性,因而 Spring 需要为这个属性创建相应的类实例,从而对这个属性分配内存空间,这就要求我们指定这个类的 Bean ID。由于我 们的属性是 IUserDAO,可以用一个 UserDAO 对象初始化,于是我们寻找 Spring 配置文档,找到 UserDAO 的 Bean ID 是 UserDAO,于是这里我们填写 UserDAO(图表 57)。(图表 57)全部完成之后点击 Finish 即可(图表 58)。(图表 58)最后我们建立一个 test 包,新建一个 Test 类,然后编写测试代码(图表 59): (图表 59)运行该类,我们会得到下面结果(图表 60):(图表 60)这是 MyEclipse 的一个 Bug,我们可以在 applicationContext.xml 里面看到,数据源使用的是 mons.dbcp.BasicDataSource,但是这个类并没有被 MyEclipse 添加 到路径中,所以会有 NoClassDefFoundError。解决的办法是,到页面,下载 Binary 文件 Commons-pool-1.5.4-bin.tar.gz 或者 commons-pool-1.5.4-bin.zip。当然,你也可以下载源代码,然后自行编译,不过我们不去做这一步了(图表 61)。(图表 61)下载后进行解压缩,可以看到里面的文件如下所示(图表 62):(图表 62)我们将 commons-pool-1.5.4.jar 文件复制到 SSH/WebRoot/WEB-INF/lib 文件夹下,然后将其添加到工程路径,具体操作为:在 SSH 工程上面点右键,选择 Build Path - Add External Archives. (图表 63)。 (图表 63)在 弹 出 的 浏 览 文 件 对 话 框 里 找 到 刚 刚 复 制 到 SSH/WebRoot/WEB-INF/lib 文 件 夹 下 的commons-pool-1.5.4.jar,然后选择打开即可。此时,在 SSH 项目的 Referenced Libraries 下面应该有 commons-pool-1.3.jar,表明已经添加到项目路径之中。(图表 64) (图表 64)此时再去运行 Test 类,会有如下的结果(图表 65):(图表 65)可以看到,其中的admin就是从数据库中读取的id为1的记录的name值。因此我们可以说,Spring和Hibernate已经能够顺利的整合了。我们可以在com.ssh.dao.impl.UserDAO中清楚的看到,其中Hibernate的代码已经完全委托给了Spring进行管理,这就是Spring和Hibernate进行整合的实质,就是Hibernate委托给Spring进行管理。同时,我们可以看到前面有两条红色的log4j的警告,这是由于我们没有在项目中配置log4j的缘故,这并不影响我们的项目的正常运行,但是应该在实际项目中配置好log4j,以便对项目的运行情况进行记录。然后我们修改Test类,使用如下的代码(图表 66):(图表 66)可以看到数据库中新增加了一条记录,证明我们的插入操作也是可行的。此时的 Hibernate 插入并不支持事务处理。我们可以在 Spring 配置文件中利用 Spring AOP 机制添加事务处理,或者是在 Hibernate 代码中添加相应的处理代码。这里不再详述。十一、 整合struts和springStruts 和 Spring 有三种整合方式。其核心是让 Struts 能够访问到交给 Spring 进行托管的类,因此只要我们可以让 Struts 从 Spring 获得需要的类就可以了。 为了达到这个目标,我们创建一个类(图表 67):(图表 67)这个 BaseAction 类继承自 ActionSupport 类,后者是 Spring 中对应着 Struts 的 Action 的类。ActionSupport 类中提供了访问 WebApplicationContext 的简便方法,而后者是在 web 程序中获取 Spring 托管的类的上下文。以后我们编写的 Struts 中的 Action 继承自这个 BaseAction,就可以利用 getBean 在我们的 Action 中获取 Spring 托管的类。为了让 Web 容器能够初始化 Spring,我们需要修改 web.xml 文件,增加以下内容(图表 68):(图表 68)此时我们已经完成了 Struts 和 Spring 的整合。十二、 测试SSH的整合为了测试 Struts 和 Spring 的整合,我们需要首先创建基于 Struts 的 JSP 页面。打开 WEB-INF 下面的 struts-config.xml,单击右键,选择 New - Form, Action and JSP(图表 69)。(图表 69)在弹出的对话框中添加 User case,然后点击 Add 生成 Properties 代码。这会由 MyEclipse 自动生成相应 的 Form 代码。输入完成后选择 JSP 选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》押题模拟附答案详解【巩固】
- 教师招聘之《幼儿教师招聘》能力提升B卷题库附答案详解(轻巧夺冠)
- 教师招聘之《幼儿教师招聘》考试彩蛋押题附参考答案详解【b卷】
- 2025呼伦贝尔农垦那吉屯农牧场招聘考试练习附答案详解(模拟题)
- 2025年国际关系研究专业考试试题及答案
- 教师招聘之《幼儿教师招聘》能力提升试题打印及答案详解(新)
- 教师招聘之《小学教师招聘》含答案详解【夺分金卷】
- 押题宝典教师招聘之《小学教师招聘》通关考试题库含完整答案详解【各地真题】
- 教师招聘之《幼儿教师招聘》练习题附答案详解【达标题】
- 教师招聘之《幼儿教师招聘》测试卷含答案详解(a卷)
- 起重机械定期检查与维护方案
- 2025年新《公司法》知识竞赛题库(附含答案)
- 国际物流运输合同(标准版)
- 动物样品采集培训课件
- 八年级心理健康体验式教学计划
- 二手房资金监管协议书
- 甘肃省会宁县2025年上半年公开招聘辅警试题含答案分析
- (2025年)医疗机构工作人员廉洁从业九项准则考核试题(+答案)
- 2025年太阳能海水淡化项目经济效益评估报告
- 2025年机关事业单位工人招聘《机动车驾驶员》技师考试题库与答案
- 2025年物资保管岗位招聘面试实战指南及模拟题解析
评论
0/150
提交评论