您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > servlet--jsp基础
第四章Servlet使用入门2目标理解HTTPServlet基础知识使用ServletAPI理解Servlet的生命周期使用JBuilder2005演示Servlet3什么是Servlet?请求客户端响应Servlet运行于服务器上Servlet(java服务器小程序)是一个用Java编写的程序,此程序在服务器上运行以处理客户端请求。是按照Servlet规范编写的java类4ServletAPIServlet的框架是由两个java包组成:javax.servlet和javax.servlet.httpjavax.servlet包中定义了所有的servlet类都必须实现的接口和类。javax.servlet.http包中定义了采用HTTP协议通信的HttpServlet类Servlet的框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.5ServletAPI6HTTPServlet基础知识HttpServlet类提供一个抽象类以创建HTTPServletpublicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)doGet()方法处理客户端作出的GET请求。publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)doPost()方法处理客户端作出的POST请求。7HTTPServlet基础知识有两个参数:HttpServletRequest和HttpServletResponse,这两个类实现了ServletRequest接口和ServletResponse接口ServletRequest接口中封装了客户请求信息.如客户请求方式,参数名,参数值,客户端正在使用的协议,以及发出客户请求的远程主机信息等ServletResponse接口为Servlet提供了返回相应结果的方法8javax.servlet包2-1ServletConfig接口在初始化的过程中由Servlet容器使用ServletContext接口定义Servlet用于获取来自其容器的信息的方法ServletRequest接口向服务器请求信息ServletResponse接口响应客户端请求javax.servlet包的接口为:9javax.servlet包2-2ServletInputStream类用于从客户端读取二进制数据ServletOutputStream类用于将二进制数据发送到客户端javax.servlet包的类为:10javax.servlet.http包HttpServletRequest接口提供HTTP请求信息HttpServletResponse接口提供HTTP响应javax.servlet.http包的接口为:11Servlet实现:Servlet接口init方法servlet客户客户请求响应请求响应service方法:客户请求和响应调用该方法servlet实例化调用init方法内存释放内存关闭服务器释放内存、关闭Web服务器调用destroy方法12Servlet实现:Servlet接口(续)Servlet实例化调用init(ServletConfigconfig)方法把“配置”信息放在ServletConfig的对象中getServletConfig方法返回13Servlet实现:GenericServlet类和HttpServlet类abstractGenericServletpublicabstractservice(request,response)HttpServletprotectedvoidservice(request,response)publicvoidservice(request,response)protectedvoiddoGet(request,response)protectedvoiddoPost(request,response)继承我们自己编写的servlet要继承HttpServlet,一般要覆盖doPost或者doGet方法。HttpServlet类的doGet方法用于接收Get请求,doPost方法用于接收Post请求。14Servlet体系结构用户自定义的ServletGenericServletHttpServletServlet15Servlet实现:GenericServlet类和HttpServlet类(续)servlet收到一个请求调用public的service()方法把参数分别转换为HttpServletRequest和HttpServletResponse这个public的service()方法调用protected的service()方法根据HTTP请求方法的类型,protected的service()调用doXXX()方法之一16Servlet的生命周期2-1Servlet容器创建Servlet的一个实例Servlet的生命周期就是指创建Servlet实例之后其存在的时间以及何时消失生命周期的3个方法为:init()service()destroy()1718init()仅在Servlet初次载入时调用一次,不是每次请求都要调用service()在新线程中服务器为每个请求而调用,发送到doGet\doPost方法,不要覆盖这个方法doGet()doPost()doXXX处理Get\Post等请求,覆盖这个方法以得到期望的行为destroy()在删除Servlet实例时使用,不是每次请求结束都调用19Servlet的生命周期2-2生命周期的各个阶段为:实例化Servlet容器创建Servlet的实例初始化该容器调用init()方法服务如果请求Servlet,则容器调用service()方法销毁实例之前调用destroy()方法销毁不可用销毁实例并标记为垃圾收集20HelloWordServlet编写一个HelloWordServlet类21部署HelloWorldServlet在web.xml中部署Servlet后才能够使用Servlet22简单Servlet的结构这是一个显示HttpServletRequest和HttpServetResponse接口一些方法的简单Servlet演示:示例1importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassClientServletextendsHttpServlet{protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{response.setContentType(“text/html;charset=GBK”);PrintWriterout=response.getWriter();out.println(“htmlbody您好!/body/html”);}}需要导入的包用于处理GET请求的方法创建设置文本格式和PrintWriter对象的方法以将数据发送给客户端23Servlet的部署servletservlet-nameclientservlet/servlet-nameservlet-classchapter2.ClientServlet/servlet-class/servletservlet-mappingservlet-nameclientservlet/servlet-nameurl-pattern/clientservlet/url-pattern/servlet-mappingweb.xml文件中配置Servlet两个名称必须相同24开发ServletJBuilder提供最新的功能以开发Web应用程序JBuilder是基于Java的应用程序,用于开发应用程序(如Applet、Servlet、JSP和JavaBean)JBuilder工程是一个组织单元,它存储特定Web应用程序的所有文件、目录、路径和设置JBuilder使用户可以创建三种类型的Servlet,即标准Servlet、监听器Servlet和过滤器Servlet在开发Servlet之前,有必要为此Servlet开发一个Web模块Web模块包含一个名为web.xml的文件,该文件存储正在开发的Web应用程序的内容25新建工程对于一个具体的Web应用,必须:首先创建一个工程然后在工程下创建Web模块在工程中开发Java程序在Web模块下开发Servlet,Jsp,HTML等选择“NewProject”进入新建工程向导演示:新建工程26测试一个servlet单击“Servlet”进入新建servlet向导单击“OK”进入下一步272829单击“next”进入下一步3031单击“finish”结束323334小结2-1Servlet运行于服务器上,它接受请求并用请求的数据响应客户端HTTP是一个广泛使用的协议,用于在客户端和服务器之间传输数据Servlet广泛使用HTTP协议,因此称为HTTPServletHTTPServlet发送HTTP请求并接收HTTP响应ServletAPI包含在两个包中,即javax.servlet和javax.servlet.http中35小结2-2Servlet的生命周期包含三种方法,分别是init()、service()和destroy()Servlet既可以扩展GenericServlet类,也可以扩展HttpServlet类JBuilder是用于开发Web应用程序(如Servlet、Applet和JSP)的一种非常有用的软件JBuilder提供三种类型的Servlet,即标准Servlet、监听器Servlet和过滤器Servlet36需掌握内容Servlet基本结构生成纯文本的Servlet生成HTML的ServletServlet和包协助构建HTML的工具EditplusServlet的生命周期Servlet程序调试示例37importjavax.servlet.*;importjavax.servlet.http.*;importjava.io.*;publicclassFirstServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{PrintWriterout=resp.getWriter();out.println(thisismyfirstservlet);}}生成纯文本的Servlet程序FirstServlet.java38生成HTML的Servlet程序FirstServlet.javaimportjavax.servlet.*;importjavax.servlet.http.*;importjava.io.*;publicclassFirstServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{PrintWriterout=resp.getWriter();out.println(htmlbody);out.println(thisismyfirstservlet);out.println(/bod
本文标题:servlet--jsp基础
链接地址:https://www.777doc.com/doc-4356968 .html