




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 Servlet编程技术编程技术 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院内容提要1.Servlet se:vlit简介2.Servlet生命周期3.如何创建Servlet:新建方法、运行方法4.Servlet API第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 什么是Servlet(1/3) Servlet例子例子public class SomeServlet extends HttpServlet/必须继承自必须继承自HttpServlet /使用使用“request”读取和请求有关的信息(比如读取和请求有关的信息(比
2、如Cookies)和表单数据)和表单数据 /使用使用“response”指定指定HTTP应答状态代码和应答头应答状态代码和应答头(比如指定内容类型,设置比如指定内容类型,设置Cookie) public void doGet( HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException / 使用使用 out把应答内容发送到浏览器把应答内容发送到浏览器 PrintWriter out = response.getWriter(); out.println(); out.
3、Println(.); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException doGet( request, response); 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院什么是Servlet(2/3)n生成的生成的Servlet:FirstServ代码第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院什么是Servlet(3/3)n运行Servlet第第3章章 Servl
4、et编程技术编程技术 广东技术师范学院-计算机学院 Servlet简介(1/6)nServlet是服务器端的Java小程序,用于响应客户机的请求。在默认情况下,Servlet采用一种无状态的请求请求-响应响应处理方式。Servlet代码的主要作用是为了增强Java服务器端功能。nServlet与Java类lServlet是一个标准的Java类;l和一般Java类不同之处就在于Servlet可以处理HTTP请求;lServlet API提供了大量的方法,它是用Java语言的ServletAPI来编写的特殊的Java类。第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Se
5、rvlet简介(2/6)n需要Servlet容器把这些Java类的字节码文件(也称为二进制文件,.class文件)放到Servlet容器(比如:tomcat)的相应目录中时,它们就可以接受客户端响应了(在80, 8080端口)。nServlet与JSPlJSP是以另一种方式实现的Servlet,Servlet是JSP的早期版本;lJSP更注重页面的表现,Servlet更注重业务逻辑的实现;lJSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet简介(3/6) nServlet技术规
6、范l定义了容器容器功能l定义了Servlet接口,是容器与Servlet之间的契约n程序员所写Servletl是一个 Java类l实现了Servlet接口l在容器上运行l请求的入口,实现业务系统功能l获取用户输入参数l完成业务功能l生成输出(响应)第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet简介(4/6) 1. 连接到服务器连接到服务器3. 发送发送响应响应(respond)4. 关闭关闭连接连接(close)Web 服务器服务器客户机客户机2. 发送发送请求请求(request)HTTP连接图连接图第第3章章 Servlet编程技术编程技术 广东技
7、术师范学院-计算机学院 Servlet简介(5/6) n基于容器/Servlet的请求与响应l客户机将 HTTP 请求发送给 Web 服务器lWeb 服务器将该请求转发给 Servlet容器lServlet容器做很多事,将请求转发给ServletlServlet 处理该请求lServlet产生输出发送给容器lServlet容器将输出转为http响应发送给 Web 服务器lWeb 服务器将http响应转发给客户机l浏览器根据响应显示页面请求请求响应响应客户机客户机数据库数据库http 服务器服务器ServletWeb 容器容器Servlet流程图流程图doGet()()方法方法doPost()(
8、)方法方法第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet简介(6/6) Servlet例子例子public class SomeServlet extends HttpServlet/必须继承自必须继承自HttpServlet /使用使用“request”读取和请求有关的信息(比如读取和请求有关的信息(比如Cookies)和表单数据)和表单数据 /使用使用“response”指定指定HTTP应答状态代码和应答头应答状态代码和应答头(比如指定内容类型,设置比如指定内容类型,设置Cookie) public void doGet( HttpServletR
9、equest request, HttpServletResponse response)throws ServletException,IOException / 使用使用 out把应答内容发送到浏览器把应答内容发送到浏览器 PrintWriter out = response.getWriter(); out.println(); out. Println(.); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException do
10、Get( request, response); 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院Servlet的生命周期(1/5)nServlet运行机制和Applet类似,Servlet是载服务器端运行的,但是Applet是在客户端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet的生命周期(2/5) nServlet的生命周期主要由3个过程组成。l1、init()方法:服务器初始化Servlet。s只在Ser
11、vlet第一次被请求加载的时候被调用一次,完成必要的初始化工作。s当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。s该方法是HttpServlet的方法,可以在Servlet中重写这个方法。方法的描述为:public void init(ServletConfig config) throws ServletException /初始化初始化 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet的生命周期(3/5) nServlet的生命周期主要由3个过程组成。l2、service()方法
12、:初始化完毕,Servlet对象调用该方法相应客户的请求s该方法是HttpServlet的方法,可以在Servlet中直接继承该方法或重写这个方法。方法的描述为:s第一个参数是HttpServletRequest类型的对象,封装了用户的请求信息;s第二个参数是HttpServletResponse类型的对象,用来响应用户的请求。s和init()方法不同的是,service方法可能被多次调用,每次用户请求都导致service方法被调用执行,调用过程运行在不同的进程中,互不干扰。public void service( HttpServletRequest request, HttpServlet
13、Response response) throw ServletException,IOException /处理请求处理请求 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet的生命周期(4/5) nServlet的生命周期主要由3个过程组成。l3、destroy()方法:调用该方法消灭Servlet对象。s该方法是HttpServlet的方法,可以在Servlet中直接继承该方法,一般不需要重写,方法的描述为:public destroy()s当Servlet引擎终止服务时,比如关闭服务器等,destroy()方法会被执行,销毁Servlet对象。第第
14、3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院 Servlet的生命周期(5/5) n容器管理Servletl依据sWeb.xmls接口Servlet(init() destroy() service()l管理s创建Servlet对象,时机:s容器启动时,且配置了: 1s第一次使用的时候s调用doGet doPostsdestroy()方法, 关闭容器时,长时间不使用第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院创建Servlet(1/5)n首先创建一个Eclipse的Dynamic Web Project工程,然后右击工程中的src目录,新建一
15、个Servlet文件。 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院创建Servlet(2/5)n工程目录组织图第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院创建Servlet(3/5)n生成的生成的Servlet:FirstServ代码第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院创建Servlet(4/5)nWeb.xml第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院创建Servlet(5/5)n运行Servlet第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院
16、Servlet API(1/41)nServlet API包含两个包:javax.servlet和javax.servlet.http包ljavax.servlet包中定义的类和接口是独立于协议的;ljavax.servlet.http中包含了具体于HTTP协议的类和接口。javax.servlet.http包中的某些类或接口继承了某些javax.servlet包中的类或接口。第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院表3-1 Servlet API接口目的目的类、接口类、接口Servlet实现实现javax.servlet.Servlet,javax.servl
17、et.SingleThreadModel javax.servlet.GenericServlet,javax.servlet.http.HttpServletServlet配置配置javax.servlet.ServletConfigServlet异常异常javax.servlet.ServletException,javax.servlet.UnavailableException请求和应答请求和应答javax.servlet.ServletRequest,javax.servlet.ServletResponsejavax.servlet.ServletInputStream,javax
18、.servlet.ServletOutputStreamjavax.servlet.http.HttpServletRequestjavax.servlet.http.HttpServletResponse会话跟踪会话跟踪javax.servlet.http.HttpSessionjavax.servlet.http.HttpSessionBindingListenerjavax.servlet.http.HttpSessionBindingEventServlet上下文上下文javax.servlet.ServletContextServlet协作协作javax.servlet.Reques
19、tDispatcher其他其他javax.servlet.http.Cookie,javax.servlet.http.HttpUtils第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院Servlet API图示第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院Servlet API(4/41)nServlet接口l是Web 容器和 Servlet 之间的合约l所有 Servlet 都应直接或间接实现这个接口 l该接口定义了容器管理 Servlet 生命周期的方法/ Servlet初始化初始化public void init(ServletConf
20、ig config)throws ServletException/响应请求,给予服务响应请求,给予服务public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException/销毁类销毁类public void destroy()/获得获得Servlet实例本身的配置信息实例本身的配置信息public ServletConfig getServletConfig()/获得获得Servlet实例本身的描述信息实例本身的描述信息public java.lang.S
21、tring getServletInfo()第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院Servlet API(5/41)nGenericServletl抽象类,提供 servlet 接口的基本实现public abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable/ Servlet初始化初始化public init()/ 日志日志public void log(String )public void log(String,Throwable)/响应请
22、求,给予服务响应请求,给予服务public abstract void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOExceptionpublic ServletConfig getServletConfig();public ServletContext getServletContext();第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院Servlet API(6/41)nHttpServlet 类l特定于 HTTP 的 Servlet 接口实现
23、l对于每种类型的 HTTP 请求方法,HttpServlet 类提供相应的 doXxx()方法,由service方法相应调用l一般只要把具体逻辑放在doPost和doGet方法的任一个中,然后在另一个方法里调用这个方法就可以了。l程序员重写doXxx()方法,一般不重写service方法第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院ServletConfig(1/2)nServlet配置信息:ServletConfigl功能:获取在功能:获取在web.xml中该中该Servlet的配置信息的配置信息l容器在 Servlet 的初始化过程中将创建 ServletConf
24、ig 对象,并传递给 Servlet/得到得到Servlet的命名参数的命名参数public String getInitParameter(String);/得到得到Servlet的全套初始化参数的全套初始化参数Enumeration getInitParameterNames();/得到得到Servlet所属的所属的webapp的的ServletContext对象对象public ServletContext getServletContext();/管理配置管理配置web.xml文件或者从文件或者从Servlet的类名称中得到的类名称中得到Servlet的名称的名称public java
25、.lang.String getServletName();第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院ServletConfig示例(2/2)import javax.servlet.ServletConfig;快捷键:快捷键:Ctrl+Shift+O第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院ServletContext(1/2)n功能:获取与该工程相关的上下文环境配置第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院ServletContext示例(2/2)第第3章章 Servlet编程技术编程技术 广东技术师
26、范学院-计算机学院HttpServletRequest类(1/5)n该类是客户端http请求信息的抽象与封装l请求头相关信息l用户相关数据信息s请求资源s提交的数据l其它s获得session对象:request.getSession()-HttpSessions获得请求分派对象:RequestDispatchersrequest作用域srequest.setCharacterEncoding(”gb2312”);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletRequest类(2/5)n获得http请求头相关信息lgetHeader(String)
27、:获得给定名的头信息lgetHeaderNames:获得请求所包含的所有头名lgetMethod():获得请求的方法lgetCookies():获得cookie信息 示例示例(显示当前所有请求的头名及头信息显示当前所有请求的头名及头信息):Enumeration headerNames = request.getHeaderNames();while(headerNames.hasMoreElements() String headerName = (String) headerNames.nextElement(); out.println(headerName+=); out.printl
28、n(request.getHeader(headerName); out.println();第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletRequest类(3/5)n获得用户相关数据信息:示例:示例:http:/localhost:8080/demo/login.jsp?name=tom&age=18httprequest. getScheme()Localhostrequest.getServerName()8080 request.getServerPort()/demorequest.getContextPath()/login.
29、jsprequest.getServletPath();/demo/login.jsprequest.getRequesURI() http:/localhost:8080/demo/login.jsprequest.getRequestURL() name=tom&age=18request.getQueryString() 第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletRequest类(4/5)n获得用户数据信息lrequest.getParameter(“name”);/获得名为”name”的参数值lrequest.getParam
30、eterValues(“name”);/获得同名name的一组参数值,返回类型是String姓名:受好:听音乐 看电影 玩游戏 上网聊天 在loginAction中:request.getParameter(“name”);/获得用户输入的姓名request.getParameterValues(“favor”);/获得用户选择的所有受好第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletRequest类(5/5)n获得用户提交数据,其它相关方法lgetParameterMap()-MaplgetParameterNames()-Enumeration
31、n获得body中的数据lgetReader()-BufferReader,作为字符数据lgetInputStream-ServletInputStream,作为二进制数据n获得请求分派对象lrquest.getRequestDispatcher(String)-RequestDispatcher第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(1/8)n通过HttpServletResponse设定Http响应l设置响应状态l设置响应头l响应文本s首先设置响应头sresponse.setContentType(text/html;
32、charset=GBK);s获得输出对象s文本:PrintWriter out = response.getWriter();s二进制:ServletOutputStream out = response.getOutPutStream()s构造输出内容:out.println(“”)s提交输出: out.flush()s关闭out.close()第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(2/8)n构造响应示例在doGet(doPost)方法中:response.setContentType(“text/html; char
33、set=GBK ”);/1设置响应头PrintWriter out = response.getWriter();/2.获得输出对象out.println(“”);/3.构造输出out.println( A Servlet);out.println( );out.print( Hello World! );out.println(, 欢迎你);out.println( );out.println();out.flush();/4.向容器提交输出out.close();/5.关闭输出流第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(
34、3/8)nHttp状态码:用于服务器将请求的状态传送给客户机l100-199: 临时状态码l200-299: 请求成功l300-399:重定向l400-499:客户端错误l500-599:服务器端错误n设置状态码的方法:lsetStatus(int sc)nHttpServletResponse中静态变量定义Http状态码:lSC_OK 200lSC_MOVED_TEMPORARILY 302 lSC_NOT_FOUND 404lSC_INTERNAL_SERVER_ERROR500第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(
35、4/8)n设置状态码lresponse.setStatus(int. String)l发送错误消息sresponse.sendError(int,String)sresponse.sendError(HttpServletResponse.SC_NOT_FOUND,”你所要查找的网页不存在!”)第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(5/8)n设置响应头:setHeader(“name”,value);n常见响应报头lContent-Type:定义响应文档的MIME(Multipurpose Internet Mail E
36、xtension)类型,由maintype/subtype组成l有专门的方法设置该响应头:setContentTyperesponse.setContentType(“text/html; charset=GBK ”);/最常见形式response.setContenType(“application/vnd.ms-excel”);/excel文档response.setHeader(Content-Type, application/vnd.ms-excel; charset=GBK);response.setContenType(“image/jpeg”);/图形图像第第3章章 Servl
37、et编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(6/8) n使用servlet生成jpeg图像关键代码response.setContentType(“image/jpeg”);/1.设定响应的文档是图像/生成JPEG图像int width=60, height=20;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);/2.创建BufferedImage对象Graphics g = image.getGraphics();/3.获得图形对
38、象/4.使用g上的相关方法生成图形/5.输出图象到页面 ImageIO.write(image, JPEG, response.getOutputStream();第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(7/8)n重定向l方法一:s设置状态码,如302s设置响应头:locationl方法二:ssendRedirectl示例response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);response.setHeader(Location,http:/);respo
39、nse.sendRedirect(http:/);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院HttpServletResponse(8/8)n告诉浏览器不要缓存页面response.setHeader(“Cache-control”,”no-cache”);response.setHeader(“pragma”,”no-cache”);n页面定时重新刷新response.setIntHeader(“Refresh”,10);response.setHeader(“Refresh”,” 10 ,url=http:/”);第第3章章 Servlet编程技术编程技术 广
40、东技术师范学院-计算机学院RequestDispatcher(1/3)nRequestDispatcher接口n两种方式获得RequestDispatcher对象include(ServletRequest,ServletResponse)forward(ServletRequest,ServletResponse)RequestDispatcher dispatcher = request.getRequestDispatcher(URL);RequestDispatcher dispacher=getServletConfig().getServletContext().getReques
41、tDispatcher(URL);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院RequestDispatcher(2/3)ninclude示例示例,在ServletA中包含HeaderServlet与FooterServlet在ServletA的doGet(doPost)方法中:ServletContext context = getServletContext();RequestDispatcher rd = context. getRequestDispatcher(/servlet/HeaderServlet);/包含头部rd.include(request,
42、response);out.println(“in servletA”);/包含尾部RequestDispatcher rd1 = context. getRequestDispatcher(/servlet/FooterServlet);rd1.include(request,response);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院RequestDispatcher(3/3)nforward示例:在ServletAction中根据处理结果将请求转发至成功页面或失败页面在ServletAction的doGet(doPost)方法中:ServletContex
43、t context = getServletContext();RequestDispatcher rd = null;/进行处理If(ok) rd = context. getRequestDispatcher(/success.jsp);else rd = context. getRequestDispatcher(/fail.jsp);rd.forward(request,response);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(1/8)nHTTP 协议特点:无状态无状态协议l每个客户端请求,对服务器而言都是新的l服务器不记住
44、客户端的任何信息l这样的协议适用于在web上快速获取信息,同时,HTTP协议不支持维护客户机状态n在线购物特点:服务器应能识别出每个客户的不同的购物车n会话:l会话会话是在指定阶段来自同一客户的一系列的HTTP请求l会话跟踪:将一个请求与会话关联的过程n会话管理:对容器要求l识别来自同一客户的请求l维护每个客户的状态第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(2/8)n会话应用l交互式应用程序s在线购物lWeb 应用程序的个性化s个性化是指应用程序能区别对待不同的客户第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院
45、会话HttpSession(3/8)n一般原理l会话唯一标识:sessionIDn常用技术lCookiel隐藏表单域lurl重写http:/localhost:8080/myapp/ServletA?sessionID=.n使用session进行会话管理第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(4/8)n通过request对象获取Session对象HttpSession session = request.getSession();容器:1、Servlet通知容器,它需要Session对象;2、容器创建sessionID,它是客户这次会
46、话的唯一标识;3、容器创建HttpSession对象,Servlet获得这个对象第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(5/8)n会话超时阶段l来自参与会话的客户机的两个连续请求之间的最长允许空闲时间称为会话超时阶段10session.setMaxInactiveInterval(10);第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(6/8)客户机客户机请求请求 2 (SessionId=123456)Session Id=123456请求请求 3 (SessionId=12345
47、6)Web 容器容器由容器生成的由容器生成的 Session Id=123456。Web 服务器服务器ValidatorServlet调用方法 getSession()请求请求 1(UserName, Password)第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(7/8)nSession接口setAttribute(String, Object)getAttribute(String)getID();getMaxInactiveInterval()setMaxInactiveInterval(int)isNew() invalidate() getAttributeNames() -Enumeration removeAttribute(String name)第第3章章 Servlet编程技术编程技术 广东技术师范学院-计算机学院会话HttpSession(8/8)nSession示例:登录/在LoginAction中:/根据用户名与密码,查找用户是否合法if(合法) User user = ; HttpSession session = request
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江国企招聘2025温州机场集团招聘31人笔试参考题库附带答案详解
- 保山职业学院《材料测试与研究方法》2023-2024学年第二学期期末试卷
- 江西冶金职业技术学院《社会医学与卫生事业管理》2023-2024学年第二学期期末试卷
- 深圳大学《数字系统设计基础》2023-2024学年第二学期期末试卷
- 湖北三峡职业技术学院《数字媒体艺术创作》2023-2024学年第二学期期末试卷
- 洛阳理工学院《微机原理及单片机应用技术》2023-2024学年第二学期期末试卷
- 四川美术学院《专题地图设计与编绘实验》2023-2024学年第二学期期末试卷
- 内蒙古体育职业学院《生活中的生物学》2023-2024学年第二学期期末试卷
- 青岛远洋船员职业学院《物流系统规划与设计》2023-2024学年第二学期期末试卷
- 北华航天工业学院《管理会计模拟实训》2023-2024学年第二学期期末试卷
- 情侣协议书电子版简单模板
- 广东省惠州市2025届高三数学第一次调研考试试题
- 英语话中国智慧树知到答案2024年吉林大学
- 沪教版数学三年级下册三位数乘两位数竖式计算题100道及答案
- 山东省2025届高三第二次模拟考试历史试卷含解析
- DL∕Z 860.1-2018 电力自动化通信网络和系统 第1部分:概论
- 2022版义务教育语文课程标准考试测试卷及答案(共三套)
- 2024年04月南昌市2024年第二次招考120名市级专职留置看护队员笔试笔试历年典型考题及考点研判与答案解析
- 康养旅游项目策划方案毕业设计(2篇)
- 《陆上风电场工程概算定额》NBT 31010-2019
- 《论语》全文原文版
评论
0/150
提交评论