《【教学课件】第5章Servlet编程技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第5章Servlet编程技术.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5章章 Servlet编程技术编程技术内容提要n本章主要介绍本章主要介绍Servlet编程技术编程技术n介绍了介绍了Servlet与与JSP的关系的关系nServlet的生命周期的生命周期nServlet的的运运行行环环境境以以及及Servlet的的体体系系结构。结构。n着着重重介介绍绍了了Servlet的的配配置置与与执执行行以以及及如如何使用何使用Web程序和程序和Servlet进行交互。进行交互。Servlet简介 nServlet是服务器端的Java小程序。用于响应客户机的请求。n在默认情况下,Servlet采用一种无状态的请求-响应处理方式。Servlet代码的主要作用是为了增强
2、Java服务器端功能。Servlet概念 nServlet是一个标准的Java类,它符合Java类的一般规则。n和一般Java类不同之处就在于Servlet可以处理HTTP请求。在Servlet API中提供了大量的方法,可以在Servlet中调用。Servlet与JSP的关系 nJSP是以另外一种方式实现的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。n因此,当编写的页面显示效果比较复杂时,首选是JSP。或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而我们在处理业务逻
3、辑时,首选则是Servlet。n同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。Servlet的生命周期 nServlet运行机制和Applet类似,Servlet是载服务器端运行的,但是Applet是在客户端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。nServlet的生命周期主要由3个过程组成。n1、init()方法:服务器初始化Servlet。n2、service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。n
4、3、destroy()方法:调用该方法消灭Servlet对象。n其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。Servlet的运行环境 n调用并运行一个Servlet首先需要简单的配置,一般首先用Java编译器将Servlet文件编译成Class文件n然后将Class文件放到Web服务器中,最后设置Servlet的调用路径 编译 案例名称:简单的案例名称:简单的Servelet程序名称:程序名称:j5_01.javaimport java.io.*;
5、import javax.servlet.*;import.*;public class j5_01 extends HttpServlet public void init(ServletConfig config)throws ServletException super.init(config);public void service(HttpServletRequest reqest,HttpServletResponse response)throws IOException PrintWriter out=response.getWriter();response.setConte
6、ntType(text/html;charset=GB2312);/设置响应的类型。out.println();out.println(Simple servlet);out.println();编译设置存放目录 n将j5_01.class文件拷贝到ROOT/WEB-INF/classes目录下,然后编辑ROOT/WEB-INF下的web.xml文件,在结束标记前面添加语句如程序web.xml文件所示 案例名称:案例名称:Web配置文件配置文件程序名称:节选自程序名称:节选自web.xml文件文件 Hello j5_01 Hello /test 运行Servlet n修改完毕,在浏览器中输入,
7、“http:/localhost:8090/test”,Servlet体系结构 nServlet是创建Web应用程序的基本块。Servlet提供了一种通用的程序设计模块。nServlet API包含两个包:javax.servlet和包。其中javax.servlet包有两个子包用于JSP页面()和JSP定制标记()。Java Servlet API概述 nServlet API在两个Java扩展包中定义:javax.servlet和包。n这两个包中,javax.servlet包中定义的类和接口是独立于协议的;而中包含了具体于HTTP协议的类和接口。包中的某些类或接口继承了某些javax.se
8、rvlet包中的类或接口。Servlet API接口 目的类、接口Servlet实现javax.servlet.Servlet,javax.servlet.SingleThreadModel javax.servlet.GenericServlet,javax.servlet.http.HttpServletServlet配置javax.servlet.ServletConfigServlet异常javax.servlet.ServletException,javax.servlet.UnavailableException请求和应答javax.servlet.ServletRequest,j
9、avax.servlet.ServletResponsejavax.servlet.ServletInputStream,javax.servlet.ServletOutputStreamjavax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse会话跟踪javax.servlet.http.HttpSession,javax.servlet.http.HttpSessionBindingListenerjavax.servlet.http.HttpSessionBindingEventServlet上
10、下文javax.servlet.ServletContextServlet协作javax.servlet.RequestDispatcher其他javax.servlet.http.Cookie,javax.servlet.http.HttpUtilsGenericServlet类和HttpServlet类 nGenericServlet类提供了Servlet接口的基本的实现,GenericServlet类中的service()方法是抽象方法,所有子类都应当实现这个方法。nHttpServlet类扩展了GenericServlet,并且提供了Servlet接口中具体于HTTP的实现。一般用户自
11、定义的Servlet都要扩展该类。这个类定义了如下的方法:doGet和doPost方法 ndoGet和doPost方法分别对应Form表单的属性method属性,method属性有两种Get和Post。n利用Get方法提交的总数据量不能超过2K,否则将提交失败,利用Post方法则没有容量方面的限制 使用使用doGet和和doPost方法方法 案例名称:使用案例名称:使用doGet和和doPost方法方法程序名称:程序名称:j5_02.htm范例名称:使用范例名称:使用Servlet和和Web页面交互页面交互文件名称:文件名称:j5_03.java案例名称:案例名称:Web配置文件配置文件程序名
12、称:节选自程序名称:节选自web.xml文件文件 JSP-Servlet页面调用 案例名称:案例名称:JSP-Servlet页面调用页面调用程序名称:程序名称:servletToJsp.java案例名称:案例名称:Web配置文件配置文件程序名称:节选自程序名称:节选自web.xml文件文件案例名称:案例名称:JSP-Servlet页面调用页面调用程序名称:程序名称:hello.jsp小结n本章主要介绍本章主要介绍Servlet编程技术编程技术n介绍了介绍了Servlet与与JSP的关系的关系nServlet的生命周期的生命周期nServlet的的运运行行环环境境以以及及Servlet的的体体系
13、系结构。结构。n着着重重介介绍绍了了Servlet的的配配置置与与执执行行以以及及如如何使用何使用Web程序和程序和Servlet进行交互。进行交互。本章习题n5-1.简述简述Servlet和和JSP的关系。的关系。n5-2.简述简述Servlet的生命周期。(企业笔试题)的生命周期。(企业笔试题)n5-3.简述简述HttpSession接口的功能和使用方法。(企接口的功能和使用方法。(企业笔试题)业笔试题)n5-4.完成完成Servlet的编译、配置和运行。(上机完成)的编译、配置和运行。(上机完成)n5-5.编写一个编写一个HTML文件,利用文件,利用Servelt的的doPost方方法实现法实现Form表单内容的读取。(上机完成)(企业笔表单内容的读取。(上机完成)(企业笔试题)试题)n5-6.图示运行图示运行Servlet的目录结构。(企业笔试题)的目录结构。(企业笔试题)