1 / 16

本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

声明. 本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。. J2EE 教程 第 2 章 使用 J2EE ( What is Servlet and JSP?). 北航计算机学院 linxl@buaa.edu.cn 2006 年 2 月 1 日. 内容列表. 2.1 网络客户端及组件 2.2 Java Servlet 技术 2.3 JSP 技术. 2.1 网络客户端及组件.

umay
Download Presentation

本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 声明 • 本课件仅用于北京航空航天大学计算机学院的教学; • 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

  2. J2EE教程第2章 使用J2EE(What is Servlet and JSP?) 北航计算机学院 linxl@buaa.edu.cn 2006年 2 月 1 日

  3. 内容列表 • 2.1 网络客户端及组件 • 2.2 Java Servlet技术 • 2.3 JSP技术

  4. 2.1 网络客户端及组件 • 当基于浏览器的网络客户端与J2EE应用程序通信时,它是通过服务方的称为网络组件的对象实现的。 • 有两种类型的网络组件:Java Servlet和JSP • Servlet是Java编程语言的类,它能够动态处理请求并响应 • JSP页面是基于文本的能作为Servlet运行,但它能够以更自然的方式创建动态内容

  5. 2.2 Java Servlet技术 • 公共网关接口(CGI)脚本是产生动态内容的主要的技术。 • 尽管被广泛的应用,CGI脚本有着许多缺点,如平台相关性,缺乏可升级性。 • 为克服这些缺点,Java servlet技术作为一种以简单的方式提供动态的,面向用户的技术诞生了。

  6. Servlet程序 • Servlet是java语言类,用来拓展通过请求响应模式的服务端的能力。 • 所有的servlets都必须实现javax.servlet.Servlet接口,它定义了生命周期方法。 • servlet编写者可以通过直接实现javax.servlet.Servlet开发servlet

  7. 实际上,大多数servlet是针对用HTTP协议的web服务器, 这样最通用开发servlet办法是继承 javax.servlet.http.HttpServlet,实现具体的servlet • HttpServlet类提供了一些方法,如doGet及doPost,用来处理特定的http服务 • abstract classHttpServlet extends GenericServlet • abstract class GenericServlet implements Servlet • 例子:GreetingServlet.java

  8. 创建WAR • 网络客户端被打包到WAR文件中 • 一个WAR通常包含以下文件: • 服务端的工具类(数据Bean,购物车等),这些类遵守JavaBean组件结构; • 静态网页内容(HTML,image,sound files,etc.) • 客户端类(applets和帮助类)。 • <My Servlet>.war • web.xml: 网络应用部署符; • 类:servlet,帮助类及JavaBean组件等服务方类 • 库:包含JAR库的一个目录。

  9. 部署WAR • 将WAR文件拷贝到JBoss的部署目录下,完成部署

  10. 访问Servlet • 通过浏览器访问

  11. Servlet的生命周期 • 当一个请求映射到相应的servlet时,容器产生下面的步骤: • 1.如果servlet的实例不存在,容器会 • 载入servlet类 • 创建一个servlet实例 • 通过调用init方法初始化servlet实例 • 2.调用service方法 • 如果容器需要删除servlet,可以通过调用destroy方法删除之。

  12. 2.3 JSP技术 • JSP技术设计了所有Java Servlet技术的动态能力而且还提供了更自然的途径创建静态内容 • JSP是基于servlet的一种技术,使用它可以在html中嵌入java代码 • JSP主要特点如下: • 有专门的语言开发jsp页面,这些都是基于文本的来描述如何处理请求及产生响应。 • 为访问服务端对象进行构造。 • 有定义扩展语言的机制。

  13. <%@ page import=”java.util.*,MyLocales” %> <%@ page contentType=”text/html;charset=ISO8859_1” %> <html> <head><title>Localized Dates</title></head> <body bgcolor=”white”> <jsp:userBean id=”locales” scope=”application” class=”MyLocales”/> <form name=”localeForm” action=”index.jsp” method=”post”> <b>Locale:</b> <select name=locale> <% String selectedLocale=request.getParameter(“locale”); Iterator I=locales.getLocaleNames().iterator(); //本段的其余代码略 %> </selected> <input type=”submit” name=”submit” value=”Get Date”> </form> <jsp:include page=”date.jsp”/> </body> </html> • VS:GreetingServlet.java

  14. JSP vs Servlet • servlet • Servlet是实现javax.servlet.Servlet接口的Java类 • Servlets类似Java程序 • JSP • JSP的优点是以文档为中心 • JSP页面混合了HTML, Java scripts, JSP元素, and JSP指令 • JSP中的元素由JSP引擎编译成servlet.

  15. 一个JSP页面的服务请求是作为servlet来执行的。这样,JSP页面的生命周期及各种能力就取决于servlet技术。一个JSP页面的服务请求是作为servlet来执行的。这样,JSP页面的生命周期及各种能力就取决于servlet技术。 • 当一个请求映射到一个Jsp页面时,由一个特殊的servlet来处理,该servlet首先检查一下对应的JSP页面有没有改动,如果有变动则将该JSP页面转换为servlet类并编译这个类 • 例子:Helloworld

  16. 生命周期 • 一旦页面被解释并执行,JSP页面的servlet的生命周期大部分与servlet类似: • 如果JSP页面的servlet实例不存在,容器将: • 载入JSP的servlet class • 实例化一个servlet class • 通过调用jspInit 方法实例化servlet • 调用_jspService方法,传递请求及响应对象。 • 如果容器需要移除JSP页面的servlet,就调用jspDestroy方法。

More Related