Struts2官方帮助整理
更新时间:2023-06-11 12:13:01 阅读量: 实用文档 文档下载
- struts2官网推荐度:
- 相关推荐
第1课
1.1 怎样创建Struts2 Web应用程序 ................................................................................. 3 使用Ant构建应用程序 ............................................................................................... 3
1.1.1 最少依赖的jar包 ............................................................................................. 3
1.1.2 日志记录配置 ................................................................................................... 3
第2课 基于Struts2的Hello World ......................................................................................... 4
第3课 使用Struts2标签 ......................................................................................................... 5
3.1 Struts2表单标签 .......................................................................................................... 6
3.2 Struts2属性标签 .......................................................................................................... 6
第4课 编写Struts2 Action类 .................................................................................................. 6
4.1 在Action类中处理表单输入 ...................................................................................... 6
第5课 处理表单 ....................................................................................................................... 6
第6课 表单验证 ....................................................................................................................... 7
6.1 添加验证方法 ............................................................................................................... 7
6.2 处理返回的input ......................................................................................................... 8
6.3 错误消息 ....................................................................................................................... 8
6.4 定义错误消息的样式 ................................................................................................... 8
第7课 消息资源文件(资源捆绑) ....................................................................................... 8
7.1 消息资源属性文件(Action级别) ........................................................................... 8
7.2 Struts2的键 .................................................................................................................. 9
7.3 Struts2文本标签 .......................................................................................................... 9
7.4 包级别的属性 ............................................................................................................... 9
7.5 全局属性 ....................................................................................................................... 9
7.6 国际化 ........................................................................................................................... 9
7.6.1 以URL参数的形式限定所在地区 ............................................................... 10
第8课 异常处理 ..................................................................................................................... 10
8.1 全局异常处理 ............................................................................................................. 10
8.2 单Action的异常处理 ................................................................................................ 10
8.3 记录异常到日志 ......................................................................................................... 11
第9课 调试Struts .................................................................................................................. 11
9.1 配置插件 ..................................................................................................................... 11
9.2 使用调试拦截器 ......................................................................................................... 11
第10课 Struts2表单标签 ........................................................................................................ 12
10.1 选择列表标签 ......................................................................................................... 12
10.2 单选按钮标签 ......................................................................................................... 12
10.3 复选框标签 ............................................................................................................. 12
10.4 复选框列表标签 ..................................................................................................... 12
第11课 使用XML进行表单验证 .......................................................................................... 12
11.1 使用XML进行验证 .................................................................................................. 12
11.2 XML验证器格式 ....................................................................................................... 12
11.3 验证电子邮件地址 ..................................................................................................... 13
11.4 使用正则表达式验证用户输入 ................................................................................. 13
11.5 使用OGNL表达式验证用户的输入 ........................................................................ 13
第12课 通配符方法选择 ......................................................................................................... 14
12.1 通配符方法选择 ..................................................................................................... 14
12.2
第13课
第14课
14.1
14.2
14.3
14.4
第15课
第16课 动态方法调用 ......................................................................................................... 14 Struts2主题 ................................................................................................................ 14 Spring和Struts2 ......................................................................................................... 14 Struts 2 Spring 插件 ................................................................................................... 14 Spring配置文件 ......................................................................................................... 15 可选:由Spring来管理Action对象的创建 ....................................................... 15 Bean作用域 ............................................................................................................... 15 Struts2注解 ................................................................................................................ 16 拦截器介绍 ................................................................................................................. 16
第1课 怎样创建Struts2 Web应用程序 引入Struts2类库到WEB-INF lib目录下,然后使用Ant构建应用程序;或者是使用Maven来管理部件依赖以构建应用程序;
1.1 使用Ant构建应用程序
1.1.1 最少依赖的jar包
commons-fileupload-X.X.X.jar
commons-io-X.X.X.jar
commons-lang-X.X.jar
commons-logging-X.X.X.jar
commons-logging-api.X.X.jar
freemarker-X.X.X.jar
ognl-X.X.X.jar
struts2-core-X.X.X.X.jar
xwork-core-X.X.X.jar
javassist-X.X.X.jar
1.1.2 日志记录配置
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> </layout>
</appender>
<!-- specify the logging level for loggers from other libraries -->
<logger name="com.opensymphony">
<level value="DEBUG" />
</logger>
<logger name="org.apache.struts2">
<level value="DEBUG" />
</logger>
<!-- for all other loggers log only debug and above log messages -->
<root>
<priority value="INFO"/>
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
使用Ant构建Web应用程序压缩文件(即war文件),并发布压缩文件到Servlet容器。 build.xml将编译所有的Java类,并创建war文件。
URL Java类 视图
第2课 基于Struts2的Hello World
创建一个映射配置文件以将URL、Action和视图进行配对。
Struts2框架要求你想暴露给视图的对象(包括Model和Action)必须遵循JavaBean命名规范。
Struts2将创建一个Action的对象,并调用指定的方法以响应用户的请求动作。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="messageStore.message" /></h2>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="basicstruts2" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
代码的工作原理:
Servlet容器接收到Web服务器过来的URL请求,根据从Web.xml载入的设置,Servlet容器发现所有的请求都被路由到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter过滤器中,而这个过滤器是Struts2框架的入口点。Struts2框架接着查找一个名为***的Action映射,接着它发现映射被对应到一个Action类上,然后Struts2框架会初始化这个Action类并调用其execute()方法 ,在Struts2框架处理要发送到浏览器的视图的时候,<s:property value="messageStore.message" />标签将调用相应的getter方法,并获得相应的值。 ,一个纯的HTML文件被回送到浏览器!
URL请求
Web服务器
Servlet容器
StrutsPrepareAndExecuteFilter过滤器
始化Action类,调用相应方法(该方法将返回-个用于决定视图的字串,且该Action对象
可能盛有用于视图的数据)
Struts2标签通过调用getter方法取出Action对象中的数据,并并入HTML文件中 第3课 使用Struts2标签
为方便页面中引用动态数据,Struts2框架提供了一系列标签。一些标签与标准的HTML标签很相似,且同时提供用于添加的数据;另一些标签创建非标准的,但有用的控制流。
3.1 Struts2表单标签
<s:form action="hello">
<s:textfield name="userName" label="Your name" />
<s:submit value="Submit" />
</s:form>
3.2 Struts2属性标签
属性标签最常用的用处就是:通过调用Action对象的公用getter方法来取得相应的返回值,然后将该值包含进HTML文件中,并发送回浏览器。
属性标签的最有用的特性是,它可以自动地将大部分的通用数据类型转换为对应的文本型。
注意:如果一个Action中有静态的实例域,则该域的setter和getter方法也不能是静态的(按普通的道理,其应该是静态的才对),因为Struts2只认非静态的getter方法。 如果调用getter方法后返回的是一个对象,则属性标签会调用该对象的toString方法。因此,建议在所有的Model类中都重写toString方法。
第4课 编写Struts2 Action类
在Action类中书写控制逻辑。
Action类在MVC模式中起控制器作用。
Action类响应用户的动作,执行业务逻辑(或者调用service类以完成业务逻辑),然后返回一个结果,该结果将告诉Struts2框架回送哪个视图给浏览器。
4.1 在Action类中处理表单输入
如果表单拥有许多的输入域,为每个输入域编写对应的setter方法将是一件麻烦事。因此,在下一章,我们将介绍怎样将Model类、视图中的表单域和Action中的表单处理综合在一起。
第5课 处理表单
本章我们将介绍怎样使用Model类来存储表单输入以及怎样创建与该Model类匹配的Struts2表单。
<s:form action="register">
<s:textfield name="personBean.firstName" label="First name" />
<s:textfield name="stName" label="Last name" />
<s:textfield name="personBean.email" label ="Email"/>
<s:textfield name="personBean.age" label="Age" />
<s:submit/>
</s:form>
表单提交后,Struts2会探测Action,并查找一个名为personBean的对象,然后它将使用Person类的默认构造器来创建那个对象。
所有设置值的操作在调用方法前已经完成。
<p>Your registration information: <s:property value="personBean" /> </p>
第6课 表单验证
有2种使用Struts2进行表单验证的方式,本章将讨论较基础的方式,即验证将被包含在Action类中。
6.1 添加验证方法
为使Action类能够验证用户在Strutsd2表单中的输入,你必须在你的Action类中定义一个验证方法。
public void validate(){
if ( personBean.getFirstName().length() == 0 ){
addFieldError( "personBean.firstName", "First name is required." );
}
if ( personBean.getEmail().length() == 0 ){
addFieldError( "personBean.email", "Email is required." );
}
if ( personBean.getAge() < 18 ){
addFieldError( "personBean.age", "Age is required and must be 18 or older" );
}
}
当用户点击注册表单上的“提交”按钮后,Struts2将把用户输入的数据传输到Model对象的实例域中,然后Struts2将自动执行验证方法,只要if条件为真,Struts2将调用它的addFieldError方法(该方法由ActionSupport类继承而来)。只要添加了任何错误,则Struts2将不会继续调用相应方法,而是会返回一个“input”字符串作为调用该Action的值。
6.2 处理返回的input
<result name="input">/register.jsp</result>
6.3 错误消息
因为我们使用的是Struts2表单标签,所以Struts2会自动在表单域的上面添加错误消息。
6.4 定义错误消息的样式
在head标签中添加<s:head />即可。
第7课 消息资源文件(资源捆绑)
资源捆绑提供了一种简单的方式来在视图页中放入整个系统中相同(但会出现在多处的文本),或用来创建表单域的标签(包括name值),或基于用户所在地区将文本切换到特定的语言等等。
7.1 消息资源属性文件(Action级别)
Register.properties
personBean.firstName=First name
stName=Last name
personBean.age=Age
personBean.email=Email
thankyou=Thank you for registering %{personBean.firstName}(不是在JSP中,所以用百分号,不是美元符号,不是EL表达式)
7.2 Struts2的键
<s:textfield key="personBean.firstName" />
为使key属性能够找到属性文件,视图页面的显示必须是执行了一个Action类的结果。 <s:url action="registerInput" var="registerInputLink" />
<p><a href="${registerInputLink}">Please register</a> for our prize drawing.</p>
<action name="registerInput" class="org.apache.struts.register.action.Register" method="input" >
<result name="input">/register.jsp</result>
</action>
上面的input方法是继承自ActionSupport,而该方法默认的情况下会返回“input”字符串。
7.3 Struts2文本标签
可以使用文本标签来显示属性文件中的值。
<h3><s:text name="thankyou" /></h3>
7.4 包级别的属性
Package.properties
greeting=Welcome to The Wonderful World of Struts 2
7.5 全局属性
global.properties(注意:名称不一定非得是global)
contact=For assistance contact <a href='mailto:contact@'>contact@</a> 将上面的资源文件保存到src文件夹下。
在struts.xml中将该全局属性文件通知Struts2框架:
<constant name="struts.custom.i18n.resources" value="global" />
7.6 国际化
默认情况下,Struts2将会使用用户的默认所在地。如果用户所在的地区是en,则会使用没有地区限定的属性文件(如Register.properties);如果所在地区是es,则Struts2将会寻找一个名为Register_es.properties的属性文件。
Register_es.properties
personBean.firstName=Nombre
stName=Apellidos
personBean.age=Edad
personBean.email=Correo
thankyou=Gracias por registrarse, %{personBean.firstName}
7.6.1 以URL参数的形式限定所在地区
<h3>Registro español</h3>
<s:url action="registerInput" var="registerInputLinkES">
<s:param name="request_locale">es</s:param>
</s:url>
<p></p><a href="${registerInputLinkES}">Por favor, regístrese</a> para nuestro sorteo</p>
第8课 异常处理
Struts2提供了强健的异常处理机制,包括自动记录所有未捕获异常到日志,以及重定向用户到错误页面。
8.1 全局异常处理
可以在struts.xml中指定Struts2框架应该怎样处理未捕获的异常。处理逻辑可以应用到所有的Action(即全局异常处理),或者是某个特定的Action。
启动全局异常处理:
<global-exception-mappings>
<exception-mapping
exception="org.apache.struts.register.exceptions.SecurityBreachException" result="securityerror" />
<exception-mapping exception="ng.Exception" result="error" />
</global-exception-mappings>
<global-results>
<result name="securityerror">/securityerror.jsp</result>
<result name="error">/error.jsp</result>
</global-results>
8.2 单Action的异常处理
<action name="actionspecificexception" class="org.apache.struts.register.action.Register" method="throwSecurityException">
<exception-mapping
exception="org.apache.struts.register.exceptions.SecurityBreachException"
result="login" />
<result>/register.jsp</result>
<result name="login">/login.jsp</result>
</action>
Action中的异常处理比全局异常具有更高的优先级。
8.3 记录异常到日志
为将Struts2处理过的异常记录到日志,你必须在Struts.xml中定义一些参数。通常有三个参数值:使用的日志级别和日志目录。
为将这些参数应用到所有的Action,需要将使用一个特定的拦截器栈:
<interceptors>
<interceptor-stack name="appDefaultStack">
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">ERROR</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="appDefaultStack" />
第9课 调试Struts
在开发Struts2Web应用程序过程中,你可能想要查看被Struts2框架管理的一些信息。本章将会讨论你可以使用的用于查看Struts2如果看待你的Web应用程序的两个工具。一个工具是Struts2配置插件,另一个是调试拦截器。
这些工具应该只在开发时使用。
9.1 配置插件
9.2 使用调试拦截器
发布产品时,你应该:
1. 关闭开发模式;
2. 移除调试链接;
3. 调整日志级别到较高的级别(如info或者warn),以减少日志消息的输出。
第10课 Struts2表单标签
选择列表、单选框、复选框、复选框列表等。
10.1 选择列表标签
<s:select key="personBean.sport" list="sports" />
personBean.sport中的sport指定了初始选择的项。假如调用getSport方法后返回的是“篮球”,则“篮球”选项会被标记为被选择。
sports对应getSports方法。
10.2 单选按钮标签
<s:radio key="personBean.gender" list="genders" />
10.3 复选框标签
<s:checkbox key="personBean.over21" />
10.4 复选框列表标签
<s:checkboxlist key="personBean.carModels" list="carModelsAvailable" /> 第11课 使用XML进行表单验证
使用一个独立的XML验证文件使你可以能够使用Struts2框架内建的验证器。 11.1 使用XML进行验证
一个包含了验证规则的XML文件,该文件的命名必须形如:ActionClassName-validation.xml。
Struts2提供了各种各样的验证器,如requiredstring validator验证器等。 11.2 XML验证器格式
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"/xwork/xwork-validator-1.0.2.dtd">
<validators>
<validator type="requiredstring">
<param name="fieldname">personBean.firstName</param>
<message>First name is required.</message>
</validator>
</validators>
11.3 验证电子邮件地址
<validator type="requiredstring">
<param name="fieldname">personBean.email</param>
<message>Email address is required.</message>
</validator>
<validator type="email">
<param name="fieldname">personBean.email</param>
<message>Email address not valid.</message>
</validator>
11.4 使用正则表达式验证用户输入
<validator type="requiredstring">
<param name="fieldname">personBean.phoneNumber</param>
<message>Phone number is required.</message>
</validator>
<validator type="regex">
<param name="fieldname">personBean.phoneNumber</param>
<param name="expression"><![CDATA[\d{3}-\d{3}-\d{4}]]></param>
<message>Phone number must be entered as 999-999-9999.</message>
</validator>
注意:正则表达式必须位于一个CDATA节中。
11.5 使用OGNL表达式验证用户的输入
<validator type="fieldexpression">
<param name="fieldname">personBean.carModels</param>
<param name="expression"><![CDATA[personBean.carModels.length > 0]]></param> <message>You must select at least one car model.</message>
</validator>
第12课 通配符方法选择
12.1 通配符方法选择
<action name="*Person" class="org.apache.struts.tutorials.wildcardmethod.action.PersonAction" method="{1}"> <result name="success">view.jsp</result>
<result name="input">input.jsp</result>
</action>
12.2 动态方法调用
Struts2文档建议反对使用DMI技术,主要是由于安全及该技术内部实现的一些原因。同时建议显式的设置DMI为false以关闭DMI。
第13课 Struts2主题
第14课 Spring和Struts2
一旦一个类创建了另一个类的对象,那么便在这两个类之间产生了依赖。
本章将讨论怎样利用Struts2和Spring来管理Action类和其它类(如服务层和模型层类)的依赖关系。
14.1 Struts 2 Spring 插件
Struts2提供了一个插件,该插件使Spring能够向Action类中注入任何已经在Spring配置文件中指定的对象。
为了使应用程序能够检测到Spring,我们需要在Web.xml中添加下面的监听器: <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
记住:向Spring注册Action不是必须的!
默认情况下,Struts2框架至少会尝试一次使用Spring创建所有的对象,如果Spring不能创建,则框架会自己创建。
Spring配置文件也不仅限于“applicationContext.xml”:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
14.2 Spring配置文件
由Spring创建的对象将拥有单例的作用域,因为这是默认的作用域。
14.3 可选:由Spring来管理Action对象的创建
使用上面的方式,Struts框架仍然管理着Action对象的创建。如果你想配置应用程序以便由Spring来创建Action对象。为实现这一点,你需要为相应的Action类在Spring配置文件中添加一个bean节点:
<bean id="editService" class="org.apache.struts.edit.service.EditServiceInMemory" />
<bean id="editAction" class="org.apache.struts.edit.action.EditAction" >
<property name="editService" ref="editService" />
</bean>
singleton="false"到底加不加???
由于现在已经由Spring来管理Action类对象的创建,所以我们必须指定所有的希望由Spring注入的属性。
而在struts.xml配置文件中,你必须指定Spring的id值作为class属性的值!这将告诉Struts框架通过该id值向Spring获取Action类的对象。
<action name="edit" class="editAction" method="input">
<result name="input">/edit.jsp</result>
</action>
14.4 Bean作用域
根据经验,对有状态的bean应该使用prototype作用域,对无状态的bean应该使用singleton作用域。
要使用request、session和 global session作用域的bean(即具有web作用域的bean), 在开始设置bean定义之前,还要做少量的初始配置。请注意,假如你只想要“常规的”作用域,(singleton和prototype),就不需要这一额外的设置。
在目前的情况下,根据你的特定servlet环境,有多种方法来完成这一初始设置...
如果你用Spring Web MVC,即用SpringDispatcherServlet或DispatcherPortlet来处理请求,则不需要做特别的配置:DispatcherServlet 和 DispatcherPortlet已经处理了所有有关的状态
当使用了Spring's DispatcherServlet以外的Servlet 2.4及以上的Web容器时(如使用JSF或Struts),你需要在Web应用的'web.xml'文件中增加 javax.servlet.ServletRequestListener 定义
<web-app>
...
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
...
</web-app>
如果你用的是早期版本的web容器(Servlet 2.4以前的版本),那么你要使用一个javax.servlet.Filter的实现。请看下面的web.xml配置片段:
<web-app>
..
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
</web-app>
RequestContextListener和RequestContextFilter两个类做的都是同样的工作: 将HTTP request对象绑定到为该请求提供服务的Thread。 这使得具有request和session作用域的bean能够在后面的调用链中被访问到。
第15课 Struts2注解
第16课 拦截器介绍
到现在为止,我们并没有讨论到Struts2框架的内部实现机制。在本章中,我们将介绍一个很关键的类的集合,而一旦一个Action被调用,Struts2框架将依赖该集合做大部分的事情。
在execute方法被调用之前,Struts2框架已经在幕后做了许多的工作,例如:
1. 处理所有出现的异常;
2. 将名称匹配的字符串请求参数转换到实例域;
3. 调用验证方法或外部XML验证。
在execute方法完成之后,更多的工作需要做:
1. 处理所有出现的异常;
2. 转换实例域为文本值,以在视图中显示;
3. 依据execute方法返回的结果字符串,定向到正确的视图页。
使用Struts2框架的一个好处是,所有的这些工作都被自动进行。从而我们可以将关注的焦点放在控制逻辑(即Action类)、服务层、数据访问层、领域模型等等上面。
上面这些工作都是由Struts2拦截器实现的。拦截器是包含在Struts2核心jar包中的一些标准的java类,且会按指定的顺序执行。
<action name="register" class="org.apache.struts.register.action.Register" method="execute">
<interceptor-ref name="timer" />
<interceptor-ref name="logger" />
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">ERROR</param>
</interceptor-ref>
<result name="success">thankyou.jsp</result>
<result name="input">register.jsp</result>
</action>
当你为一个Action指定了一个你想要使用的拦截器时,那么仅仅这些拦截器会被执行,而默认的拦截器将不再执行。
正在阅读:
Struts2官方帮助整理06-11
考研英语阅读unit-2 - 图文05-16
放射学试题11-05
广告交易平台ADX与广告网络的差别04-15
八女投江的阅读答案 11-03
小学生一年级过年的作文(五篇)06-14
BEC阅读技巧201-04
《论语》解读 (1)05-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 整理
- Struts2
- 帮助
- 官方
- 芯嵌STM32用户使用手册
- 2015年普通高等学校招生全国统一考试高(重庆卷)英语试卷
- 辽宁省辽师大附中2019届下学期高二期末考试试卷 数学(理) Word版含答案
- 薄膜太阳能电池项目可行性研究报告
- 幼儿民间文学园本课程的实践研究
- 民间银饰知识解读
- 很好的安全事故案例教材
- 八年级上册英语知识点汇总
- 广东省梅州丰顺县社会消费品零售总额、猪肉产量、禽肉产量3年数据解读报告2020版
- 4月份主要安全管理工作汇报(安全保卫部)
- 通风科矿井安全监控管理制度
- 2013年中考总复习初中数学知识点
- 第一章第二节 护理人际关系
- 转口与过境贸易的区别
- 英语学科教学质量检测试题
- 苏教版三年级数学上册期末归类复习4
- 解酒的一些简单方法
- 08届高三数学三角函数的化简求值与证明
- 如何处理中国文化与外来文化的关系
- 第2讲┃ 实数的运算与实数的大小比较