![geoserver中文开发手册_第1页](http://file4.renrendoc.com/view12/M0A/0B/03/wKhkGWcA-0mAUMP4AABfoeeo5mM126.jpg)
![geoserver中文开发手册_第2页](http://file4.renrendoc.com/view12/M0A/0B/03/wKhkGWcA-0mAUMP4AABfoeeo5mM1262.jpg)
![geoserver中文开发手册_第3页](http://file4.renrendoc.com/view12/M0A/0B/03/wKhkGWcA-0mAUMP4AABfoeeo5mM1263.jpg)
![geoserver中文开发手册_第4页](http://file4.renrendoc.com/view12/M0A/0B/03/wKhkGWcA-0mAUMP4AABfoeeo5mM1264.jpg)
![geoserver中文开发手册_第5页](http://file4.renrendoc.com/view12/M0A/0B/03/wKhkGWcA-0mAUMP4AABfoeeo5mM1265.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
geoserver中文开发手册
一・书目
目录
写在前面
一介绍
二工具
Java
Maven
Subversion
三源代码
源代码
提交
库结构
分支结构
四快速入门
取出源代码
由Maven构建
由Maven生成Eclipse工程文件
导入模块进Eclipse
在Eclipse中运行GeoServer
访问GeoServer首页
五Maven指南
六Eclipse指南
七编程指南
八释放指南
九释放测试检查列表
十CITE测试指南
十一政策与步骤
二,介绍、工具、源代码三章
一介绍
空。
二工具
在GeoServer开发者环境搭建以前,须要安装以下工具:
Java
GeoServer开发须要JDK1.5与其以上版本,可从SunMicrosystems获得。
注:除了可以运用Sun供应的JDK以外,也可以运用其它的,但这里我们举荐运用Sun的。
Maven
Geoserver运用Maven工具构建。当前举荐版本是,可从Apache获得。虽然是举荐的,但
以上版本同样可用。
Subversion
Geoserver源代码由subversion库完成存储和版本管理。对于不同平台有多种subversion
客户端可获得。更多细微环节请访问:。
三源代码
源代码
GeoServei•源代码存放在:。
运用以下方式取出开发版/trunk版本
svncogeoserver
运用以下方式取出稳定版/stable版本:
svncogeoserver
警告:Geoserver库包含大量空间数据。从上取出这些数据对于低带宽用户来说相对就很慢或
者很昂贵,这种状况下,用户可以通过以下方式仅获得源代码:
svnconk/src
提交
通过以下步骤提交到代码库:
1.安装subversion配置文件,清看后面备注。
2.注册获得提交权限。
3.将库切换到“s”协议,例如:
[rootofcheckout]%svnswitch
库结构
branches/
spike/
tags/
trunk/
branches包含以前全部稳定的开发分支,,,etc…
spike包含试验版本和原型
tags包含以前全部释放版本
trunk为当前开发分支。
分支结构
每个开发分支都有如下所示的结构:
doc/
src/
data/
1doc包含用户和开发人员向导的源文件
1src包含Geoserver本身的Java源码
1data包含多种GeoServer的数据书目
三.快速入门
本章介绍快速搭建、运行GeoServer开发环境具体步骤。我们假定您已经安装好全部必需的工具(内
容见其次章)。
注:本章的上的是为了尽快的让开发者搭建和运行GeoServer。对于一些更加深化的介绍请见Maven
指南和Eclipse指南。
取出源代码
由Maven构建
由Maven生成Eclipse工程文件
导入模块进Eclipse
在Eclipse里运行GeoServer
访问GeoServer首页
取出源代码由subversion库中取出源代码。选取trunk作为最新开发源码,或者那些基本不行能常
常更新的版本的稳定分支。
要么是:
svncogeoserver-trunk或者(稳定的分支
)
svnco在这页示例里面,我们假定你取出源码到一个名为geoserver的书目,不过,最好还是把名
字取得更具体一点为好。
由Maven构建修改书目到源树的根,执行以Fmaven构建吩咐:
cdgeoserver/srcmvncleaninstall胜利构建后会产生类似于以卜,的输出:
[INFO]
[INFO]
[INFO]...........---------------------------------------------------------------------
[INFO]ReactorSummary:
[INFO]-------------------------------------------------------------------------------
[INFO]GeoServer.....................................................SUCCESS[10.271s]
[INFO]GeoServerMavenPlugins...................................SUCCESS[0.865s]
[INFO]ConfigurationDeploymentPlugin...........................SUCCESS[3.820s]
[INFO]GeoServerMavenArchetypes...............................SUCCESS[0.054s]
[INFO]GeoServerWFSOutputFormatArchetype....................SUCCESS|0.390s]
[INFO]CorePlatformModule......................................SUCCESS[5.270s]
[INFO]DataModule.................................................SUCCESS|4.521s]
[INFO]OpenWebServiceModule...................................SUCCESS[2.730s]
[INFO]MainModule.................................................SUCCESS[10.077s]
[INFO]WebCoverageServiceModule..............................SUCCESS[3.785s]
[INFO]WebCoverageService1.1.1Module.........................SUCCESS[5.254s]
[INFO]ValidationModule............................................SUCCESS[1.131s]
[INFO]WebFeatureServiceModule...............................SUCCESS[6.695s]
[INFO]WebFeatureServiceModule...............................SUCCESS[1.197s]
[INFO]WebMapServiceModule....................................SUCCESS[8.519s]
[INFO]GeoserverRESTSupportCode..............................SUCCESS[3.366s]
[INFO]GeoWebCache(GWC)Module...................................SUCCESS[0.255s]
[INFO]WebApplicationModule....................................SUCCESS[27.386s]
[INFO]CommunitySpace............................................SUCCESS[0.312s]
[INFO]GeoServerExtensions.......................................SUCCESS[0.071s]
[INFO]
[INFO]-------------------------------------------------------------------------------
[INFO]BUILDSUCCESSFUL
[INFO]-------------------------------------------------------------------------------
由Maven生成Eclipse工程文件生成Eclipse运用的.project文件和.classpath文件:
mvneclipse:eclipse导入模块进Eclipse1.
启动运行Eclipse集成开发环境
2.
打开Eclipse首选项Preferences
3.
依次点击进入:Java,BuildPath,ClasspathVariables,点击New
Preferences
typefiltertextClasspathVariables
>General
►AntAclasspathvariablecanbeaddedtoaproject'sclasspath.Itcanbeusedto
definethelocationofaJARfilethatisn'tpartoftheworkspace.Non
►Help
modifiableclasspathvariablesaresetinternally(forexample,JRE_LIB,
>lnsull/Update
JRE.SRC,andJRE.SRCROOTdependontheJREletting).
▼Java
kAppearanceDefinedclasspathvariables:
▼BuildPath&ECUPSEHOME(nonmodifiable)-/Users/jdeolive/App(New…4]
ClasspathVariables^JRE_UB(nonmodifiable,deprecated)-/System/Library
UserLibraries
懑JRE_SRC(nonmodifiable,deprecated)-/System/LibrarEdit...
►CodeStyle|^JRE_SRCROOT(nonmodifiable,deprecated)-sre
>Compiler
UjUNIT_HOME(nonmodifiable,deprecated)-/Users/jde
>Debug(Remove)
►Editor^JUNIT.SRC.HOME(nonmodifiable,deprecated)-/User
►InstalledJREs
JUnit
4.
创建类路径变量名称“M2_REPO”,并且设置它的值为本地Maven库的位置,点击OK。
R、cNewVariableEntry
Name:IM2一REPO
Path:[/Users/jdeolive/.m2/repository](File…)(Folder...)
②(Cancel)—
5.
单击OK以应用新的Eclipse首选项。
6.
在包阅读PackageExplorer右键并单击导入Import?一
PackageExpl费&Hierarchy=O
New►
ShowInX3€W►
通Copy翻C
昌CopyQualifiedName
/Paste3€V
XDeleteE>
L_JImport...
dExport...
7.
选择
已有工程导入工作区ExistingProjectsintoWorkspace,单击下一步:
8.
进入geoserver/sre书目
9.
确保全部模块都被选取,单击完成Finish
ImportProjects
SelectadirectorytosearchforexistingEclpseprojects.巨
0Selectrootdirectory:"Users/jdeolive/Devel/geoserve”1.7.x/L7.x竺J(row$e...)
B
OSelectarchivefile:
Projects:
M
«
M
M同
M
/
C2Copyprojectsintoworkspace
Workingsets
Addprojecttoworkingsets
WorkingsetsSelect...
②
(vBack}Next>《Cancel)(Finish、、
在Eclipse中运行GeoServeri.
在包阅读PackageExplorer中选择web-app模块(或更早版本是web)
2.
点击进入包(或更早版本是)
3.
在Start类上右键,单击Runas,JavaApplication
▼爹web-Paste潴V
►产src/main/javaXDeleteE>
▼^sfc/test/java
胆。过BuildPath►
£^org.geoserverSourceX3€S►
►org.geoserver.filtersRefactorX3€T►
@org.vfny
格org.vfny.geoserver占Import...
▼由org.vfny.geoscrver.jetty
必Export...
►国SpringContextTest.java
StartjavaReferences►
►[jjWebXmlTest.java
Declarations►
Sweb-app_2_3.dtd
►』JRESystemUbrary[JVM1.5.0(I§RefreshF5
AaReferencedLibrariesAssignWorkingSets...
A^minimal(a>lAvadnr忌D^rlar^rinn
AQsrcRunAs►D1JavaApplication
►&targetDebugAs►
国pom.xml
Team►RunConfigurations...
►^wfsllCompareWith►
ReplaceWith►
访问GeoServer首页
几秒后,就可通过访问到GeoServer
默认的用户admin的密码是geoserver
四.Maven指南
本章是运用Maven构建GeoServer的参考。
安装Maven见工具(其次章)
运行MavenMaven供应了从模块编译到生成测试覆盖报告的多种吩咐。大部分maven吩咐
可在源树的根运行,或者某个特模块。
注:在打算由源树的根运行maven吩咐时,请记住要将取出的根书目变换到sre书目。
在由源树的根运行一个吩咐时,或者从包含其它模块的书目时,吩咐将会为全部模块运行。当
从单个模块运行吩咐时,它只为这个模块运行。
构建GeoServer最常用的吩咐是安装吩咐:
xnvncleaninstall虽然clean吩咐不是必需的,但我们还是举荐用上。上面的吩咐做了以下
的事:
编译源代码
运行单元测试
安装成果到本地Maven库
跳过测试通常在构建时跳过单元测试很有用处。在构建吩咐中添加-DskipTests标记就可以只
编译单元测试而不会运行测试。
mvn-DskipTestscleaninstall离线构建Maven操作会自动下载待构建模块中声明的依靠
库。当处理快照(SNAPSHOT)依靠时,这就有可能会有问题。Maven每次执行一天内的首
次构建时,会尝试更新它的快照依靠。
由于GeoServer依靠GeoTools库的快照版本,这时可能会有问题。最终导致Maven下载大
量GeoTools更新模块并且急剧增加构建时间。而假如你只是本地构建geotools,这些就显
得不必要了。
这时,可以运用“离线”方式运行Maven来改进:
mvn-ocleaninstall在离线模式中,Maven不会下载任何外部依靠,也不会更新任何快照
依靠。
构建扩展默认状况下,扩展没有被包含在构建中。它们得通过Profile来明确增加到构建中。
比如下面的示例就将restconfig扩展添加到构建中:
mvncleaninstall-Prestconfig可以同时添加多个扩展同时运用:
mvncleaninstall-Prestconfig,oracle有个特别的名为allExtensions的Profile可以添加
全部扩展:mvncleaninstall-PallExtensionsProMaven的Eclipse插件用于为模块生成
eclipse工程:
mvneclipse:eclipse经过此操作后,这些模块就可以导入Eclipse工作区。
该插件有个很有用的功能就是可下载第三方依靠的相关源代码。这是通过添加
downloadSources标记来做的:
mvn-DdownloadSourceseclipse:eclipse警告:当你首次启用downloadSources标记时,
构建过程须要很长时间,因为它要下载GeoServer所依靠的每个库的源代码。
构建Web模块当安装好web模块后,它会通过内建的特别配置构建。默认状况下它注是
minimal配置。尽管如此,它也可以通过设置configld和configDirectory标记来定制随意
配置。比如:
上面吩咐可运用GeoServer上的release配置构建web模块。configld是包含的配置书目名
称,configDirectory是包含的配置书目的父级书目。configDirectory可以像刚才的一样的
肯定路径,也可以是针对web模块自身的相对路径:
mvncleaninstall-Dconfigld=release-DconfigDirectoiy=data上面的吩咐与之
前有同样的效果,尽管是引用了相对于web模块的路径。该路径…/././data,在GeoServer
取出(checkout)的代码书目结构是标准结构的状况下可用。
运用Jetty运行web模块Maven的jetty插件可用于运行嵌入了jetty容器的基于web的模
块:
cdgeoserver_1.7.x/src/webmvnjetty:run该吩咐必需从web模块运行,假如从其它
模块运行就会失败。
上面的吩咐将会运用自带的数据书目来运行GeoServero为了运用其它的数据书目可以启用
GEOSERVER_DATA_DIR标记:
mvn-DGEOSERVER_DATA^DIR=/path/to/datadirjetty:run
五.Eclipse指南
本章是运用Eclipse开发GeoServer的参考。
导入模块
运行和调试
设置数据书目
更改Jetty默认端口
配置Jetty中JNDI资源
Eclipse首选项
代码格式化
代码模块
文本编辑器
编译器
导入模块参见Maven指南中的Eclipse部分。
运行和调试运行和调试web-app模块中类。具体步骤见快速入门。
设置数据书目假如未设置,GeoServer默认会运用web-app模块里的minimal书目作为它
的数据书目。若要修改,执行以下步骤:
1.在Eclipse菜单中打开调试配置(DebugConfigurations)
2.先把Start配置,选择Argument面板,并且填写-DGEOSERVER_DATA_DIR参数,设
置数据书目为肯定路径。
DebugConfigurations
Create,manage,andrunconfigurations
DebugaJavaapplication每
更改Jetty默认端口假如未设置,Jetty默认会运用8080端口。修改请按以下方式:
1.
打开上节所说的Start配置中的Argument面板。
2.
填写-Djetty.port参数,设置它到期望的端口
❷dCDebugConfigurations
Create,manage,andrunconfigurations网K
DebugaJavaapplication
配置Jetty的JNDI资源JNDI资源如数据资源可以通过供应系统属性中名为jetty.config.
服务器配置文件来配置,这个可以在Start配置中的Argument面板上通过VMargument
参数指定。配置文件路径是相对于web-app模块根路径的,该模块是启动配置运行的地方。
例如:
■Djetty.config.以下的Jetty服务器配置文件就配置了一个JNDI数据源:jdbc/demo,它是
一个Oracle数据库的连接池。
jdbc/demo
jdbc:oracle:thin:@oracle.example:1521:demodb
Claudius
s3cr3t
20
10
0
10000
300000
300000
20
true
100
true
SELECTSYSDATEFROMDUAL
Jetty没有在GeoServer的WEB-INF/web.xml指定reference-ref,因此没必要修改该文
件。GeoServerweb-app模块和数据书目没有特定于Jetty的相关信息,因此JNDI资源可
以被测试在Jetty下,以便于后面在Tomcat下的开发。也可以看看GeoServer用户手册中
Tomcat中建立JNDI连接池章节。
Eclipse首选项代码格式化1.
下载文件:/geotools/trunk/build/eclipse/formatter.xml
2.
转到首选项中Java,CodeStyle,Formatter,点击Import…
c八Preferences
typefiltertextFormatter
>General
►AntConHaureProieciSpecificSetiinas…
►HelpActiveprofile:
>lnstall/Update
▼Java〔Eclipse[built-in)刁,Edit...)Remove
>Appearance
>BuildPath(New...)(Import...Q
▼CodeStyle
CleanUpPreview:
CodeTemplates
Formatter♦Asamplesourcefileforthecodeformotterpreview
OrganizeImports,*/
►Compiler
3.
选择步骤1中下载的formatter.xml文件。
4.
点击Apply
❷~0Preferences
typefiltertext-Formatter▼▼
>General
►AntConfiQureProjectSpecificSettinas…
►HelpActiveprofile:
►Install/Update
[CeoTools(Edit…)(Remove)
▼Java
►Appearance
ABuildPath(New…)fImport...)
▼CodeStyle
CleanUpPreview:
________CodeTemplates!/*♦-C
Formatter*Asamplesourcefileforthecodeformatterpreview
OrganizeImports*/
►Compiler
ADebugpackagemypackage;
>Editor
>InstalledJREsimportjava.util.LinkedList;
JUnit
PropertiesFilesEditorpublicclassMylntStack{
►Plug-inDevelopmentprivatefinalLinkedListfStack;
>Run/Debug
►TeampublicMyIntStack(){
fStack-newLinkedList();
}Y
oublicintoooC上▼
(RestoreDefaults-^)
代码模板I.
下载文件:
2.
转到首选项Java,CodeStyle,Formatter,点击Important-•
Preferences
typefiltertextCodeTemplates
►General
►AntConfiqureProjectSpecificSettinqs...
►HelpConfiguregeneratedcodeandcomments:
►Install/Update►Comments
▼Java►Code
>Appearance
►BuildPath
(Import…2
▼CodeStyle
CleanUp
CodeTemplates(一Export..._)
Formatter
OrganizeImports(ExportAll...)
►Compiler
>Debug
kEditor
>InstalledJREs
PatrAm-
3.
选择步骤1中下载的formatter.xml文件。
4.
点击Apply
文本编辑器1.
转到General,Editors,TextEditors
2.
选中InsertSpacefortabs
3.
选中Showprintmargin,将Printmargincolumn设置为100
4.
选中Showlinenumbers
5.
选中Showwhitespacecharacters(可选)
注:显示空白字符可帮助我们发觉无意中提交不必要的空格。
typefiltertext
▼General
>Appearance
Capabilities
Compare/Patch
ContentTypes
▼Editors
FileAssociations
TextEdrtors
Keys
ANetworkConnections
Perspectives
Search
>Security
»StartupandShutdown
Web8row$«r
►Workspace
►Ant
►Help
>ln$tall/Update
►Java
►Plug-inDevelopment
►Run/Debug
►Team
6.
点击Apply
编译器1.
转到Java,Compiler,Building
2.
扩绽开Outputfolder,并将.svn/加到Filteredresources列表中。
3.
点击Apply
六.编程指南OWS服务
本节介绍GeoServer中OWS服务(原文为RESTful服务,可能为笔误)如何工作。
OWS服务概览TBA
实现一个简洁的OWS服务本节将通过以下场景来介绍如何给GeoServer创建一个简洁的
GeoServerOWS服务。该服务须要供应一个能广告叫做“sayHello”的单一操作的功能
(capabilities)文档。该sayHell。操作的结果是一个简洁的字符串:“HelloWorld”。
内容:
实现一个简洁的OWS服务
建立
创建插件
试一试
建立创建插件的第一步是为它建立一个maven工程。该工程我口称为"hello”。
在本地文件系统中随意地方创建一个名为hello的新书目。
2.
给hello书目添加名为pom.xml文件。
1.
H,,
2.<?xmlversion-'1.0encoding=ISO-8859-1'1?>
,u,nnn
3.<projectxmlns='xmlns:xsi='xsi:schemaLocation=>
4.<modelVersion>4.0.0</modelVersion>
5.<!-setparentpomtocommunitypom—>
6.<parent>
7.<groupld>org.geoserver</groupld>
8.<artifactld>community</artifactld>
9.<version>2.0.1</version>
io.</parent>
ii.<groupld>org.geoserver</groupld>
12.<artifactld>hello</artifactld>
13.<packaging>jar</packaging>
14.<version>1.0</version>
is.<name>HelloWorldServiceModule</name>
16.<dependencies>
17.<dependency>
is.<groupld>org.geoserver</groupld>
19.<artifactld>main</artifactld>
20.<version>2.0.l</version>
2i.</dependency>
22.</dependencies〉
23.<repositories>
24.<repository>
25.<id>opengeo</id>
26.<name>opengeo</name>
27.<url></url>
28.</repository>
29.</repositories>
30.</project>
复制代码
3.
在hello书目下创建Java源文件书目。
hello/
+pom.xml
+src/
+main/
+java/创建插件插件是一系列由springbeans实现的扩展。实例中扩展爱好点是一个
HelloWorld的POJOo
1.
创建一个名为HelioWorld的类:
i.importjava.io.IOEXCeption;
2.importjavax.servlet.ServletException;
3.importjavax.servlet..ServletRequest;
4.importjavax.servlet..ServletResponse;
5.publicclassHelloWorld{
6.publicHelloWorldO{
7.//Donothing
8.}
9.publicvoidsayHello(ServletRequestrequest,ServletResponserespo
nse)
10.throwsServletException,lOException{
n.response.getOutputStreamO.write(MHelloWorld,r.getBytes());
12.}
13.}
复制代码
该服务相对比较简洁。它供应了一个一个名为sayHello的方法,带有ServletRequest,
ServletResponse参数。该函数的参数列表会由自动发觉。
2.
创建applicationContext.xml文件将上面的类申明为一个bean0
1.<?xmlversion="l.0"encoding="UTF-8',?>
2.
3.<!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//ENi>
4.<beans>
s.<!—SpringwillreferencetheinstanceoftheHelloWorldclassbythe
idname"helioService"—>
6.<beanid-"helloService"class="HelloWorld">
7.</bean>
8.<!—ThiscreatesaServicedescriptor,whichallowstheorg.geoserver.ows.
Dispatchertolocateit.—>
9.<beanid="helloService-1.0.0"class=*'org.geoserver.platform.Service*'>
io.<!"usedtoreferencetheserviceintheURL—>
ii.<constructor-argindex="0"value="hello,7>
12.<!—ouractualservicePOJOdefinedpreviously—>
13.<constructor-argindex="10ref="helloService"/>
14.<!"aversionnumberforthisservice—>
is.<constructor-argindex="2"value="l.0.0"/>
16.<!—alistoffunctionsforthisservice—>
17.<constructor-argindex=,'3,,>
is.<list>
19.<value>
20.sayHello</value>
21.</list>
22.</constructor-arg>
23.</bean>
24.</beans>
复制代码
到此,hello工程内容应当是看上去像下面这样了:
hello/
+pom.xml
+src/
+main/
+java/
+HelloWorld,java
+applicationContext.xml
试一试1.
安装hello模块。
1.[hello]%mvninstall
2.[hello]%mvninstall
3.[INFO]Scanningforprojects...
4.[INFO]-----------------------------------------------------------------------------------
s.[INFO]BuildingHel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国陶瓷铸造砂行业投资前景分析、未来发展趋势研究报告
- 2024年12月金华事业单位公开招聘武义县社会福利院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 夏季保健课件
- 《时尚北京》杂志2023年第5期
- 《颅脑损伤的护理》课件
- 《Ch全面质量》课件
- 2025至2031年中国彩色石英玻璃管液位计行业投资前景及策略咨询研究报告
- 2025至2031年中国妇幼卫生用品行业投资前景及策略咨询研究报告
- 2025至2031年中国单密码门禁控制器行业投资前景及策略咨询研究报告
- 2025至2030年中国浮油脂肪酸数据监测研究报告
- 上海美食介绍
- 《轨道交通工程盾构施工技术》 课件 项目1 盾构发展历史认知
- 2025年低压电工作业证理论全国考试题库(含答案)
- 新人教版三年级下册《道德与法治》教案
- 中国慢性阻塞性肺疾病基层诊疗指南(2024年)解读
- 2024年11月时事政治试题及答案
- 2023年高考真题-化学(福建卷) 含解析
- 天津市-2024年-社区工作者-上半年笔试真题卷
- 红色中国风2025灵蛇贺岁
- 教师校园食品安全培训
- 烈士褒扬课件教学课件
评论
0/150
提交评论